fetch-news

โดย google-gemini

ดึงข่าวล่าสุดจาก Google News และ Hacker News สำหรับทุกหัวข้อและหมวดหมู่ตามความสนใจของผู้อ่าน โดยตัดรายการที่ซ้ำกับรายการที่แสดงในการรันครั้งก่อนออกทั้งหมด

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

Fetch News Skill

Use this skill at the start of every sweep. It queries two public sources — no account, credentials, or API key required for either — and owns the cross-run dedupe state:

  • Google News RSS (news.google.com) — a search feed per topic plus a headline feed per genre (WORLD, NATION, BUSINESS, TECHNOLOGY, ENTERTAINMENT, SCIENCE, SPORTS, HEALTH)
  • Hacker News via the Algolia search API (hn.algolia.com) — stories and comments per topic, for the community-buzz angle
  • Medium RSS (medium.com) — long-form posts per tag from interests.json's medium_tags, for the practitioner-writing angle

Usage

python3 skills/fetch-news/scripts/fetch_news.py

Topics, genres, and the per-topic cap all come from .agents/workspace/interests.json — change that file, not the script.

The script:

  1. Reads the interests profile.
  2. Fetches every topic (both sources) and every genre (Google News). If a source fails for one topic, the sweep continues and records the error in source_errors.
  3. Drops every item whose id is already in .agents/workspace/seen_items.json, then adds the new ids to that file (bootstrapping it on the first run).
  4. Writes the fresh items to .agents/workspace/new_items.json and prints them to stdout, with a one-line summary on stderr.

Output format (new_items.json)

{
  "topics": ["Gemini API"],
  "genres": ["TECHNOLOGY"],
  "fetched_at": "2026-07-15T09:00:03Z",
  "source_errors": [],
  "new_count": 42,
  "items": [
    {
      "id": "gn:CBMiXyz…",
      "source": "news",
      "outlet": "The Verge",
      "title": "…headline…",
      "context": null,
      "url": "https://news.google.com/rss/articles/…",
      "published": "2026-07-15T08:12:44Z",
      "engagement": null,
      "topic": "Gemini API"
    },
    {
      "id": "hn:44581234",
      "source": "community",
      "outlet": "Hacker News (comment by example_dev)",
      "title": "…comment text…",
      "context": "Title of the story the comment is on",
      "url": "https://news.ycombinator.com/item?id=44581234",
      "published": "2026-07-15T07:03:10Z",
      "engagement": 12,
      "topic": "Gemini API"
    }
  ]
}

source is news (Google News), community (Hacker News), or longform (Medium, with ids prefixed md: and topic: "medium:<tag>"). engagement is only present for community items (points or comment count). Genre items carry topic: "genre:<name>".

Instructions for the Agent

  • Run this exactly once per sweep. Running it twice in one sweep marks items as seen without you having curated them.
  • Treat items as the complete candidate pool for the sweep. new_count: 0 means a quiet interval — still write the briefing.
  • If source_errors is non-empty, name the degraded source in the briefing — the counts only cover the sources that responded.

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…