Communitygithub.com

baronguyen001/ai-automation-skills

Analyse un flux RSS 2.0 ou Atom en dictionnaires d'éléments normalisés (titre, lien, id, date de publication, résumé) avec la bibliothèque standard uniquement – sans feedparser. À utiliser lorsque l'utilisateur demande de lire un flux RSS/Atom, de consulter un blog, d'extraire des entrées ou de surveiller un site qui publie un flux.

Qu'est-ce que ai-automation-skills ?

Cette compétence (skill) permet de parser un flux RSS 2.0 ou Atom et de le transformer en une liste de dictionnaires normalisés contenant les clés `title`, `link`, `id`, `published` et `summary`, le tout sans aucune dépendance externe autre que la bibliothèque standard Python (`xml.etree.ElementTree`). Elle est particulièrement utile pour les scripts d'agrégation, de dédoublonnage, de résumé ou d'alerte qui doivent fonctionner de manière uniforme quel que soit le type de flux (RSS ou Atom). La compétence s'applique sur demande explicite de l'utilisateur (ex: « lis ce flux RSS », « récupère les derniers articles d'un blog ») ou lorsque le code dispose déjà des octets d'un flux. Elle ne doit pas être utilisée si une API JSON est disponible, ni si une gestion exhaustive des dialectes malformés est nécessaire (dans ce cas, installer `feedparser`). La logique de normalisation est encapsulée dans le fichier `assets/feed.py` et le réseau est laissé en dehors du parseur pour garantir la pureté et la testabilité. La compétence supporte Claude Code, Cursor, Codex et d'autres assistants IA du même type.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Lecteur de flux RSS / Atom

Utilisez cette compétence lorsqu'un script doit lire un flux et que vous souhaitez une forme normalisée commune à RSS 2.0 et Atom, sans dépendance tierce. Elle effectue un seul passage avec ElementTree et extrait title, link, id, published et summary des deux formats, de sorte que le code aval (dédoublonnage, résumé, alerte) n'ait jamais à se brancher sur le type de flux.

Quand l'invoquer

  • L'utilisateur dit : « lis ce flux RSS », « consulte un flux de blog », « récupère les dernières entrées d'un flux Atom », « surveille un site pour de nouveaux articles ».
  • Le code a déjà récupéré les octets d'un flux et a besoin d'entrées structurées.

Quand NE PAS l'invoquer

  • La source propose une vraie API JSON – appelez-la plutôt que de gratter un flux.
  • Vous avez besoin de la gestion complète des cas particuliers de feedparser (tous les dialectes malformés) – installez feedparser.

Exemple concret

Entrée utilisateur :

Lis https://example.com/feed.xml et affiche le titre et le lien de chaque article.

Sortie :

# Copiez assets/feed.py dans votre projet, puis :
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"])

Chaque élément est un dictionnaire avec les mêmes clés, que le flux soit RSS ou Atom. Ainsi, le dédoublonnage par id et le tri par published fonctionnent sans cas particulier.

Modèle à appliquer

  1. Analyser une fois avec xml.etree.ElementTree ; itérer sur item (RSS) et {atom}entry (Atom).
  2. Normaliser vers un ensemble de clés stables, de sorte que le reste du pipeline soit indépendant du format de flux.
  3. Replier de guid/id Atom vers le lien, afin que chaque élément ait une identité stable pour le dédoublonnage.
  4. Laisser le réseau en dehors du parseur : passer des octets/texte pour qu'il reste pur et testable.

Référence : assets/feed.py.

Source

Distillé des projets d'agrégation de nouvelles de l'auteur. v1.0.0. Voir aussi : [[gmail-imap-digest]], [[sqlite-state]], [[pipeline-orchestrator]].

→ Construisez le bot exécutable complet avec 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 associés