CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

image-ocr

Extract text from images using pytesseract OCR. Handles PNG, JPG, JPEG, GIF, BMP, TIFF formats. Use when processing image files that may contain text, diagrams with labels, screenshots, or scanned documents. Returns extracted text content.

Quality

85%

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

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

A well-executed script-wrapper skill: fully executable commands verified against the bundled script, clean section structure, and no wasted tokens. The main weakness is the batch mode ("--dir") lacking any validation or error-recovery guidance, which the rubric caps at workflow clarity 3 — the body never tells Claude what to do with low-confidence results or failed extractions.

Suggestions

Add validation guidance for batch runs: after "--dir" processing, instruct Claude to inspect the JSON output for error entries and low confidence values, and re-run failed images with tuned --psm/--dpi settings before proceeding.

Document a feedback loop for fragile extractions, e.g. "if confidence < 60%, retry with --psm 6 or higher --dpi" so OCR failures have an explicit recovery path rather than silently producing empty text.

Reduce minor redundancy by trimming the CLI Reference flags already demonstrated in Quick Start or merging the Supported Formats table into a single line, keeping the body tighter.

DimensionReasoningScore

Conciseness

The body is efficient with no explanation of concepts Claude already knows — prerequisites cover genuinely non-obvious install steps (choco command, pip packages) and the Quick Start is command-driven. Minor trimming is possible: the CLI Reference section repeats flags already demonstrated in Quick Start, and the Supported Formats table duplicates the format list from the frontmatter, so it does not quite reach the "every token earns its place" anchor.

4 / 5

Actionability

All guidance is copy-paste executable: five concrete invocation examples in Quick Start, full install commands, and a complete CLI reference that I verified flag-by-flag against the bundled scripts/image_ocr.py (all options -o/-d/-j/-l/--dpi/--psm/-q match the actual argparse definitions). The common cases — single file, output to file, JSON with confidence, batch directory, language selection — are all covered.

5 / 5

Workflow Clarity

The skill includes a batch operation ("-d, --dir PATH — Process directory of images", which recursively processes all images via the script's rglob), yet the body provides no validation or verification guidance for batch runs — nothing about checking confidence values, handling error entries in JSON output, or verifying that output files were written. The rubric explicitly caps batch operations without validation at 3, which takes precedence over the simple-skill exception even though the single-file path is unambiguous.

3 / 5

Progressive Disclosure

Scored against the actual bundle (a single scripts/image_ocr.py, correctly referenced by every usage example and verified to exist): the implementation is appropriately split into the script while SKILL.md serves as a concise usage overview. Sections (Prerequisites, Quick Start, Output, Supported Formats, CLI Reference, Integration Notes) are well-organized, all references are one level deep, and navigation is trivial.

5 / 5

Total

17

/

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.

A strong description that follows best practices: third-person voice, a concrete tool-named capability, an explicit "Use when" clause with natural trigger phrases, and a well-scoped format list. The only notable gap is that it describes a single action rather than a broader set of capabilities, which limits its specificity score.

DimensionReasoningScore

Specificity

"Extract text from images using pytesseract OCR" names one concrete, tool-specific action, while "Handles PNG, JPG, JPEG, GIF, BMP, TIFF formats" and "Returns extracted text content" describe properties rather than additional actions. This matches the anchor for naming a domain with 1-2 concrete actions; it falls short of anchor 4, which requires several distinct actions.

3 / 5

Completeness

It clearly answers "what" ("Extract text from images using pytesseract OCR") and explicitly answers "when" with concrete trigger phrases ("Use when processing image files that may contain text, diagrams with labels, screenshots, or scanned documents"). Both elements are explicit with concrete triggers, matching the top anchor.

5 / 5

Trigger Term Quality

"Use when processing image files that may contain text, diagrams with labels, screenshots, or scanned documents" provides good natural keyword coverage, including "screenshots" and "scanned documents" that users would actually say, plus six format names. It misses common synonyms such as "image to text", "read text from image", or file extensions like ".png", keeping it below the comprehensive anchor 5.

4 / 5

Distinctiveness Conflict Risk

The description carves out a clear niche — OCR text extraction from raster image formats (PNG, JPG, GIF, BMP, TIFF) — with distinct triggers like screenshots and scanned documents, so it is unlikely to fire for the wrong skill. Conflict risk with adjacent document/PDF skills is minimal since those formats are excluded.

5 / 5

Total

17

/

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

KennethJefferson/cc_sdk_knowledge_extractor

Path

skills/image-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.