Communitygithub.com

baronguyen001/ai-automation-skills

Extrayez le texte et les lignes ressemblant à des tableaux simples d'un PDF pour un traitement en aval par IA, sans binaires OCR. À utiliser lorsque l'utilisateur demande de lire un PDF, de le convertir en texte, d'extraire des tableaux simples de relevés ou de rapports, ou de transmettre le contenu d'un PDF à un pipeline LLM.

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

Cette compétence permet d'extraire facilement du texte lisible par machine à partir de fichiers PDF numériques, sans avoir recours à des outils OCR externes. Elle est particulièrement utile pour les workflows d'IA en aval, comme la synthèse, la classification ou l'extraction structurée. Le module utilise des bibliothèques Python pures (comme pypdf ou pdfminer.six) et intègre un détecteur de tableaux simple basé sur les lignes pour faciliter le nettoyage ultérieur des données. Il conserve les limites de page pour que les invites adressées au LLM puissent citer des numéros de page, et échoue de manière explicite lorsqu'aucun texte n'est trouvé, évitant ainsi d'envoyer des données vides au LLM. Cette compétence est idéale pour les développeurs utilisant Claude Code, Cursor, Codex ou d'autres plateformes d'IA agent, et s'intègre via un simple appel à la fonction extract_pdf dans assets/extract.py. Elle ne doit pas être utilisée avec des PDF scannés (qui nécessitent une OCR) ou pour une reconstruction parfaite de tableaux avec cellules fusionnées.

Compatible avec~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/baronguyen001/ai-automation-skills/tree/HEAD/skills/pdf-text-extract

Demander à votre IA préférée

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

Documentation

Extraction de texte PDF

Utilisez cette compétence lorsqu'un workflow a besoin de texte lisible par machine à partir d'un PDF numérique avant résumé, classification ou extraction structurée. L'assistant utilise des bibliothèques PDF Python pures lorsque disponibles et inclut un détecteur de tableaux simple basé sur les lignes pour un nettoyage en aval.

Quand l'utiliser

  • L'utilisateur dit : « extrais le texte de ce PDF », « alimente une IA avec ce PDF », « extrais les tableaux de ce rapport », « lis ce relevé ».
  • Le PDF contient déjà du texte sélectionnable et ne nécessite pas d'OCR.

Quand NE PAS l'utiliser

  • Le PDF est une image scannée ; utilisez plutôt un workflow OCR.
  • L'utilisateur a besoin d'une reconstruction de tableau parfaite avec cellules fusionnées et fidélité de mise en page.

Exemple concret

Entrée utilisateur :

Extrais le texte et les tableaux approximatifs de ce PDF pour que Gemini puisse le résumer.

Sortie :

# Copiez assets/extract.py dans votre projet, puis :
from extract import extract_pdf

doc = extract_pdf("downloads/report.pdf")
print(doc["text"][:2000])
for table in doc["tables"]:
    print(table["page"], table["rows"][:3])

Installez pypdf ou pdfminer.six dans le projet cible. Aucun binaire OCR n'est requis, et l'assistant échoue clairement lorsque le PDF n'a pas de texte extractible.

Schéma à appliquer

  1. Privilégiez d'abord l'extraction de texte numérique ; n'ajoutez pas d'OCR sauf si la source est scannée.
  2. Conservez les limites de page afin que les invites en aval puissent citer les numéros de page.
  3. Simplifiez l'extraction de tableaux : divisez les lignes sur les tabulations ou les espaces répétés, puis laissez un passage de schéma ultérieur normaliser les colonnes.
  4. Limitez le texte envoyé à un LLM par page/plage lorsque le PDF est long.
  5. Échouez bruyamment lorsqu'aucun texte n'est trouvé au lieu d'envoyer une invite vide en aval.

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

Source

Distillé à partir d'une utilisation en production dans les projets d'automatisation de l'auteur. v1.0.0. Voir aussi : [[gemini-structured-output]], [[csv-report-writer]], [[s3-uploader]].

→ 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

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

Parse an RSS 2.0 or Atom feed into normalized item dicts (title, link, id, published, summary) with the standard library only - no feedparser. Use when the user asks to read an RSS/Atom feed, poll a blog/news feed, extract feed entries, or watch a site that publishes a feed.

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