← ClaudeAtlas

pdflisted

Use when the user asks to create, combine, split, preview, or extract content from PDF files. Triggers include "markdown to pdf", "html to pdf", "webarchive/MHTML to pdf", "export this deck to pdf", "mermaid in pdf", "math/LaTeX in pdf", "merge PDFs", "split a PDF", "extract text from pdf", "fill AcroForm", "preview pdf as image", and similar PDF generation, conversion, or manipulation tasks.
MatrixFounder/Universal-skills · ★ 1 · Data & Documents · score 80
Install: claude install-skill MatrixFounder/Universal-skills
# pdf skill **Purpose**: Give the agent a small, deterministic set of CLIs for the common PDF operations: render Markdown to a well-typeset PDF, merge PDFs, split them by page range or into individual pages, and (via references) extract text or fill forms. Picking the right library on the fly is the single biggest source of PDF bugs; delegating to scripts that embed those choices removes the variance. ## 1. Red Flags (Anti-Rationalization) **STOP and READ THIS if you are thinking:** - "I'll use `pypdf` to extract the text." → **WRONG** for layout-dependent content. `pypdf`'s text extraction is famously unreliable on anything with columns or complex layout; use `pdfplumber`. See [references/library-selection.md](references/library-selection.md). - "I'll improvise a `pdfplumber` script to convert this PDF to Markdown." → **WRONG** to improvise from scratch. Run `pdf_extract.py` for the structured dump and follow [references/pdf-to-markdown.md](references/pdf-to-markdown.md) — and never skip the scan check: on a scanned PDF `pdfplumber` returns empty text *silently*; `pdf_extract.py` exits `10` instead. - "I'll reach for `playwright` for Markdown → PDF because it handles everything." → **WRONG**. Playwright pulls a 200 MB Chromium install. `weasyprint` handles 95% of Markdown/HTML inputs with a fraction of the footprint. - "I'll fill this XFA form with `pypdf`." → **WRONG**. `pypdf` doesn't fill XFA — only AcroForm. Detect the form type first (see [references/forms.md](refere