CtrlK
BlogDocsLog inGet started
Tessl Logo

ocr-and-documents

Extract text from PDFs/scans (pymupdf, marker-pdf).

60

Quality

71%

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 ./skills/productivity/ocr-and-documents/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

82%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 content is highly actionable, concise, and well-structured with a useful decision table and verified helper scripts. The main gap is the absence of explicit output validation/feedback steps in the workflow, which keeps workflow_clarity at 4.

Suggestions

Add an explicit validation step after extraction (e.g. check that output text is non-empty / page count matches) with a retry loop, which would lift workflow_clarity to 5.

Trim minor editorial commentary such as 'No extra dependencies needed — pymupdf covers split, merge, search, and text extraction in one package' to approach anchor 5 conciseness.

Consider moving the long pymupdf/marker flag listings or the split/merge/search recipes into a short reference snippet or the helper script --help, keeping SKILL.md a leaner overview.

DimensionReasoningScore

Conciseness

The body is lean and information-dense (a feature comparison table, compact command/inline-code blocks) with only minor trimmable commentary like 'No extra dependencies needed...', staying just below the every-token-earns-its-place bar of anchor 5.

4 / 5

Actionability

It provides copy-paste-ready pip installs, verified helper-script invocations with flags, inline Python, and CLI commands covering the common cases (text, markdown, tables, images, metadata, OCR, split, merge, search).

5 / 5

Workflow Clarity

A clear Step 1 (web_extract first) to Step 2 (choose local extractor via decision table) sequence with a disk-space checkpoint exists, but there is no explicit output validation/feedback loop, leaving it just below anchor 5.

4 / 5

Progressive Disclosure

Sections are well-organized with clearly signaled, one-level-deep references to scripts/extract_pymupdf.py and scripts/extract_marker.py (both present), though most guidance lives inline in the single SKILL.md rather than being split outward.

4 / 5

Total

17

/

20

Passed

Description

61%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 concise and states a clear capability with natural trigger terms, but it omits any explicit 'Use when...' guidance, which caps completeness. Adding a trigger clause and a couple more action verbs would raise specificity and completeness.

Suggestions

Add an explicit 'Use when...' clause, e.g. 'Use when extracting text from PDFs or scanned documents, or when a user mentions OCR.'

Expand the action list beyond 'extract text' to cover the skill's actual scope (e.g. tables, markdown conversion, OCR) to improve specificity.

Include a file extension or synonym (e.g. '.pdf', 'OCR') to broaden trigger-term coverage toward anchor 5.

DimensionReasoningScore

Specificity

The phrase 'Extract text from PDFs/scans' names the domain and one concrete action, and the parenthetical '(pymupdf, marker-pdf)' names tools rather than additional actions, so it does not reach the several-actions coverage of anchor 4.

3 / 5

Completeness

It clearly states what the skill does ('Extract text from PDFs/scans') but provides no 'Use when...' trigger guidance, so per the rubric completeness is capped at 3.

3 / 5

Trigger Term Quality

It includes natural user terms 'PDFs', 'scans', and 'extract text', giving good keyword coverage, though it omits synonyms like 'OCR', 'document', 'forms', and the '.pdf' extension that anchor 5 would require.

4 / 5

Distinctiveness Conflict Risk

The text-extraction niche and named libraries make it mostly distinct with minimal conflict risk, though the body references a separate 'pdf' skill for manipulation, leaving minor overlap.

4 / 5

Total

14

/

20

Passed

Validation

81%

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

Validation13 / 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

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

13

/

16

Passed

Repository
NousResearch/hermes-agent
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.