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.

Skills เพิ่มเติมจาก 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
คู่มือการใช้เครื่องมือ CLI ของ Gemini API ใช้เมื่อคุณต้องการโต้ตอบกับ Gemini API ผ่านทางบรรทัดคำสั่ง จัดการเอเจนต์ หรือสร้างสื่อ (รูปภาพ, …)
behavioral-evals
google-gemini
คำแนะนำสำหรับการสร้าง การรัน การแก้ไข และการส่งเสริมการประเมินพฤติกรรม ใช้เมื่อตรวจสอบตรรกะการตัดสินใจของตัวแทน การแก้ไขข้อบกพร่อง การดีบักพรอมต์…
gemini-live-api-dev
google-gemini
การสตรีมแบบสองทิศทางแบบเรียลไทม์กับ Gemini ผ่าน WebSockets สำหรับการสนทนาด้วยเสียง วีดีโอ และข้อความ รองรับการป้อน/ส่งออกเสียง (16 kHz PCM), เฟรมวีดีโอ, ข้อความ และการถอดความอัตโนมัติพร้อมการตรวจจับกิจกรรมเสียงเพื่อจัดการการขัดจังหวะ รวมถึงคุณสมบัติเสียงแบบเนทีฟ: การสนทนาที่มีอารมณ์, เสียงเชิงรุก และโหมดการคิด; การเรียกใช้ฟังก์ชันสำหรับการใช้เครื่องมือแบบซิงโครนัสและอะซิงโครนัส; และการอ้างอิง Google Search มีการจัดการเซสชันด้วยการบีบอัดบริบท, การกลับมาดำเนินการต่อ และ...
gemini-omni-flash-api
google-gemini
ใช้ทักษะนี้สำหรับการตัดต่อวิดีโอเชิงสร้างสรรค์ การสร้างวิดีโอจากข้อความ การสร้างวิดีโอโดยอ้างอิงจากภาพ และแอนิเมชันเปลี่ยนผ่านจากเฟรมแรกสู่วิดีโอ โดยใช้…
gemini-api-dev
google-gemini
สร้างแอปพลิเคชันด้วยโมเดล Gemini ของ Google รองรับเนื้อหาหลายรูปแบบ การเรียกใช้ฟังก์ชัน และผลลัพธ์ที่มีโครงสร้างใน Python, JavaScript, Go และ Java เข้าถึงโมเดล Gemini 3 ปัจจุบัน (Pro, Flash, Pro Image) พร้อมบริบท 1M โทเค็น; โมเดล 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; แทนที่รหัสโมเดลที่เลิกใช้งานโดยอัตโนมัติด้วยทางเลือกปัจจุบัน ถ่ายโอนประวัติการสนทนาไปยังเซิร์ฟเวอร์ผ่าน previous_interaction_id สำหรับการโต้ตอบแบบหลายเทิร์นที่มีสถานะโดยไม่ต้องจัดการประวัติด้วยตนเอง มีการจัดระเบียบเครื่องมือในตัวรวมถึง...
deliver
google-gemini
โพสต์เวอร์ชันย่อของสรุปข้อมูลไปยัง Google Chat หรือ Slack incoming webhook เพื่อให้การส่งรายงานประจำวันเกิดขึ้นได้เอง — จะข้ามอย่างเงียบ ๆ เมื่อไม่มี webhook…