Communitygithub.com

baronguyen001/ai-automation-skills

Analiza un feed RSS 2.0 o Atom en diccionarios de elementos normalizados (título, enlace, id, fecha de publicación, resumen) usando solo la biblioteca estándar, sin feedparser. Útil cuando el usuario pide leer un feed RSS/Atom, consultar un blog o noticias, extraer entradas de un feed o monitorear un sitio que publica un feed.

¿Qué es ai-automation-skills?

Esta habilidad proporciona una función de análisis de feeds RSS/Atom ligera y sin dependencias externas. Está diseñada para desarrolladores y agentes de IA que necesitan extraer entradas de un feed y obtener una estructura de datos uniforme independientemente de si el feed es RSS 2.0 o Atom. Se basa exclusivamente en la biblioteca estándar de Python (xml.etree.ElementTree), evitando la necesidad de instalar paquetes de terceros como feedparser. La habilidad normaliza los campos clave (título, enlace, id, fecha de publicación y resumen) de ambos formatos, permitiendo que el código posterior (deduplicación, resumen, alertas) funcione sin ramificaciones según el tipo de feed. Es especialmente útil para tareas de automatización como monitorear sitios, compilar resúmenes o construir pipelines de agregación de noticias. La función acepta bytes o texto del feed, manteniendo la pureza y facilidad de prueba, y sigue un patrón claro de análisis único con respaldo de guid/id hacia el enlace para lograr una identificación estable de los elementos.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Lector de Feeds RSS / Atom

Usa esta habilidad cuando un script necesite leer un feed y quieras una forma normalizada tanto para RSS 2.0 como para Atom, sin dependencias de terceros. Realiza una sola pasada con ElementTree y extrae title, link, id, published y summary de ambos formatos, de modo que el código downstream (deduplicación, resumen, alerta) nunca tenga que bifurcarse según el tipo de feed.

Cuándo invocarla

  • El usuario dice: "lee este feed RSS", "consulta un feed de blog", "obtén las últimas entradas de un feed Atom", "monitorea un sitio en busca de nuevas publicaciones".
  • El código ya ha obtenido los bytes del feed y necesita entradas estructuradas.

Cuándo NO invocarla

  • La fuente tiene una API JSON real: llama a esa API en lugar de raspar un feed.
  • Necesitas manejar todas las peculiaridades de feedparser (cada dialecto malformado): instala feedparser.

Ejemplo concreto

Entrada del usuario:

Lee https://example.com/feed.xml e imprime el título y enlace de cada publicación.

Salida:

# Copia assets/feed.py en tu proyecto, luego:
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 elemento es un diccionario con las mismas claves tanto si el feed es RSS como Atom, por lo que la deduplicación por id y la ordenación por published funcionan sin casos especiales.

Patrón a aplicar

  1. Analiza una vez con xml.etree.ElementTree; itera sobre item (RSS) y {atom}entry (Atom).
  2. Normaliza a un conjunto de claves estable para que el resto del pipeline sea independiente del formato del feed.
  3. Recurre de guid/atom id al enlace para que cada elemento tenga una identidad estable para deduplicación.
  4. Mantén la red fuera del analizador: pasa bytes/texto para que se mantenga puro y testeable.

Referencia: assets/feed.py.

Fuente

Destilado de los proyectos de agregación de noticias del autor. v1.0.0. Ver también: [[gmail-imap-digest]], [[sqlite-state]], [[pipeline-orchestrator]].

→ Construye el bot completo y ejecutable con 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.

Skills relacionados