English version:
SKILL.en.md
doc — procesamiento de documentos (PDF/DOCX/XLSX)
Skill ligera, sin código propio: enruta a CLI local (pdftotext, tesseract, qpdf, pdftk, docling, libreoffice) según las recetas en references/doc-recipes.md.
Tabla de enrutamiento por tipo de entrada
Identifica el tipo con file <f> y abre 1 página de prueba.
| Entrada + necesidad | Comando principal | Notas |
|---|---|---|
| PDF con capa de texto, extraer texto | pdftotext -layout | §1 |
| PDF escaneado/imagen, extraer texto | OCR pdftoppm + tesseract | §1 |
| PDF/DOCX complejo (tablas, layout) → markdown/JSON | skill docling oficial (fetch --skill docling), fallback docling convert --to md | §1 — PDF >5 páginas: --page-range, timeout 180 |
| XLSX → CSV/markdown | libreoffice headless | §1 |
| Unir/dividir/rotar/extraer páginas PDF | qpdf/pdftk + pdfinfo/pdftoppm | §2 |
| Archivo dudoso/borroso, sonda rápida | skill inspect (mediaskills) | uv run <inspect>/scripts/probe.py |
| Verificar salida recién extraída | pdfinfo + pdftotext | §4 — páginas deben coincidir, texto no vacío |
Reglas
- Indicar idioma de entrada — responder en el mismo idioma del usuario.
- Salida junto al archivo fuente:
<nombre_original>.extract.md|.txt|.csv. No sobrescribir el archivo original. - Etiquetar fuente al extraer de imágenes escaneadas: escribir
[ocr]— no mezclar con contenido observado. - Verificar antes de entregar: PDF debe tener suficientes páginas (
pdfinfo), el texto extraído debe coincidir en páginas (pdftotext); si falta o está vacío → extraer de nuevo. - Local-first: los comandos de procesamiento se ejecutan en la máquina; la capacidad offline depende de las CLI, el modelo OCR/Docling y los datos necesarios que estén instalados o en caché. La primera vez que se usa Docling puede requerir descargar el modelo; descargar skills de terceros también requiere red. Si falta modelo/herramienta, informar claramente o elegir otra receta local — no afirmar que se procesó offline.
- Tras escribir la salida, informar el archivo escrito (nombre + ruta) — no en silencio.
Skill de terceros (fetch según sesión)
- Skill
doclingoficial (docling-project): CLI + Python SDK, PipelineOptions, configuración OCR, DoclingDocument en JSON/markdown — más profundo que el CLIdocling convertde §1. - Descargar según sesión:
./scripts/fetch-session.sh --skill docling→ temporal, no se instala permanentemente. - Sin red / no se puede descargar: usar la receta CLI disponible.
docling convert --to mdsolo es offline si el modelo necesario ya está en caché; si no, elegir otra opción o informar claramente la dependencia.
references
references/doc-recipes.md— §1 extracción (PDF/OCR/docling/DOCX/XLSX), §2 conversión de PDF, §3 escritura de salida, §4 exportación DOCX para skillpaper.