tech-news-report-skill
目的
生成AI、クラウド、FinOps、開発ツール、インフラ、セキュリティ、周辺エコシステムの変化をRSS中心に調査し、日本語の技術ニュースレポートを作成する。レポートには「本日の主要ニュース」「おすすめの技術記事」「おすすめのポッドキャスト」を含める。
フィード台帳
RSSフィードの正本は references/rss.txt。SKILL.md にはURL一覧を重複管理しない。
references/rss.txt の見出しは情報源のジャンルを表す。ニュース本文の技術領域ではない。
- 公式ベンダー・クラウド / AI
- 国内企業 技術ブログ
- 海外企業 技術ブログ
- 開発者コミュニティ・キュレーション
- 国内ニュースメディア・専門媒体
- 海外ニュースメディア
- 個人・専門ブログ
- イベント・勉強会
- ポッドキャスト
フィードを追加・移動するときは、記事トピックではなく発信元の性質で分類する。例えば、AI記事を掲載した国内企業ブログは「国内企業 技術ブログ」に置き、OpenAIやAWSの公式発表は「公式ベンダー・クラウド / AI」に置く。
ニュース取得
ニュースの取得には mcp_rss_get_feed ツール(rss MCPサーバー)を使う。MCPツール名を完全修飾できる環境では rss:mcp_rss_get_feed として参照する。curl・wget は使わない。
references/rss.txtを読み、依頼の焦点に合う情報源ジャンルを選ぶ。- 主要ニュースは公式ベンダー・クラウド / AI、国内外ニュースメディア、影響の大きい企業ブログを優先する。
- 技術記事は国内外企業技術ブログ、開発者コミュニティ、個人・専門ブログから実務に役立つものを選ぶ。
- ポッドキャストは「ポッドキャスト」ジャンルから、技術トピックが明確で学びがある回を選ぶ。
- 背景や市場反応を補う場合はニュースメディア、コミュニティ、ポッドキャストを補助的に使う。
- 一度に複数フィードをまとめて取得し、各フィードは
countパラメータで取得件数を指定する(デフォルト1、0で全件)。
最新性ルール
ニュースは変化が速いため、レポート作成前に必ず mcp_rss_get_feed で最新フィードを取得し、出典リンクを含める。一次情報や信頼できる情報源を優先する。
- ベンダーブログ、リリースノート
- クラウドプロバイダーの公式発表
- FinOps Foundationや公式プロジェクトの発表
- ツールのGitHub releases
- 標準化団体やセキュリティアドバイザリ
- 補助情報として信頼できる技術メディア
手順
- 依頼の対象期間、対象領域、優先する情報源ジャンルを決める。期間指定がなければ直近24から72時間を目安にする。
references/rss.txtから複数ジャンルのフィードを選び、mcp_rss_get_feedで最新記事を取得する。- ひとつのベンダーや媒体に偏らず、公式情報、企業ブログ、メディア、コミュニティ、ポッドキャストを横断する。
- 同じ話題の重複を整理し、一次情報を主、解説記事を補助として扱う。
- 収集した記事・エピソード本文やRSS要約を読み、呼び出し元AgentがLLMとして内容を理解して、主要ニュースを5件程度、技術記事を5件程度、ポッドキャストを3件程度に絞る。Python内ではLLMを呼び出さない。
scripts/report.pyを使う場合は、返却JSONのreport_input.news、report_input.articles、report_input.podcastsを素材として使う。source_inventory_markdownは確認用の素材一覧であり、最終レポートではない。- 各項目について、タイトル、技術領域、情報源ジャンル、出典、URL、日付、概要、重要ポイントを押さえる。
- 技術記事は「誰におすすめか」「何を学べるか」「実務でどう使えるか」を、取得した本文や要約をもとに呼び出し元Agentが具体化する。
- ポッドキャストは「何の回か」「聴きどころ」「おすすめ対象」を、取得した本文や要約をもとに呼び出し元Agentが具体化する。
- Markdown本文は必ず日本語で作成する。製品名、サービス名、リリース名、短い引用は原文のままでもよい。
- 投稿が必要な場合は
open-webui-skillで最終Markdownを投稿する。
補助ノーマライザー
収集したニュース項目をJSON配列にまとめた後、以下で呼び出し元Agentに渡す素材JSONへ正規化できる。これは最終レポート作成ではない。
python3 /opt/inferlab/skills/tech-news-report-skill/scripts/report.py \
--items-json '[{"title":"Example News","category":"生成AI","source":"Vendor blog","url":"https://example.com","summary":"...","impact":"..."}]' \
--articles-json '[{"title":"Example Article","category":"Cloud","source":"Tech blog","url":"https://example.com/article","summary":"...","recommended_for":"...","takeaways":"...","use_case":"..."}]' \
--podcasts-json '[{"title":"Example Episode","source":"Tech podcast","url":"https://example.com/podcast","summary":"...","highlights":"...","recommended_for":"..."}]'
返却JSONでは report_input を最終レポート作成に使う。content_markdown ではなく source_inventory_markdown が返る場合、それは素材確認用の一覧として扱う。
要約ルール
- 最終Markdownは呼び出し元Agentが作成する。Pythonスクリプトは本文要約や重要ポイント生成を担当しない。
🧭 概要、💡 重要ポイント、🛠️ 学べること、🚀 活用アイデア、✨ 聴きどころは、RSS要約・記事本文・エピソード説明を総合的に読んで日本語で書く。- URLと出典は必ず維持する。同じ話題が複数ソースにある場合は一次情報を主にし、解説記事は補助として扱う。
- ニュース、技術記事、ポッドキャストを混同しない。実務ノウハウ中心の記事は「おすすめの技術記事」、音声番組は「おすすめのポッドキャスト」に置く。
出力形式
<ジャンル> はニュースの種類ではなく、生成AI・FinOps・Cloud・Developer Tools・Security などの技術領域を示すラベルとして使う。<情報源ジャンル> は必要に応じて references/rss.txt の見出しを使う。
---
## 技術ニュースレポート (YYYY-MM-DD)
- 📝 <ここに活動の全体的な傾向や重要なポイントを3行程度でまとめる>
### 🔥 本日の主要ニュース
#### 1. <ジャンル>: <ニュースAのタイトル> - <ニュースAの出典名>
- 🔗 URL:<ニュースAのURL>
- 🧭 概要:<ニュースAの内容を日本語で説明する。>
- 💡 重要ポイント:<ニュースAの重要なポイントを3行程度でまとめる。>
#### 2. <ジャンル>: <ニュースBのタイトル> - <ニュースBの出典名>
- 🔗 URL:<ニュースBのURL>
- 🧭 概要:<ニュースBの内容を日本語で説明する。>
- 💡 重要ポイント:<ニュースBの重要なポイントを3行程度でまとめる。>
#### 3. <ジャンル>: <ニュースCのタイトル> - <ニュースCの出典名>
<5件程度のニュースをピックアップすること>
### 📚 おすすめの技術記事
#### 1. <ジャンル>: <記事Aのタイトル> - <記事Aの出典名>
- 🔗 URL:<記事AのURL>
- 🎯 おすすめ対象:<この記事を読むとよい読者。例: SRE、バックエンドエンジニア、AIアプリ開発者など。>
- 🧭 概要:<記事Aの内容を日本語で説明する。>
- 🛠️ 学べること:<技術的な学び、設計判断、運用ノウハウなどを2から3点でまとめる。>
- 🚀 活用アイデア:<チームや個人の実務にどう活かせるかを具体化する。>
#### 2. <ジャンル>: <記事Bのタイトル> - <記事Bの出典名>
<5件程度の技術記事をピックアップすること>
### 🎧 おすすめのポッドキャスト
#### 1. <ジャンル>: <エピソードAのタイトル> - <番組名>
- 🔗 URL:<エピソードAのURL>
- 🎙️ 番組/回:<番組名や回数、ゲストが分かる場合はここに書く。>
- 🧭 概要:<エピソードAの内容を日本語で説明する。>
- ✨ 聴きどころ:<技術的・実務的に面白いポイントを2から3点でまとめる。>
- 🎯 おすすめ対象:<通勤中に概況を掴みたい人、深掘りしたい開発者など。>
#### 2. <ジャンル>: <エピソードBのタイトル> - <番組名>
<3件程度のポッドキャストをピックアップすること>
連携
投稿する場合:
python3 /opt/inferlab/skills/open-webui-skill/scripts/client.py channels post \
--channel report \
--file ./tech_news_report.md