CtrlK
BlogDocsLog inGet started
Tessl Logo

doc-reader

Read any common document/data file — PDF, Word (.docx), Excel (.xlsx/.xls), PowerPoint (.pptx), images (OCR), CSV/TSV, plain text, JSON/YAML/TOML, HTML/XML, and most source-code files. Use the `read_document` tool.

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 ./agent/src/skills/doc-reader/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

77%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is actionable and well-structured with executable examples and clear workflows including an OCR error guardrail, but it stays fully inline — the OCR configuration detail would benefit from being split into a one-level reference file.

Suggestions

Move the OCR engine configuration, threshold, and env-var details into a references/OCR.md file referenced from the main body to improve progressive disclosure.

Tighten the OCR prose (e.g. drop the editorializing "clearer feedback than a heuristic guess" sentence) to raise conciseness.

Add a brief validation step to the workflows (e.g. check `status` and `truncated`/`skipped_pages` before summarizing) to make the feedback loop explicit.

DimensionReasoningScore

Conciseness

The body is mostly lean (tables and executable calls, no patronizing concept explanations), but the OCR section includes editorializing prose such as "a real API error from the provider is clearer feedback than a heuristic guess" that could be trimmed.

2 / 3

Actionability

Concrete, copy-paste-ready examples like `read_document(file_path="uploads/paper.pdf")`, explicit env-var overrides, and a detailed return-envelope field table give fully executable guidance.

3 / 3

Workflow Clarity

Workflows are clearly numbered, and the OCR branch includes an explicit guardrail ("If OCR returns empty, tell the user; don't fabricate") plus a pivot rule for spreadsheets; the core action is a single unambiguous tool call.

3 / 3

Progressive Disclosure

No bundle files exist and sections are well-organized, but the lengthy OCR Configuration / engine / env-var material is advanced content kept fully inline that could be split into a reference, matching the score-2 "content that should be separate is inline" anchor.

2 / 3

Total

10

/

12

Passed

Description

65%

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 gives a thorough, natural-language list of supported formats with a clear tool pointer, but it omits an explicit "Use when..." trigger clause and relies on a single action verb, which limits its completeness and distinctiveness.

Suggestions

Add an explicit trigger clause, e.g. ". Use when the user needs to extract text from a document, spreadsheet, presentation, or image file." to raise completeness and distinctiveness.

Vary the action verbs beyond "Read" (e.g. "Extract text and tables", "OCR images and scanned pages") to demonstrate multiple concrete capabilities for specificity.

Note the boundary with specialized skills (e.g. ". For trade-journal analysis use analyze_trade_journal instead.") to reduce conflict risk.

DimensionReasoningScore

Specificity

It names the domain comprehensively ("PDF, Word (.docx), Excel (.xlsx/.xls), PowerPoint (.pptx), images (OCR), CSV/TSV...") but the only action verb is "Read", so it does not list multiple distinct concrete actions like the score-3 anchor requires.

2 / 3

Completeness

It clearly states what the skill does (read document/data files via `read_document`) but lacks any "Use when..." clause or equivalent explicit trigger guidance, which the guidelines cap at 2.

2 / 3

Trigger Term Quality

Strong coverage of natural terms users would say — "PDF", "Word", "Excel", "PowerPoint", "CSV/TSV", "JSON/YAML/TOML", "HTML/XML", "source-code" — matching the score-3 anchor's breadth.

3 / 3

Distinctiveness Conflict Risk

The framing "Read any common document/data file" is a broad universal reader that could overlap with specialized readers (e.g., a PDF or trade-journal skill), so it is only somewhat specific.

2 / 3

Total

9

/

12

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.

Validation15 / 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
HKUDS/Vibe-Trading
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.