CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ocr

OCR scanned PDFs and image files into searchable text using pdftoppm + tesseract (or ocrmypdf if available). Load when about to OCR a scanned PDF or image, or when extracted PDF text is empty/garbled.

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

88%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

Excellent operational content: copy-paste-ready commands and a robust parallel-OCR script, real tuning guidance with justifications, and a genuine validation feedback loop for batch OCR. Weaknesses are minor — slight token overhead in a few explanatory asides and a monolithic single-file layout that, while appropriate for this scope, keeps everything inline.

DimensionReasoningScore

Conciseness

No padding explaining what PDFs or tesseract are; the body is dense tables of commands, tuned flags, and justifications Claude would not know (e.g., '200 loses accuracy on small/serif text; 600 doubles file size'). Not 5 because a few tokens could be trimmed — the '~8 min serial to ~1–2 min' benchmark anecdote and some chatty 'Why' column phrasing.

4 / 5

Actionability

Fully executable throughout: a complete copy-paste bash script with set -euo pipefail, mktemp + trap cleanup and parallel xargs; exact flags (-r 300, --psm 1, -l eng+fra); install commands; and one-liners for every output format (txt, pdf, hocr, tsv). Covers all common cases.

5 / 5

Workflow Clarity

The full pipeline is clearly sequenced (detect scan → tool-selection flowchart → numbered render/OCR/concatenate recipe → validation) with an explicit checkpoint: 'Sample 3–5 random pages before trusting bulk output', plus red flags and concrete remediation (raise DPI to 400, change --psm, fix -l, pre-rotate with mogrify). This is a batch operation that DOES have validation and feedback loops, so the workflow cap does not apply.

5 / 5

Progressive Disclosure

A single well-organized file with clear section headers, a quick-pattern lookup table, and a well-signaled internal anchor link; no bundle files exist and nothing (large API reference, deep detail) needs splitting out. Not 5 because the under-50-line simple-skill exception does not apply at ~135 lines, and all content — including installation and gotchas — is inlined with no external references.

4 / 5

Total

18

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A strong description: concrete, tool-specific, third-person, with an explicit 'Load when' clause covering both direct OCR requests and the diagnostic empty/garbled-text case. The only weaknesses are minor — missing file extensions and synonyms in the trigger terms, and unmentioned capabilities like searchable-PDF output.

DimensionReasoningScore

Specificity

Names concrete inputs ("scanned PDFs and image files"), output ("searchable text"), and exact tools ("pdftoppm + tesseract (or ocrmypdf)"), which goes beyond anchor 3's minimal actions. Not 5 because coverage has gaps — the skill also produces searchable PDFs and standalone image OCR variants that the description does not enumerate.

4 / 5

Completeness

Explicitly answers both: what ("OCR scanned PDFs and image files into searchable text using pdftoppm + tesseract") and when ("Load when about to OCR a scanned PDF or image, or when extracted PDF text is empty/garbled") with concrete trigger phrases. Clear match for anchor 5; anchor 4's 'when could be more explicit' criticism does not apply.

5 / 5

Trigger Term Quality

Includes natural phrases users would say — "OCR", "scanned PDF", "image", "extracted PDF text is empty/garbled". Not 5 because it omits file extensions (.pdf, .png, .jpg) and common synonyms like "scanned document" or "searchable PDF".

4 / 5

Distinctiveness Conflict Risk

OCR of scanned documents is a clear niche with distinct triggers, and the empty/garbled-text trigger is precisely scoped to the OCR fallback case rather than general PDF work. Minimal conflict risk with adjacent PDF-manipulation skills.

5 / 5

Total

18

/

20

Passed

Validation

100%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository

phatblat/dotfiles

Path

.agents/skills/ocr/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.