fetch-news

Menarik item Google News dan Hacker News terbaru untuk setiap topik dan genre yang sesuai dengan minat pembaca, dengan penghapusan duplikat terhadap setiap item yang ditampilkan pada penayangan sebelumnya.

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.

Lebih banyak skill dari 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
Panduan untuk menggunakan alat CLI Gemini API. Gunakan saat Anda perlu berinteraksi dengan Gemini API melalui baris perintah, mengelola agen, atau menghasilkan media (gambar, …)
behavioral-evals
google-gemini
Panduan untuk membuat, menjalankan, memperbaiki, dan mempromosikan evaluasi perilaku. Gunakan saat memverifikasi logika keputusan agen, men-debug kegagalan, men-debug prompt…
gemini-live-api-dev
google-gemini
Streaming dua arah secara real-time dengan Gemini melalui WebSocket untuk percakapan audio, video, dan teks. Mendukung input/output audio (PCM 16 kHz), bingkai video, teks, dan transkripsi otomatis dengan deteksi aktivitas suara untuk penanganan interupsi. Menyertakan fitur audio asli: dialog afektif, audio proaktif, dan mode berpikir; pemanggilan fungsi untuk penggunaan alat sinkron dan asinkron; serta penjangkaran Google Search. Menawarkan manajemen sesi dengan kompresi konteks, kelanjutan, dan...
gemini-omni-flash-api
google-gemini
Gunakan keterampilan ini untuk penyuntingan video generatif, teks-ke-video, pembuatan video dengan referensi gambar, dan animasi transisi bingkai pertama-ke-video menggunakan…
gemini-api-dev
google-gemini
Bangun aplikasi dengan model Gemini dari Google, mendukung konten multimodal, pemanggilan fungsi, dan keluaran terstruktur di Python, JavaScript, Go, dan Java. Akses model Gemini 3 terkini (Pro, Flash, Pro Image) dengan konteks 1M token; model lawas Gemini 2.x dan 1.5 sudah tidak digunakan lagi. Mendukung pembuatan teks, pemahaman gambar/audio/video, pemanggilan fungsi, keluaran JSON terstruktur, eksekusi kode, caching konteks, dan embeddings. SDK resmi tersedia: google-genai (Python),...
gemini-interactions-api
google-gemini
Antarmuka terpadu untuk model dan agen Gemini dengan status sisi server, streaming, dan orkestrasi alat. Mendukung beberapa model terkini (gemini-3-flash-preview, gemini-3-pro-preview, gemini-2.5-flash/pro) dan agen Deep Research; secara otomatis mengganti ID model yang tidak digunakan lagi dengan alternatif terkini. Offload riwayat percakapan ke server melalui previous_interaction_id untuk interaksi multi-putaran yang memiliki status tanpa pengelolaan riwayat manual. Orkestrasi alat bawaan termasuk...
deliver
google-gemini
Memposting versi ringkas dari briefing ke incoming webhook Google Chat atau Slack, sehingga laporan harian terkirim dengan sendirinya — melewati secara diam-diam ketika tidak ada webhook yang…