コンテンツ
チームが本当に読む日次AIニュースダイジェストを作る
出典付きのニュースまとめを取り、X の実務者の議論を加え、動画の文字起こしを1本取得し、Markdown で号を構成して LiveDoc に保存します。
プロンプトをコピー
角括弧の項目を置き換えて、Claude Code、Codex、ターミナルにアクセスできる AI に貼り付けてください。Felo スキルをインストールし、クレジットを使う前に確認し、ワークフローを実行します。
[業界またはトピック] の日次インダストリーブリーフを作成してください。 期間: 過去24時間、タイムゾーン [タイムゾーン]。読者: [読者]。 ウォッチリスト(任意): X [アカウントまたはトピック]、YouTube [チャンネル]、Reddit [コミュニティ]。 重要な項目を5〜8個選んでください。各項目について、何が起きたか、なぜ重要か、出典リンク、それが発表・結果・意見のどれかを書いてください。 セクション: 1. トップストーリー。 2. 5〜8個の項目(それぞれに出典リンク)。 3. X で人々が何を言っているか(アカウントと日付付き)。 4. タイムスタンプ付きの動画引用を1つ。 5. 次に注目すべきこと。 ルール: - すべての項目にリンクを付けてください。重複報道はまとめ、最良の出典を残してください。 - 発表と独立した結果を分け、ベンダーの主張にはラベルを付けてください。 - 出典が返した数値だけを報告してください。データがない場合は「該当データなし」と書き、ゼロとは書かないでください。 - 重要な出来事がなかった場合は、無理に埋めずにその旨を書いてください。 - クレジットを消費する前に、実行予定の API 呼び出しを示して私の承認を待ってください。 - 予約、公開、送信はしないでください。 - 結果を ./daily-brief.md に書き、チャットで要約してください。
コピー内容にはインストール手順と安全ルールも含まれます。
完成するもの
実行時の出力例です。リアルタイム生成ではありません。
AI 業界ブリーフ — 2026-10-30
トップストーリー
大手ラボが、フラッグシップと同じベンチマークスコアでツール利用可能な小さいモデルを公開。ベンダーの主張で、独立した結果はまだ出ていない。
項目
- 小さいモデル、同じベンチマーク — ベンダーのベンチマークで、まだ再現されていない。[出典]
- エージェントフレームワークのリリース — 新しいトレーシングとリトライ制御。[出典]
人々の反応
@example_dev:「勝ちはスコアではなくレイテンシ」 — 2026-10-30 08:12 JST
動画の引用1つ
「トークンを測るのをやめ、解決チケットを測り始めた」 — [12:40]
次に注目すること
ツール利用の独立評価と、ローンチ週後も価格が維持されるか。
実際の呼び出し
開発者向け:同じワークフローを実行順に並べたコピー可能なコード。
実際の API 呼び出しを表示
出典付きのニュースまとめを作る
Chat で過去24時間のAIニュースを聞き、引用元と日付を残します。
digest.ts const BASE = "https://openapi.felo.ai"; const headers = { Authorization: `Bearer ${process.env.FELO_API_KEY}`, "Content-Type": "application/json", }; async function felo<T>(path: string, body?: unknown): Promise<T> { const res = await fetch(`${BASE}${path}`, { method: body ? "POST" : "GET", headers, body: body ? JSON.stringify(body) : undefined, }); if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`); return res.json() as Promise<T>; } type ChatData = { data: { answer: string; resources: { link: string; title: string; snippet: string }[]; }; }; const roundup = await felo<ChatData>("/v2/chat", { query: "Biggest AI news stories in the last 24 hours", }); const sources = roundup.data.resources.slice(0, 5);出力例
{ "answer": "The main stories today are …", "sources": [ { "link": "https://example.com/story", "title": "…", "snippet": "…" } ] }実務者の議論を加える
X で同じ話題を検索し、アカウントと日付付きの実務者投稿を集めます。
digest.ts type XData = { data: { tweets: { content: string; author: { username: string }; created_at: string; metrics: { retweet_count: number; favorite_count: number }; }[]; next_cursor: string | null; has_next: boolean; }; }; const since = Math.floor((Date.now() - 24 * 60 * 60 * 1000) / 1000); const social = await felo<XData>("/v2/x/tweet/search", { query: "AI agents", limit: 20, since_time: since, }); const posts = social.data.tweets .filter((tweet) => tweet.metrics.favorite_count >= 50) .slice(0, 3);出力例
{ "data": { "tweets": [ { "content": "…", "author": { "username": "…" }, "created_at": "2026-10-29T02:14:00Z", "metrics": { "retweet_count": 12, "favorite_count": 180 } } ] } }動画の文字起こしを1本取る
YouTube Subtitling で関連動画の文字起こしを取得し、タイムスタンプ付きの引用を1つ選びます。
digest.ts type SubtitleData = { data: { title: string; contents: { text: string; start: number; duration: number }[]; }; }; const videoCode = "dQw4w9WgXcQ"; // replace with today's video id const video = await felo<SubtitleData>( `/v2/youtube/subtitling?video_code=${videoCode}&language=en&with_time=true`, ); const transcript = video.data.contents.map((line) => line.text).join(" ");出力例
{ "title": "Example Video Title", "contents": [ { "text": "Subtitle text", "start": 0.32, "duration": 14.26 } ] }Markdown ダイジェストを書く
「主要ニュース / 実務者の反応 / 動画の引用 / 次に注目すること」で構成します。
digest.ts const date = new Date().toISOString().slice(0, 10); const issue = [ `# AI digest — ${date}`, "", "## The roundup", roundup.data.answer, "", "## What practitioners are posting", ...posts.map((post) => `- @${post.author.username}: ${post.content}`), "", "## From the video", transcript.slice(0, 1200), "", "## Sources", ...sources.map((source) => `- [${source.title}](${source.link})`), ].join("\n"); console.log(issue);LiveDoc にアーカイブする
今号と出典を LiveDoc に保存し、次の号で過去を検索できるようにします。
digest.ts type LiveDocData = { data: { short_id: string } }; const archive = await felo<LiveDocData>("/v2/livedocs", { name: "AI digest archive", description: "One document resource per daily issue", }); await felo(`/v2/livedocs/${archive.data.short_id}/resources/doc`, { title: `AI digest — ${date}`, content: issue, }); type Retrieved = { data: { title: string; content: string; score: number }[] }; const past = await felo<Retrieved>( `/v2/livedocs/${archive.data.short_id}/resources/retrieve`, { query: "what did we say about agent frameworks last month" }, ).then((res) => res.data.filter((hit) => hit.score >= 0.7));出力例
[ { "title": "AI digest — 2026-10-01", "content": "…", "score": 0.88 } ]
含まれるもの
- 出典付きのニュースまとめとリンク
- ハンドルと日付付きの X 実務者議論
- タイムスタンプ付きの動画引用
- 保存され、セマンティック検索できる LiveDoc
やらないこと
- 公開ソースのみ。ペイウォールの内容は欠けることがある
- X はシグナルであり、完全な世論調査ではない
- ダイジェストの自動公開や送信はしない
- 動画には既存の字幕が必要
- 1日1回実行。スケジュールは agent か cron が担当
よくある質問
出典は信頼できますか?
各ニュースには出典リンクと公開日が付きます。X 投稿にはアカウントとタイムスタンプも付きます。未検証の内容を事実として書きません。
別の業界に変えられますか?
はい。トピックのプレースホルダーを自分の業界に変え、出典と X の検索語を調整します。
なぜ動画が必要ですか?
タイムスタンプ付きの実務者視点を1つ入れることで、見出しだけではないダイジェストになります。字幕のない動画はスキップします。
Slack に自動投稿しますか?
いいえ。Markdown ファイルを生成するだけです。送信は自分の連携で行ってください。
過去号を保存できますか?
はい。LiveDoc に毎号が残り、数週間前の報道を検索できます。
1回の費用は?
Chat、X 検索、動画の文字起こしは従量制クレジットです。現在の料金は料金ページにあり、プロンプトは使う前に確認を求めます。
関連ワークフロー
1つの問いを、出典付きリサーチブリーフに変える
Web に問いを投げ、回答の根拠ページを Markdown で取得し、X の実務者の声を加え、最後に証拠をあとから検索できる LiveDoc に残します。
ワークフローを開くコンテンツYouTube 動画を公開できる記事に変える
タイムスタンプ付きの文字起こしを取得し、読みやすいブロックに整え、自分で管理するモデルで構成と下書きを作り、レビュー用に LiveDoc へ残します。
ワークフローを開くオフィスリサーチページをスライド資料に変える
ページを抽出し、LiveDoc の文脈として保存し、PPT Task API に deck を作らせ、完成したリンクが出るまでポーリングします。
ワークフローを開く自分の形に変える
同じレシピを、実際の進め方に合わせて調整します。
1つの分野だけ
AI コーディング、AI 動画、AI 検索などに絞ると、より的確になります。
「今週の変化」を加える
前号を LiveDoc から検索し、今週追加された内容と比較します。
週次レポートにする
スケジュールを週1回に変え、毎日の情報ノイズを減らします。
さらに進む
このレシピの背景にあるリファレンスと、次に見るべきページ。