research

Rassemblez le matériel source pour l'émission de radio à partir de toute source de contenu — web, HN, GitHub, articles ou sujets généraux.

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.

Plus de skills de 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
Guide pour utiliser l'outil en ligne de commande de l'API Gemini. À utiliser lorsque vous devez interagir avec l'API Gemini via la ligne de commande, gérer des agents ou générer du contenu multimédia (images,…)
behavioral-evals
google-gemini
Conseils pour créer, exécuter, corriger et promouvoir des évaluations comportementales. À utiliser lors de la vérification de la logique de décision d’un agent, du débogage d’échecs, du débogage d’invites…
gemini-live-api-dev
google-gemini
We need to translate the given text from English to French, preserving the name "gemini-live-api-dev" if it appears, but it does not appear in the text. The text is a description of an agent skill. We must not add any extra commentary, labels, or formatting. Just the translation. The text: "Real-time bidirectional streaming with Gemini over WebSockets for audio, video, and text conversations. Supports audio input/output (16 kHz PCM), video frames, text, and automatic transcriptions with voice activity detection for interruption handling Includes native audio features: affective dialog, proactive audio, and thinking mode; function calling for synchronous and asynchronous tool use; and Google Search grounding Offers session management with context compression, resumption, and..." We need to translate this into French. Note: "Gemini" is a product name, keep as is. "WebSockets" is a protocol name, keep as is. "16 kHz PCM" is technical, keep as is. "Google Search" is a product name, keep as is. Also "affective dialog",
gemini-omni-flash-api
google-gemini
Utilisez cette compétence pour le montage vidéo génératif, la conversion texte-vers-vidéo, la génération vidéo avec référence d'image, et les animations de transition de première image vers vidéo en utilisant le…
gemini-api-dev
google-gemini
Développez des applications avec les modèles Gemini de Google, prenant en charge le contenu multimodal, l'appel de fonctions et les sorties structurées en Python, JavaScript, Go et Java. Accédez aux modèles actuels Gemini 3 (Pro, Flash, Pro Image) avec un contexte de 1 million de tokens ; les modèles hérités Gemini 2.x et 1.5 sont obsolètes. Prend en charge la génération de texte, la compréhension d'images/audio/vidéo, l'appel de fonctions, la sortie JSON structurée, l'exécution de code, la mise en cache de contexte et les embeddings. Kits SDK officiels disponibles : google-genai (Python),...
gemini-interactions-api
google-gemini
Interface unifié pour les modèles et agents Gemini avec état côté serveur, streaming et orchestration d'outils. Prend en charge plusieurs modèles actuels (gemini-3-flash-preview, gemini-3-pro-preview, gemini-2.5-flash/pro) et l'agent Deep Research ; remplace automatiquement les ID de modèles obsolètes par des alternatives actuelles. Déchargez l'historique des conversations sur le serveur via previous_interaction_id pour des interactions multi-tours avec état sans gestion manuelle de l'historique. Orchestration d'outils intégrée incluant...
deliver
google-gemini
Publie une version condensée du briefing vers un webhook entrant Google Chat ou Slack, afin que le run quotidien se livre tout seul — passe silencieusement lorsqu'aucun webhook n'est…