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
通过WebSocket与Gemini进行实时双向流式传输,支持音频、视频和文本对话。具备音频输入/输出(16 kHz PCM)、视频帧、文本以及带语音活动检测的自动转录功能,可实现中断处理。包含原生音频特性:情感对话、主动音频和思考模式;支持同步和异步工具调用的函数调用;以及Google搜索接地功能。提供会话管理,包括上下文压缩、恢复等。
gemini-omni-flash-api
google-gemini
使用此技能进行生成式视频编辑、文本转视频、图像参考视频生成以及首帧到视频的过渡动画,基于…
gemini-api-dev
google-gemini
使用Google的Gemini模型构建应用程序,支持多模态内容、函数调用和结构化输出,覆盖Python、JavaScript、Go和Java语言。可访问当前Gemini 3模型(Pro、Flash、Pro Image),具备100万token上下文;旧版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 的传入 webhook,使每日运行自行投递——当没有 webhook 时静默跳过……