Version anglaise :
SKILL.en.md
doc — traitement de documents (PDF/DOCX/XLSX)
Skill légère, sans code propre : achemine vers des CLI locales (pdftotext, tesseract, qpdf, pdftk, docling, libreoffice) selon les recettes dans references/doc-recipes.md.
Tableau d'acheminement par type d'entrée
Identifier le type avec file <f> et ouvrir une page pour test.
| Entrée + besoin | Commande principale | Note |
|---|---|---|
| PDF avec couche texte, extraire le texte | pdftotext -layout | §1 |
| PDF scanné/image, extraire le texte | OCR pdftoppm + tesseract | §1 |
| PDF/DOCX complexe (tableaux, mise en page) → markdown/JSON | skill docling officielle (fetch --skill docling), fallback docling convert --to md | §1 — PDF >5 pages : --page-range, timeout 180 |
| XLSX → CSV/markdown | libreoffice headless | §1 |
| Plier/séparer/retourner/extraire des pages PDF | qpdf/pdftk + pdfinfo/pdftoppm | §2 |
| Fichier recto-verso/flou, sondage rapide | skill inspect (mediaskills) | uv run <inspect>/scripts/probe.py |
| Vérifier la sortie extraite | pdfinfo + pdftotext | §4 — les pages doivent correspondre, le texte ne doit pas être vide |
Règles
- Rappeler la langue d'entrée — répondre dans la même langue que l'utilisateur.
- Placer la sortie à côté du fichier source :
<nom_source>.extract.md|.txt|.csv. Ne pas écraser le fichier source. - Étiqueter la source en cas d'extraction d'image scannée : ajouter
[ocr]— ne pas mélanger avec le contenu observé. - Vérifier avant de livrer : le PDF doit avoir suffisamment de pages (
pdfinfo), le texte extrait doit correspondre aux pages (pdftotext) ; pages manquantes/vides → extraire à nouveau. - Local d'abord : les commandes de traitement s'exécutent sur la machine ; la capacité hors ligne dépend des CLI, du modèle OCR/Docling et des données nécessaires installées ou mises en cache. La première utilisation de Docling peut nécessiter le téléchargement du modèle ; le téléchargement d'une skill tierce nécessite aussi un réseau. Si un modèle/outil manque, le signaler clairement ou choisir une autre recette locale — ne pas affirmer que le traitement est hors ligne.
- Une fois la sortie écrite, signaler le fichier enregistré (nom + chemin) — ne pas rester silencieux.
Skills tierces (téléchargement à la session)
- Skill
doclingofficielle (docling-project) : CLI + SDK Python, PipelineOptions, configuration OCR, DoclingDocument JSON/markdown — plus approfondi que la CLIdocling convertde §1. - Téléchargement à la session :
./scripts/fetch-session.sh --skill docling→ temporaire, pas d'installation permanente. - Hors réseau / impossible à télécharger : utiliser la recette CLI disponible.
docling convert --to mdn'est hors ligne que si le modèle nécessaire est déjà en cache ; sinon, choisir une autre méthode ou signaler clairement la dépendance.
Références
references/doc-recipes.md— §1 extraction (PDF/OCR/docling/DOCX/XLSX), §2 transformation PDF, §3 écriture de la sortie, §4 export DOCX pour la skillpaper.