fetch-news

Lấy các mục Google News và Hacker News mới nhất cho mọi chủ đề và thể loại trong sở thích của người đọc, loại bỏ trùng lặp với mọi mục đã hiển thị trong các lần chạy trước.

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.

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…