fetch-news

作成者: google-gemini

Pulls the latest Google News and Hacker News items for every topic and genre in the reader's interests, deduped against every item shown in previous runs.

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.

google-geminiのその他のスキル

greeter
google-gemini
フレンドリーな挨拶スキル
official
code-reviewer
google-gemini
ローカル変更とリモートプルリクエストに対する自動コードレビュー。正確性、保守性、セキュリティにわたる構造化分析を提供。ローカルファイルシステムの変更(ステージ済みおよび未ステージ)とリモートPR(番号またはURL指定)の両方をサポートし、GitHub CLIによる自動チェックアウトを実行。コードを正確性、保守性、可読性、効率性、セキュリティ、エッジケース処理、テストカバレッジの7つの観点で分析。オプションで事前検証スイート(例:npm run preflight)を実行し、問題を検出。
official
review-duplication
google-gemini
コードレビュー中にこのスキルを使用して、コードベース内の重複機能、車輪の再発明、既存の再利用の失敗などを積極的に調査します。
official
reconciliation
google-gemini
読み込まれた経費を事前解析済みの請求書データベースと照合し、金額の不一致、請求書の欠落、業者の不一致などの差異をフラグ付けします…
official
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…
official
async-pr-review
google-gemini
ユーザーが非同期PRレビューを開始したい、PRのバックグラウンドチェックを実行したい、または以前に開始した非同期PRのステータスを確認したい場合に、このスキルをトリガーしてください…
official
ci
google-gemini
Gemini CLI向けの高性能でフェイルファストな専門スキル
official
critique
google-gemini
リポジトリのスクリプトとGitHub Actionsワークフローを監査・修正し、技術的な堅牢性とセキュリティを確保する専門知識。
official