CtrlK
BlogDocsLog inGet started
Tessl Logo

extracting-with-ocr

Use when extracting text from scanned PDFs, photographed pages, or images that have no embedded text layer. Covers OCR backends, language packs, force-OCR, and performance tuning.

72

Quality

88%

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

The canonical home for this skill is extracting-with-ocr in xberg-io/xberg

SKILL.md
Quality
Evals
Security

Quality

Content

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

An excellent, token-efficient CLI reference: fully executable commands, a tight backend matrix, and practical failure-mode recovery guidance. The only weaknesses are a missing explicit output-verification step (notable for batch runs) and external references that live in a sibling skill's bundle rather than this skill's own files.

DimensionReasoningScore

Conciseness

The body is lean and command/flag-focused throughout (e.g., "Pick Tesseract first. Switch only when accuracy is unacceptable.", "Xberg fails fast with a helpful error... Read the error — it names the missing file.") with no explanation of concepts Claude already knows and no padded sections. Every section adds CLI-specific knowledge, matching the 'lean and efficient' anchor.

5 / 5

Actionability

All guidance is executable and copy-paste ready: concrete commands ("xberg extract scan.pdf --force-ocr=true", "brew install tesseract-lang", "sudo apt install tesseract-ocr-deu..."), a backend comparison table with exact flags, a complete xberg.toml example, and specific failure-mode fixes. Common cases (force-OCR, multi-language, backend choice, troubleshooting) are all covered.

5 / 5

Workflow Clarity

A clear decision flow (when to force OCR → backend choice → language packs → troubleshoot) is present, and 'Common failure modes' provides symptom→cause→fix recovery loops (e.g., empty content → bogus zero-width text layer → re-run with --force-ocr=true). However, there is no explicit validation checkpoint such as verifying extracted output is non-empty/readable, and the batch tip lacks a verification step — so it falls short of the explicit-validation 5 anchor but above the implicit-checkpoint 3 anchor.

4 / 5

Progressive Disclosure

Sections are well organized and the detail is appropriately split for a single-purpose CLI skill, with a clearly signaled closing pointer for deeper material. However, the body has no reference files of its own — the pointer resolves to "references/cli-reference.md and references/configuration.md in the sibling xberg skill", which are not part of this bundle and may dangle if that skill is absent. This is good structure with minor organization gaps rather than the fully self-contained clear-overview 5 anchor.

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 with an explicit 'Use when' trigger clause covering concrete image-based-document conditions and a clear enumeration of what the skill covers. The only minor gaps are a couple of missing natural trigger variants (e.g., 'screenshots', 'searchable PDF') and capability topics stated more as nouns than actions.

DimensionReasoningScore

Specificity

The description names the domain and one concrete action ("extracting text from scanned PDFs, photographed pages, or images that have no embedded text layer") plus several specific capability areas ("OCR backends, language packs, force-OCR, and performance tuning"). It lists several specifics with minor gaps rather than the multiple concrete actions of the 5 anchor, and is clearly above the '1-2 concrete actions' of the 3 anchor.

4 / 5

Completeness

Both questions are explicitly answered: the 'when' via a concrete trigger clause ("Use when extracting text from scanned PDFs, photographed pages, or images that have no embedded text layer") and the 'what' via the enumerated capabilities ("Covers OCR backends, language packs, force-OCR, and performance tuning"). This mirrors the rubric's 5-anchor pattern; the 4 anchor's weaker/'could be more explicit' when-clause does not apply.

5 / 5

Trigger Term Quality

Natural user phrases are present: "scanned PDFs", "photographed pages", "images", "text layer", "OCR". A few natural terms users would say are missing (e.g., "screenshots", "searchable PDF", image file extensions), which matches the 'good coverage, a few natural terms missing' anchor rather than the comprehensive 5.

4 / 5

Distinctiveness Conflict Risk

The niche is sharp — OCR specifically for documents with no embedded text layer — which distinguishes it from general PDF-extraction skills. Triggers like 'scanned PDFs' and 'photographed pages' are distinct, giving minimal conflict risk, matching the clear-niche 5 anchor.

5 / 5

Total

18

/

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: 2 missing

Warning

Total

15

/

16

Passed

Repository
xberg-io/xberg
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.