research

Thu thập tài liệu nguồn cho chương trình radio từ bất kỳ nguồn nội dung nào — web, HN, GitHub, bài báo khoa học hoặc các chủ đề tổng quát.

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.

Thêm skills từ 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
Hướng dẫn sử dụng công cụ CLI Gemini API. Sử dụng khi bạn cần tương tác với Gemini API qua dòng lệnh, quản lý tác nhân hoặc tạo phương tiện (hình ảnh,…)
behavioral-evals
google-gemini
Hướng dẫn tạo, chạy, sửa lỗi và thúc đẩy các đánh giá hành vi. Sử dụng khi xác minh logic quyết định của tác nhân, gỡ lỗi lỗi, gỡ lỗi prompt…
gemini-live-api-dev
google-gemini
Truyền phát hai chiều thời gian thực với Gemini qua WebSockets cho các cuộc hội thoại âm thanh, video và văn bản. Hỗ trợ đầu vào/đầu ra âm thanh (PCM 16 kHz), khung hình video, văn bản và phiên âm tự động với phát hiện hoạt động giọng nói để xử lý ngắt quãng. Bao gồm các tính năng âm thanh gốc: hội thoại cảm xúc, âm thanh chủ động và chế độ suy nghĩ; gọi hàm để sử dụng công cụ đồng bộ và không đồng bộ; và truy vấn Google Search. Cung cấp quản lý phiên với nén ngữ cảnh, tiếp tục và...
gemini-omni-flash-api
google-gemini
Sử dụng kỹ năng này để chỉnh sửa video tạo sinh, chuyển văn bản thành video, tạo video tham chiếu hình ảnh và hoạt ảnh chuyển tiếp từ khung hình đầu tiên sang video bằng…
gemini-api-dev
google-gemini
Xây dựng ứng dụng với các mô hình Gemini của Google, hỗ trợ nội dung đa phương thức, gọi hàm và đầu ra có cấu trúc trên Python, JavaScript, Go và Java. Truy cập các mô hình Gemini 3 hiện tại (Pro, Flash, Pro Image) với ngữ cảnh 1 triệu token; các mô hình Gemini 2.x và 1.5 cũ đã ngừng hỗ trợ. Hỗ trợ tạo văn bản, hiểu hình ảnh/âm thanh/video, gọi hàm, đầu ra JSON có cấu trúc, thực thi mã, lưu trữ ngữ cảnh và nhúng. Các SDK chính thức có sẵn: google-genai (Python),...
gemini-interactions-api
google-gemini
Giao diện thống nhất cho các mô hình và tác nhân Gemini với trạng thái phía máy chủ, phát trực tuyến và điều phối công cụ. Hỗ trợ nhiều mô hình hiện tại (gemini-3-flash-preview, gemini-3-pro-preview, gemini-2.5-flash/pro) và tác nhân Deep Research; tự động thay thế các ID mô hình đã lỗi thời bằng các lựa chọn thay thế hiện tại. Giảm tải lịch sử hội thoại lên máy chủ qua previous_interaction_id cho các tương tác đa lượt có trạng thái mà không cần quản lý lịch sử thủ công. Điều phối công cụ tích hợp bao gồm...
deliver
google-gemini
Đăng phiên bản tóm tắt của bản briefing tới một webhook đến của Google Chat hoặc Slack, để bản chạy hàng ngày tự giao — bỏ qua một cách im lặng khi không có webhook nào…