MIT licensed · a skill for Claude Code and pi

lumenpdf

Turn PDFs into audit evidence. Every output records how it was made, so a reviewer can check the work instead of trusting it.

Live. The Slipsheet demo's PDF, run through LumenPDF.

The record behind the box

The red box is the convenience. This is the evidence: the files LumenPDF wrote alongside the exhibit, read live from this site. A reviewer can see what was searched for, what was found, and how each page was read, without asking.

Pages
…
Phrases searched for in the exhibit
Phrase searched forResult
Loading the provenance file…

Five short phrases anchor one passage. The Abstract wraps across lines with hyphenated words and printer's ligatures, so the spec names clean phrases spread through the paragraph, and LumenPDF pools their hits into a single box. If any phrase had not been found, it would be listed here as missed, and the exhibit would still be produced so the gap shows up in the workpaper.

Every file, as written

Every page says how it was read

Where a PDF carries real text, LumenPDF uses it exactly. Where a page is a scan, it reads the image with OCR. Either way, the transcript says which, page by page, so a reviewer knows which passages to spot-check before quoting them.

Loading the transcript…

Install

Clone it and run the installer. It copies the skill into Claude Code, pi, or both.

git clone https://github.com/audit-brands/lumenpdf && ./lumenpdf/install.sh

Then ask for what you want

"OCR this agreement and keep the provenance."
"Make an evidence exhibit for the abstract on page 1."

The skill installs its own Python dependencies on first use, and adds tesseract only when a document has scanned pages. Prefer the command line? The README covers both scripts and every option.

Why it is built this way

It never decides
LumenPDF extracts and annotates. Whether a clause passes is the auditor's judgment, written in the spec by a person. The tool stops at the evidence.
Exact text and OCR are never blended
Each page declares which method produced it. OCR is used where it is needed and nowhere else, so pages with a perfect text layer are never degraded.
A miss is recorded, not hidden
Phrases that were not found are listed in the record. An exhibit where nothing matched prints a warning and is still saved. Low-confidence OCR matches are flagged instead of boxed as if they were certain.
Nothing leaves your machine
No network calls, no model, no service. Pure document tooling, so it is safe to point at the documents that matter most.