← ClaudeAtlas

vlm-ocrlisted

OCR scanned or image-only corpora with vision-language models, in three phases. Use `evaluate` to compare candidate OCR systems against stratified human ground truth and pick one on measured CER/WER, `run` to build the production pipeline (model selection, image handling, prompts, architecture, batching, accuracy evaluation, reproducibility), and `clean` to correct raw OCR text with LLM and rule-based passes, quality diagnostics, multilingual handling, and span-level provenance. Not for born-digital documents with a text layer — those go to $doc-to-markdown.
scdenney/open-science-skills · ★ 57 · AI & Automation · score 74
Install: claude install-skill scdenney/open-science-skills
# VLM-OCR: Scanned Corpora from Page Images to Research-Usable Text ## Instructions This skill covers the whole path from a corpus of page images to text an analysis can consume: choosing an OCR system by measurement (`evaluate`), running the chosen model across the corpus (`run`), and correcting and documenting its output (`clean`). **Use this skill only for scanned or image-only documents.** Born-digital PDFs, Word files, and anything carrying an embedded text layer belong to `$doc-to-markdown`, which extracts the text directly and needs no model at all. A PDF yielding under ~300 extractable characters per page is a scan; that is the trigger for this skill. ### Phase selection Infer the phase from what the user brings: | What you are given | Phase | |---|---| | A corpus with no model chosen yet, or the question of which OCR system to use or how accurate one is on these pages | `evaluate` | | A chosen model and a corpus to transcribe at scale | `run` | | Raw OCR output needing correction, quality diagnostics, or a provenance record | `clean` | Invoking `$vlm-ocr evaluate`, `$vlm-ocr run`, or `$vlm-ocr clean` forces a phase. Otherwise infer it, and state which phase you are working in before you start. ### Phase order and handoff `evaluate` → `run` → `clean`. Each phase produces exactly what the next one consumes: - `evaluate` emits a model registry, a declared normalization recipe, per-stratum CER/WER, and a documented model choice — possibly one model per script o