Route and execute private PDF work. Use when Kevin asks to read, search, merge, split, reorder, compress, convert, OCR, sign, redact, secure, edit, batch, or automate PDF files. Uses pdf-inspector for fast local text/scanned/mixed preflight when OCR routing is uncertain, chooses the extraction stack for reading, PDFCraft for browser-local one-off or visual workflows, and Stirling-PDF for self-hosted multi-user, API, OCR, or persistent automation. Preserves originals and requires output verification.
Choose the privacy boundary and deployment shape before choosing the tool.
| Intent | Route |
|---|---|
| Classify text/scanned/image/mixed input or decide which pages need OCR | pdf-inspector locally; retain its confidence and page-level OCR reasons |
| Read, search, answer questions, or extract text/layout | use the preflight when uncertainty or batch cost warrants it, then liteparse; escalate to MarkItDown, MinerU, or OmniParse by document complexity |
| One-off private merge/split/compress/edit/secure job or visual operation chain | PDFCraft in the browser or a verified local static/container build |
| Repeated batch job, server API, multi-user surface, OCR pipeline, signing, or redaction | Self-hosted Stirling-PDF |
Read wiki/tools/pdf-operations.md for the current source snapshot and route. Do not upload a sensitive PDF to an unverified hosted converter.
pdf-inspector when the corpus mixes born-digital, scanned, image-only, broken-font, or mixed pages. Route only pages that actually require OCR when the returned confidence and reasons are sufficient; otherwise treat the result as uncertain. Then use the installed document skill and parse once. Inspect page screenshots when OCR, layout, charts, signatures, or redactions matter.Report:
pdf-inspector was used;Redaction requires visual inspection and a text/content check; drawing a black rectangle is not proof that underlying content was removed. A successful exit code is not document-quality proof.
Do not globally install or deploy any application merely because this skill fires. pdf-inspector is MIT, but a pinned local binding still needs a canary against the actual document family before becoming a batch default. PDFCraft is AGPL-3.0. Stirling-PDF's root license is MIT only outside named directories with separate licenses. Inspect the exact source/version and get approval before adding a persistent service, hook, container, or exposed port.