CtrlK
BlogDocsLog inGet started
Tessl Logo

ocr-and-documents

Extract and structure text from scanned PDFs and document images with a local-first OCR workflow, layout-aware fallbacks, and explicit heavyweight dependency controls.

65

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./packages/ekko-agent/skills/ocr-and-documents/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

93%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 lean, executable, and well-structured, with a clear decision tree, copy-paste commands, and appropriate one-level-deep references to bundled scripts. The only gap is the absence of an explicit validate→fix→retry feedback loop in the verification workflow.

Suggestions

Add an explicit feedback loop in the Verification section: if a comparison against rendered pages reveals mismatches, re-run extraction with adjusted settings before returning the artifact.

Specify what to do when marker-pdf's --check or resource check fails (e.g. fall back to extract_pymupdf.py) to close the workflow's recovery gap.

DimensionReasoningScore

Conciseness

Lean and efficient throughout: no padding and no explanation of concepts Claude already knows; every line (decision tree, commands, verification checklist) earns its place, matching the 5 anchor.

5 / 5

Actionability

Fully executable, copy-paste-ready commands with install steps and a concrete "Choose the lightest path" decision tree covering the common cases, fitting the 5 anchor.

5 / 5

Workflow Clarity

A clear sequenced decision tree plus a verification checklist and a resource-check gate for marker-pdf are present, but there is no explicit validate→fix→retry feedback loop when verification finds problems, so below 5.

4 / 5

Progressive Disclosure

A concise overview with well-signaled, one-level-deep references to real scripts in ./scripts/ (extract_pymupdf.py, extract_marker.py), with code logic appropriately split out of SKILL.md, matching the 5 anchor.

5 / 5

Total

19

/

20

Passed

Description

66%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 specific and distinguishable, naming concrete OCR actions and a clear niche, but it omits an explicit "Use when…" trigger clause, which caps completeness at 3. Trigger-term coverage is good yet lacks file extensions and some synonyms.

Suggestions

Add an explicit 'Use when…' clause naming the trigger situations, e.g. 'Use when ordinary text extraction fails on scanned PDFs or document images.'

Include the .pdf file extension and synonyms like 'image-to-text' to broaden natural trigger-term coverage.

Consider listing one or two more concrete operations (e.g. 'transcribe pages', 'recover tables') to push specificity toward comprehensive coverage.

DimensionReasoningScore

Specificity

Lists several concrete actions ("Extract and structure text from scanned PDFs and document images") plus workflow characteristics, but stops short of a comprehensive enumeration of distinct operations, so it sits below the 5 anchor.

4 / 5

Completeness

The "what" is clear, but there is no explicit "Use when…" trigger clause; per the rubric guideline a missing trigger caps completeness at 3.

3 / 5

Trigger Term Quality

Good natural keyword coverage ("scanned PDFs", "document images", "OCR") users would actually say, but missing file extensions like .pdf and some common synonyms, so below comprehensive.

4 / 5

Distinctiveness Conflict Risk

The OCR / scanned-document framing carves a clear niche, with only minor overlap risk against a general PDF skill, fitting the 4 rather than 5 anchor.

4 / 5

Total

15

/

20

Passed

Validation

87%

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

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

Total

14

/

16

Passed

Repository
EKKOLearnAI/hermes-studio
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.