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

72%

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

Fix and improve this skill with Tessl

tessl review fix ./.agents/harness/adapters/antigravity/skills/ocr/SKILL.md

The canonical home for this skill is ocr in phatblat/dotfiles

SKILL.md
Quality
Evals
Security

Quality

Content

51%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.

The body is a pure redirect stub: maximally lean, but it delegates everything to an external shared-skill path that is not part of the bundle and is absent in this environment. A reader of the SKILL.md alone has no actionable OCR guidance or workflow, only a pointer.

Suggestions

Inline the core OCR workflow (e.g., pdftoppm to render pages, tesseract per page/language flags, and an ocrmypdf fallback command) directly in the body so the skill is self-contained.

If the shared skill at ~/.agents/skills/ocr/SKILL.md is the canonical content, ship the key steps or at least a summary in this SKILL.md and move detailed material into bundled references/ files rather than an external path.

Add a brief validation step (e.g., check that extracted text is non-empty before considering OCR successful) to give the workflow a checkpoint.

DimensionReasoningScore

Conciseness

The body is two functional lines with zero padding — a provenance comment and one directive — so every token earns its place.

5 / 5

Actionability

"Load and follow the shared skill at ~/.agents/skills/ocr/SKILL.md" is a specific, unambiguous directive, but the body contains no OCR commands, code, or steps; all executable guidance is delegated to a path outside the bundle (which does not exist in this environment), leaving only minimal concrete guidance.

2 / 5

Workflow Clarity

OCR is a multi-step process (render pages, run tesseract, reassemble), yet the body provides only a single redirect with no sequence and no validation checkpoints for the actual task; the simple-skill exception does not apply because this is not a single-action task.

2 / 5

Progressive Disclosure

The one reference is clearly signaled and only one level deep, but the body offers no overview content of its own and points to an external home-directory path that is not shipped in the bundle (no references/, scripts/, or assets/ exist), so content is not appropriately split within the skill.

3 / 5

Total

12

/

20

Passed

Description

82%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.

The description is strong: it states a concrete capability with named tools and gives explicit, scenario-based load triggers covering both direct OCR requests and failed text extraction. Its only weakness is moderate keyword breadth (no file extensions or synonyms) and a single-action capability statement rather than a list of several actions.

DimensionReasoningScore

Specificity

"OCR scanned PDFs and image files into searchable text" names the domain and one concrete action, and specific tools ("pdftoppm + tesseract (or ocrmypdf if available)") are named, but it does not list several distinct actions as required for 4.

3 / 5

Completeness

It 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, matching the anchor 5 pattern.

5 / 5

Trigger Term Quality

Natural terms like "OCR", "scanned PDF", "image", and "extracted PDF text is empty/garbled" give good keyword coverage, but common variations and file extensions (.pdf, .png, "text extraction") are missing, so it falls short of comprehensive anchor 5.

4 / 5

Distinctiveness Conflict Risk

The OCR-of-scanned-documents niche is clear and the "scanned"/"empty/garbled" triggers discriminate well against generic PDF-extraction skills; it is at least as distinct as the anchor 5 example.

5 / 5

Total

17

/

20

Passed

Validation

93%

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

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

referenced_paths_exist

Referenced path issues: 1 missing

Warning

Total

15

/

16

Passed

Repository

phatblat/dotfiles

Path

.agents/harness/adapters/antigravity/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.