research

作成者: google-gemini

ラジオ番組のソース資料を、ウェブ、HN、GitHub、論文、一般的なトピックなど、あらゆるコンテンツソースから収集します。

npx skills add https://github.com/google-gemini/gemini-managed-agents-templates --skill research

Research

Gather source material for the radio show based on the user's prompt. The research strategy is agent-driven — you decide how to gather content based on what the user asks for.

Scripts

All research scripts live in skills/research/scripts/ and output to {workspace}/data/research/. They use only Python stdlib — no dependencies.

ScriptCommandSource
fetch_hn.pypython3 skills/research/scripts/fetch_hn.py --workspace ./workspace --top 6Hacker News
fetch_github.pypython3 skills/research/scripts/fetch_github.py --repo owner/repo --workspace ./workspaceGitHub repos
fetch_url.pypython3 skills/research/scripts/fetch_url.py --url https://... --workspace ./workspaceAny URL

Script Details

fetch_hn.py — Hacker News (two-phase)

Phase 1: Scan — grab top 10 story titles, scores, and comment counts (fast, no deep-diving):

python3 skills/research/scripts/fetch_hn.py --workspace ./workspace --mode scan --top 10

Output: {workspace}/data/research/hn-scan.md — a list of stories with IDs.

You read this file, pick the 2-3 most interesting stories for radio, then run phase 2.

When picking stories, SKIP anything related to politics, race, religion, international conflicts, historical controversies, gender/culture wars, or immigration. Stick to tech, programming, AI/ML, open source, science, startups, and developer culture.

Phase 2: Deep-dive — fetch full comment threads for the stories you picked:

python3 skills/research/scripts/fetch_hn.py --workspace ./workspace --mode deep-dive --stories 43210987,43209876

Output: {workspace}/data/research/hacker-news.md — full stories with top comments.

ArgumentDefaultDescription
--workspaceworkspaceRoot workspace directory
--mode(required)scan or deep-dive
--top10Number of stories to scan (scan mode only)
--stories(required for deep-dive)Comma-separated story IDs

fetch_github.py — GitHub Repository

python3 skills/research/scripts/fetch_github.py --repo googleapis/python-genai --workspace ./workspace

Accepts owner/repo or a full GitHub URL (https://github.com/owner/repo).

ArgumentDefaultDescription
--repo(required)GitHub repo (owner/repo or full URL)
--workspaceworkspaceRoot workspace directory
--releases5Number of releases to fetch
--issues8Number of top issues to fetch

What it does:

  1. Fetches repo metadata (stars, description, language).
  2. Fetches and decodes the README.
  3. Fetches recent releases with changelogs.
  4. Fetches top issues by comment count, including top comments.
  5. Outputs → {workspace}/data/research/github.md

Uses the GitHub REST API directly — no auth needed for public repos.

fetch_url.py — Any URL

python3 skills/research/scripts/fetch_url.py --url https://example.com/blog-post --workspace ./workspace
ArgumentDefaultDescription
--url(required)URL to fetch content from
--workspaceworkspaceRoot workspace directory
--max-chars8000Max chars to extract

What it does:

  1. Fetches the HTML page.
  2. Strips scripts, styles, nav, footer.
  3. Converts HTML to markdown-like text.
  4. Extracts title and meta description.
  5. Outputs → {workspace}/data/research/url_<safe_name>.md

Works for blog posts, documentation pages, arXiv abstracts, news articles, etc.

General Topic (no script — agent-driven)

If the user provides a topic without a specific source:

  • Use Google Search to find recent articles, blog posts, and discussions
  • Gather multiple perspectives and opposing viewpoints
  • Write the research markdown directly to {workspace}/data/research/

Output

  • Directory: {workspace}/data/research/
  • Format: One or more markdown files with structured content
  • All research must be saved here regardless of source — the script-writing step reads from this directory.

What to look for

When reviewing the research output, identify:

  • Consensus: What do most people agree on?
  • Debates: What are the key disagreements?
  • Contrarian takes: Any notable dissenting opinions?
  • Expert insights: Comments or quotes from people with domain expertise.
  • Emotional stories: Anything that would make compelling radio.

google-geminiのその他のスキル

agent-tui
google-gemini
Main Agents: Do NOT use this skill directly. If you need to test the TUI, invoke the `tui_tester` subagent. Drive terminal UI (TUI) applications…
gemini-api-cli
google-gemini
Gemini API CLIツールの使用ガイド。コマンドラインからGemini APIとやり取りする必要がある場合、エージェントを管理する場合、またはメディア(画像など)を生成する場合に使用します。
behavioral-evals
google-gemini
行動評価の作成、実行、修正、促進に関するガイダンス。エージェントの意思決定ロジックの検証、障害のデバッグ、プロンプトのデバッグなどに使用します。
gemini-live-api-dev
google-gemini
Geminiを介したWebSocket上のリアルタイム双方向ストリーミングにより、音声、動画、テキストの会話を実現。音声入出力(16kHz PCM)、動画フレーム、テキスト、および割り込み処理のための音声アクティビティ検出による自動文字起こしをサポート。ネイティブ音声機能(感情対話、プロアクティブ音声、思考モード)、同期・非同期ツール使用のための関数呼び出し、Google Searchグラウンディングを搭載。コンテキスト圧縮、再開などを備えたセッション管理を提供。
gemini-omni-flash-api
google-gemini
このスキルは、生成型ビデオ編集、テキストからビデオ、画像参照によるビデオ生成、および最初のフレームからビデオへのトランジションアニメーションに使用します…
gemini-api-dev
google-gemini
GoogleのGeminiモデルを使用してアプリケーションを構築します。マルチモーダルコンテンツ、関数呼び出し、構造化出力をサポートし、Python、JavaScript、Go、Javaに対応しています。現在のGemini 3モデル(Pro、Flash、Pro Image)にアクセス可能で、100万トークンのコンテキストを備えています。レガシーのGemini 2.xおよび1.5モデルは非推奨です。テキスト生成、画像/音声/動画の理解、関数呼び出し、構造化JSON出力、コード実行、コンテキストキャッシング、埋め込みをサポートしています。公式SDKとしてgoogle-genai(Python)などが利用可能です。
gemini-interactions-api
google-gemini
Geminiモデルとエージェントのための統合インターフェース。サーバーサイドの状態、ストリーミング、ツールオーケストレーションを備えています。複数の現行モデル(gemini-3-flash-preview、gemini-3-pro-preview、gemini-2.5-flash/pro)およびDeep Researchエージェントをサポート。非推奨のモデルIDを現行の代替モデルに自動的に置き換えます。previous_interaction_idを介して会話履歴をサーバーにオフロードし、手動での履歴管理なしでステートフルなマルチターン対話を実現。組み込みのツールオーケストレーションを含む...
deliver
google-gemini
ブリーフィングの要約版をGoogle ChatまたはSlackの受信ウェブフックに投稿するので、毎日の実行が自動的に配信される — ウェブフックが設定されていない場合は静かにスキップする…