doc-eyelisted
Install: claude install-skill pedroreisper/doc-eye
# doc-eye — vision-LLM audit of rendered document pages
Claude is excellent at code-level edits to source files but blind to the visually-rendered output. SmartArt clips at the page edge. Fonts drift across sections. A heading falls into a widow on page 7. The XML looks correct; the PDF looks wrong. This skill closes that gap.
It takes a `.docx`, `.pptx`, or `.pdf`, renders every page to a PNG at print DPI, and feeds each page to a vision-capable Claude with a structured rubric. The output is a JSON report (machine-readable) plus a prose render (human-readable) that lists every finding with page number, location, severity, and a concrete description.
The skill reports — it does not modify the source file. It is a reviewer, not a fixer. You decide what to do with the findings.
## Core pipeline
```
ingest → render → per-page vision audit → aggregate + dedup → report
```
1. **Ingest** — detect format (`.docx`/`.pptx`/`.pdf`), reject encrypted PDFs early, copy to a temp workspace.
2. **Render** — DOCX/PPTX → PDF via `soffice --headless`, then PDF → PNG per page via PyMuPDF (200 DPI default). Output: `pages/page-001.png … page-NNN.png`.
3. **Per-page vision audit** — one Anthropic API call per page to Claude (Haiku 4.5 by default; Opus 4.7 with `--opus`). Forced tool use returns structured JSON per page.
4. **Aggregate + dedup** — collapse repeated findings (e.g. same broken header on every page → one document-level finding with `pages: [1,2,3,…]`).
5. **Report** — write `au