Communitygithub.com

Leitor de Feed RSS / Atom

Analisa feeds RSS 2.0 ou Atom em dicionários normalizados de itens (título, link, id, publicado, resumo) usando apenas a biblioteca padrão – sem feedparser. Use quando o usuário pedir para ler um feed RSS/Atom, consultar um feed de blog/notícias, extrair entradas de feed ou monitorar um site que publique um feed.

O que é Atom?

Esta skill oferece uma implementação leve e sem dependências externas para leitura de feeds RSS 2.0 e Atom, ideal para scripts de automação que precisam normalizar entradas de diferentes formatos. Suporta integração com ferramentas como Claude Code, Cursor e Codex, permitindo que desenvolvedores extraiam títulos, links, IDs, datas de publicação e resumos de forma consistente. O código utiliza exclusivamente a biblioteca padrão `xml.etree.ElementTree`, eliminando a necessidade de instalar pacotes como `feedparser`. A normalização garante que o pipeline de deduplicação, resumo e alerta funcione sem bifurcações por tipo de feed. Útil para construir agregadores de notícias, monitores de sites, sistemas de alerta e integrações que consomem conteúdo sindicado. A implementação segue um padrão claro de parse único, normalização de chaves, fallback de ID e separação da camada de rede.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/baronguyen001/ai-automation-skills/tree/HEAD/skills/rss-feed-reader

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que Atom faz?

Use esta skill quando um script precisar ler um feed e você quiser uma estrutura normalizada para RSS 2.0 e Atom, sem dependência de terceiros. Ela faz uma única passagem com ElementTree e extrai title, link, id, published e summary de qualquer formato, de modo que o código downstream (dedup, resumo, alerta) nunca precise se ramificar por tipo de feed.

Quando invocar

  • O usuário diz: "leia este feed RSS", "consulte um feed de blog", "obtenha as últimas entradas de um feed Atom", "monitore um site para novos posts".
  • O código já obteve os bytes do feed e precisa de entradas estruturadas.

Quando NÃO invocar

  • A fonte possui uma API JSON real – chame essa API em vez de raspar um feed.
  • Você precisa de tratamento completo de peculiaridades do feedparser (todos os dialetos malformados) – instale o feedparser.

Exemplo concreto

Entrada do usuário:

Leia https://example.com/feed.xml e imprima o título e o link de cada post.

Saída:

# Copie assets/feed.py para seu projeto e então:
from urllib.request import urlopen
from feed import parse_feed

with urlopen("https://example.com/feed.xml", timeout=20) as r:
    for item in parse_feed(r.read()):
        print(item["title"], "->", item["link"])

Cada item é um dicionário com as mesmas chaves, independentemente de o feed ser RSS ou Atom; portanto, dedup por id e ordenação por published funcionam sem casos especiais.

Padrão a aplicar

  1. Analise uma vez com xml.etree.ElementTree; itere sobre item (RSS) e {atom}entry (Atom).
  2. Normalize para um conjunto estável de chaves, de modo que o restante do pipeline seja independente do formato do feed.
  3. Fallback de guid/atom id para o link, para que cada item tenha uma identidade estável para dedup.
  4. Mantenha a rede fora do analisador: passe bytes/texto para que permaneça puro e testável.

Referência: assets/feed.py.

Fonte

Destilado dos projetos de agregação de notícias do autor. v1.0.0. Veja também: [[gmail-imap-digest]], [[sqlite-state]], [[pipeline-orchestrator]].

→ Construa o robô executável completo com Trawlkit.

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

baronguyen001/ai-automation-skills

Schedule any script to run on a recurring schedule on Windows (Task Scheduler) or Linux (cron) - register, list, and remove jobs from one command, with logging to a file and a guard against overlapping runs. Use for schedule a script, run nightly, set up a cron job, windows task scheduler, or run on a timer.

baronguyen001/ai-automation-skills

Turn a run's list of result dicts into a schema'd CSV and a Markdown table from one column spec - declare columns once, emit both, with stable ordering and safe escaping, stdlib only, no pandas. Use when the user asks to write results to CSV, export a report, make a markdown summary table, or save a run's output as a spreadsheet.

baronguyen001/ai-automation-skills

Strip HTML to clean plain text with the standard library only (no BeautifulSoup/lxml): drops script/style, turns block tags into line breaks, and collapses whitespace. Use when the user wants readable text from an HTML page/email, to clean scraped HTML before sending it to an LLM, or to build a text index from web content.

baronguyen001/ai-automation-skills

Persist records between scheduled runs as append-only JSON Lines (one object per line) with streaming reads and optional key-based dedup, stdlib only. Use when the user wants to log run results to JSONL, append events to a file, dedup records by id across runs, or keep a simple durable history without a database.

baronguyen001/ai-automation-skills

Extract text and simple table-like rows from a PDF for downstream AI without OCR binaries. Use when the user asks to read a PDF, turn a PDF into text, pull simple tables from statements/reports, or feed PDF content into an LLM pipeline.

baronguyen001/ai-automation-skills

Rotate a pool of HTTP/SOCKS proxies with round-robin selection, failure tracking, and a cooldown that benches dead proxies before retrying. BYO proxy list via env - none are shipped. Use for rotate proxies, spread requests across proxies, avoid IP bans, retry through a different proxy, or proxy health check.

baronguyen001/ai-automation-skills

Upload and download run artifacts from S3-compatible storage with BYO bucket and credentials from env. Use when the user asks to store scraper output, archive reports, publish artifacts to object storage, fetch a prior run file, or use MinIO/R2/Spaces/S3 without hardcoding credentials.

baronguyen001/ai-automation-skills

Draft a short-form TikTok/Reels/Shorts or long-form video script from a topic and creator persona file - hook variants, beat-structured body, CTA, b-roll cues, caption overlays, and [STORY]/[NUMBER] slots so the model never fabricates personal facts. Use for write a video script, tiktok script, youtube script, or /shortform-script.

baronguyen001/ai-automation-skills

Give scheduled scripts memory between runs with one SQLite file - a seen-set for dedup, a key/value cursor to resume where you left off, and order-preserving new-item filtering. Use for dedup across runs, don't re-alert the same item, remember the last id, resume a scraper, or persist state between cron runs.

Habilidades Relacionadas