CtrlK
BlogDocsLog inGet started
Tessl Logo

smart-ocr

Extract text from images and scanned documents using PaddleOCR - supports 100+ languages

50

Quality

55%

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 ./.trae/openclaw-skills/smart-ocr/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

57%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 well-organized, highly executable reference for PaddleOCR usage, with real non-obvious API detail throughout. Its weaknesses are a monolithic structure with zero progressive disclosure, padding that inflates the token budget, and workflows (batch/PDF) that lack validation and error-recovery steps.

Suggestions

Split the three worked examples and the configuration/language reference into separate bundle files (e.g. references/examples.md, references/configuration.md) and keep SKILL.md as a lean overview with clearly signaled links.

Add validation and error handling to the batch and PDF workflows — e.g. check for empty/None OCR results per image/page and handle failed downloads before proceeding.

Trim padding: remove the "Example prompts" section and Overview duplication, and cut the redundant engine re-initialization in each example.

DimensionReasoningScore

Conciseness

Most of the code earns its place (result-structure indexing, config parameters, and language codes are genuinely non-obvious PaddleOCR knowledge), but the ~475-line body carries clear padding: an "Example prompts" section, an Overview that restates the description, a full configuration dump, and three worked examples that each re-initialize the engine. This matches "mostly efficient but includes some unnecessary explanation" rather than anchor 4's minor trimmable instances.

3 / 5

Actionability

The guidance is overwhelmingly executable — complete, copy-paste-ready functions covering images, scanned PDFs, URLs/bytes, result processing, layout reconstruction, preprocessing, and batch OCR. It falls short of 5 due to minor gaps: `process_result(result)` is called in the multiple-images snippet but never defined (the defined function is `process_ocr_result`), and `ocr_pdf` calls `os.remove` without importing `os`.

4 / 5

Workflow Clarity

The "How to Use" steps ("Provide the image... I'll extract text") are loose and lack checkpoints, and the batch and PDF workflows — parallel OCR, temp-file creation and deletion — have no validation or error handling (e.g., no handling of a failed OCR where `result[0]` is empty/None). Batch operations without validation cap this dimension at 3 per the rubric guidelines.

3 / 5

Progressive Disclosure

No bundle files exist (no references/, scripts/, or assets/), so everything is inlined in one monolith — including ~200 lines of worked examples and a full config/language reference that belong in separate files. Section headers are well-organized (better than anchor 2's minimal structure), matching anchor 3's "some structure but content that should be separate is inline", but there is not a single external reference to signal.

3 / 5

Total

13

/

20

Passed

Description

53%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 states a clear, concrete capability (OCR via PaddleOCR) with a distinct niche, but reads more like a library tagline than a skill trigger. It lacks any "use when" guidance and omits the single most natural trigger term ("OCR") along with common variations like PDF and handwriting.

Suggestions

Add an explicit trigger clause, e.g. "Use when the user asks to OCR, read, or extract text from an image, screenshot, photo, scanned document, or scanned PDF, or mentions PaddleOCR."

Include the natural keyword "OCR" and common variations users actually say ("read text", "scanned PDF", "handwriting") in the description.

Briefly enumerate the main capabilities to raise specificity — e.g. mention position/confidence output, multi-language and mixed-language documents, and PDF page processing.

DimensionReasoningScore

Specificity

"Extract text from images and scanned documents using PaddleOCR" names the domain and a concrete action, but coverage is not comprehensive — PDFs, position/confidence output, handwriting, and preprocessing are all absent. It lists only one action, so it does not reach anchor 4's "several specific actions".

3 / 5

Completeness

The description clearly answers "what" (extract text from images/scanned documents via PaddleOCR) but contains no "Use when..." clause or any equivalent trigger guidance, which caps completeness at 3 per the judging guidelines. It is not a 2 because the "what" is concrete and unambiguous.

3 / 5

Trigger Term Quality

Natural phrases like "extract text", "images", and "scanned documents" are present, but the most common user trigger "OCR" is missing entirely, along with "PDF", "read text", and "handwriting". This is "some relevant keywords but missing common variations", not the good coverage of anchor 4.

3 / 5

Distinctiveness Conflict Risk

OCR on images and scanned documents with a named engine is a distinct niche, with only minor overlap risk against adjacent PDF text-extraction skills. It fits anchor 4 ("mostly distinct; minor overlap risk") better than anchor 3, since the domain and tool are explicit rather than merely "somewhat specific".

4 / 5

Total

13

/

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

frontmatter_unknown_keys

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

Warning

Total

15

/

16

Passed

Repository
huangruiteng/CS-Notes
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.