fetch-news

Busca as últimas notícias do Google News e do Hacker News para cada tópico e gênero de interesse do leitor, com deduplicação em relação a todos os itens exibidos em execuções anteriores.

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.

Mais skills de 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
Guia para usar a ferramenta de linha de comando da API Gemini. Use quando precisar interagir com a API Gemini via linha de comando, gerenciar agentes ou gerar mídia (imagens,…
behavioral-evals
google-gemini
Orientação para criar, executar, corrigir e promover avaliações comportamentais. Use ao verificar a lógica de decisão do agente, depurar falhas, depurar prompt…
gemini-live-api-dev
google-gemini
We need to translate the given text from English to Brazilian Portuguese. The text describes a real-time bidirectional streaming capability with Gemini over WebSockets. It mentions audio, video, text, audio input/output specs, video frames, automatic transcriptions, voice activity detection, interruption handling, native audio features (affective dialog, proactive audio, thinking mode), function calling, Google Search grounding, session management with context compression, resumption, etc. We must preserve product names, protocol names, URLs, numbers, technical terms. The name "gemini-live-api-dev" is not in the text, so we don't include it. We only translate the text inside <text>. No extra commentary, no labels. The text ends with "and..." so we keep that as is. Translation: "Streaming bidirecional em tempo real com Gemini via WebSockets para conversas de áudio, vídeo e texto. Suporta entrada/saída de áudio (PCM 16 kHz), quadros de vídeo, texto e transcrições automáticas com detecção
gemini-omni-flash-api
google-gemini
Use esta habilidade para edição generativa de vídeo, texto para vídeo, geração de vídeo com referência de imagem e animações de transição de primeiro quadro para vídeo usando o…
gemini-api-dev
google-gemini
We need to translate the given text from English to Brazilian Portuguese. The text describes building applications with Google's Gemini models. We must preserve product names, protocol names, URLs, numbers, technical terms. The name "gemini-api-dev" is not in the text, so we don't include it. We translate only the text inside <text>. No extra commentary, no labels. The text: "Build applications with Google's Gemini models, supporting multimodal content, function calling, and structured outputs across Python, JavaScript, Go, and Java. Access current Gemini 3 models (Pro, Flash, Pro Image) with 1M token context; legacy Gemini 2.x and 1.5 models are deprecated Supports text generation, image/audio/video understanding, function calling, structured JSON output, code execution, context caching, and embeddings Official SDKs available: google-genai (Python),..." We need to translate fluently but preserve terms like "Gemini models", "multimodal content", "function calling", "structured outputs", "Python", "JavaScript", "Go",
gemini-interactions-api
google-gemini
Interface unificado para modelos e agentes Gemini com estado no servidor, streaming e orquestração de ferramentas. Suporta vários modelos atuais (gemini-3-flash-preview, gemini-3-pro-preview, gemini-2.5-flash/pro) e o agente Deep Research; substitui automaticamente IDs de modelos obsoletos por alternativas atuais. Descarrega o histórico de conversas para o servidor via previous_interaction_id para interações multi-turno com estado, sem gerenciamento manual de histórico. Orquestração de ferramentas integrada, incluindo...
deliver
google-gemini
Publica uma versão condensada do briefing em um webhook de entrada do Google Chat ou Slack, para que a execução diária se entregue sozinha — pula silenciosamente quando não há webhook…