CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

doc-ocr

文档文字识别。用户提供 PDF/扫描件/图片(合同、发票、书页、截图),需要提取文字、转成可编辑文本时使用。扫描件自动 OCR(macOS Vision,中英文)。Document OCR: extract editable text from PDFs, scans, and images (contracts, invoices, book pages, screenshots) via macOS Vision.

Quality

87%

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

87%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 exemplary lean, fully executable skill body for a simple single-purpose task — no padding, copy-paste commands covering all usage modes, and correct use of a single script bundle file. The one substantive gap is the absence of any validation or verification step for its batch directory mode, which the rubric caps at workflow clarity 3.

Suggestions

Add a verification step after batch processing, e.g. '批量处理完成后检查输出目录,确认每个输入都有非空的 _ocr.txt(空文件通常意味着 OCR 失败或扫描件判定错误)', to satisfy the rubric's batch-operation validation requirement and lift workflow clarity above 3.

Add brief error-recovery guidance, such as what to do when OCR output is empty or garbled (e.g. try --md, confirm the file is a scan rather than a text-layer PDF, or note the <20 字 threshold's edge cases).

Document how the script signals failures (exit codes / stderr messages) so partial failures in a batch run are noticed rather than silently skipped.

DimensionReasoningScore

Conciseness

The ~46-line body is lean with zero padding: no explanation of what a PDF is or how OCR works; every section (触发条件, 使用步骤, 依赖, 已知陷阱) adds operational knowledge Claude doesn't already have, e.g. "PDF 文字层 <20 字自动走 OCR" and "Vision 对印刷体/清晰手写效果好,潦草手写不保证". Matches anchor 5 ('every token earns its place'); anchor 4 would require some trimmable over-explanation, which is absent.

5 / 5

Actionability

Commands are copy-paste ready and cover the common cases: `python3 scripts/dococr.py 合同.pdf`, `发票.jpg`, batch `./扫描件/ -o 全部.txt`, and `--md`, plus the exact install command `pip3 install pymupdf pyobjc-framework-Vision` and the output convention `<输入名>_ocr.txt`. This matches anchor 5 ('fully executable; specific examples cover the common cases').

5 / 5

Workflow Clarity

The usage sections are clearly sequenced for a simple single-purpose skill, but the skill includes a batch mode ("### 2. 批量目录") and the rubric explicitly caps workflow clarity at 3 for batch operations lacking validation/verification steps. There is no step to verify outputs (e.g. check non-empty result files or report failed items) and no error-recovery guidance, so it cannot score above 3 despite the otherwise clear structure.

3 / 5

Progressive Disclosure

The body is under 50 lines, well-organized into sections, and its single bundle reference (`scripts/dococr.py`) is a real file in the bundle that all three usage examples point to. Per the rubric's simple-skill exception ('under 50 lines with no need for external references ... can score 5 with just well-organized sections'), this matches anchor 5.

5 / 5

Total

18

/

20

Passed

Description

83%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 bilingual description that explicitly states both what the skill does and when to use it, with concrete input types and natural trigger terms in Chinese and English. Its only weaknesses are minor: no file extensions/synonyms in the trigger terms and no mention of batch or Markdown output capabilities.

DimensionReasoningScore

Specificity

The description lists several concrete actions and inputs — "extract editable text from PDFs, scans, and images (contracts, invoices, book pages, screenshots) via macOS Vision", "提取文字、转成可编辑文本", "扫描件自动 OCR(中英文)" — but omits capabilities the skill actually has (batch directory mode, Markdown output), leaving minor gaps in coverage. This matches anchor 4 ('several specific actions; minor gaps') better than anchor 5 (comprehensive) and clearly above anchor 3 (only 1-2 actions).

4 / 5

Completeness

Both halves are explicit: 'what' — "Document OCR: extract editable text from PDFs, scans, and images ... via macOS Vision" — and 'when' — "用户提供 PDF/扫描件/图片(合同、发票、书页、截图),需要提取文字、转成可编辑文本时使用" ("use when the user provides ... and needs text extracted"), with concrete trigger phrases like 提取文字/转文字. This matches the anchor-5 example structure (what + explicit 'Use when...' with concrete triggers) rather than anchor 4, where the 'when' would be less specific.

5 / 5

Trigger Term Quality

Good natural keyword coverage in both languages — "提取文字", "转文字", "OCR", "扫描件", "合同", "发票", "书页", "截图", plus English "PDFs, scans, images, editable text" — phrases a user would naturally say. It falls short of anchor 5 because no file extensions (.pdf, .jpg, .png) or common synonyms ("text extraction", "转换") are included, but it clearly exceeds anchor 3's 'missing common variations'.

4 / 5

Distinctiveness Conflict Risk

It carves a fairly clear OCR/text-extraction niche with distinct triggers (scans, OCR, editable text, contracts/invoices/screenshots), but text extraction from PDFs could overlap with a general PDF-manipulation skill (form filling, merging), so it sits at anchor 4 ('mostly distinct; minor overlap risk with closely related skills') rather than anchor 5's minimal conflict risk.

4 / 5

Total

17

/

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

davepoon/buildwithclaude

Path

plugins/all-skills/skills/doc-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.