CtrlK
BlogDocsLog inGet started
Tessl Logo

read-bin-docs

Straightforward text extraction from document files (text-based PDF only for now, no OCR or docx). Use when you just need to read/extract text from binary documents.

82

2.04x
Quality

73%

Does it follow best practices?

Impact

100%

2.04x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./read-bin-docs/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

81%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 lean, highly actionable skill body: every code sample is executable, the bundled script is real and well documented, and failure modes are covered. The main issue is redundancy — the Quick Start, Basic Usage, and Using-the-Script sections repeat near-identical extraction code, and a filler 'coming soon' line adds nothing.

Suggestions

Merge the Quick Start and 'PDF Text Extraction > Basic Usage' sections into one canonical snippet to remove the near-verbatim duplication.

Delete the 'Future: Support for DOCX, XLSX, and other formats coming soon' line — it adds tokens without actionable value.

Consolidate the two command-line invocations (uvx and 'Using the Script') into a single section that shows both the dependency-safe uvx call and the script's flags.

DimensionReasoningScore

Conciseness

The body is mostly efficient code with no concept-explanation padding, but the Quick Start Python snippet duplicates "Basic Usage" nearly verbatim, the CLI invocation appears twice (uvx form and "Using the Script" section), and the trailing "Future: Support for DOCX, XLSX... coming soon" line is filler — matching anchor 3 ('mostly efficient but could be tightened'). Not anchor 2 because nothing explains concepts Claude already knows and every code block is at least individually useful.

3 / 5

Actionability

All guidance is fully executable and copy-paste ready: complete pypdf snippets for all pages and page ranges, a real bundled script (verified at scripts/extract_pdf_text.py) with documented flags (--output, --pages 1-5, --pages 1,3,5), and dependency-verified execution via "uvx --with pypdf python ...". Common cases are covered.

5 / 5

Workflow Clarity

This is a simple, single-purpose read-only skill and the single action is unambiguous: Quick Start gives the immediate path, subsequent sections enumerate options. Failure modes are addressed in "Common Issues" (scanned PDFs yield no text; encoding fallback via extract_text(layout=True)), which serves as the error-recovery guidance; the destructive/batch validation cap does not apply.

5 / 5

Progressive Disclosure

Good structure with clear section headers, and the one bundle file is appropriately externalized and clearly signaled ("This skill includes scripts/extract_pdf_text.py" — verified to exist, one level deep, no nested references). It falls short of anchor 5 because the ~78-line body contains duplicated sections (Quick Start vs Basic Usage vs Using the Script) that should be consolidated, leaving minor organization gaps.

4 / 5

Total

17

/

20

Passed

Description

65%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 concise, honest description that clearly scopes the skill (PDF-only, no OCR/docx) and includes an explicit 'Use when' clause. Main weaknesses are the second-person trigger phrasing and a when-clause that largely restates the what rather than adding concrete trigger phrases.

Suggestions

Rewrite the trigger clause in third person with concrete triggers, e.g. "Use when the user asks to read, extract, or get the text from a PDF or other binary document."

Add natural synonyms and file extensions ("PDFs", "PDF file", ".pdf") to broaden trigger term coverage.

State the concrete actions more comprehensively, e.g. "Extracts text from text-based PDFs to stdout or a file, with page-range selection."

DimensionReasoningScore

Specificity

"Straightforward text extraction from document files" names the domain and one concrete action (anchor 3), but the trigger clause "Use when you just need to read/extract text" is second person, which the rubric penalizes by reducing specificity by 1. It is above anchor 2's bar ('Names the domain but actions are minimal or generic') in base content, so the penalty lands it at 2.

2 / 5

Completeness

Both what ("Straightforward text extraction from document files (text-based PDF only for now, no OCR or docx)") and when ("Use when you just need to read/extract text from binary documents") are explicitly stated, but the when-clause restates the what instead of giving concrete trigger phrases (e.g. 'when the user mentions PDFs'), so it does not reach anchor 5.

4 / 5

Trigger Term Quality

Natural phrases users would say are present — "text extraction", "read/extract text", "document files", "PDF", "binary documents" — but common variations like "PDFs", "PDF file", or the ".pdf" extension are missing, matching anchor 4 ('good keyword coverage; a few natural terms missing').

4 / 5

Distinctiveness Conflict Risk

The scope is a clear niche — text extraction limited to text-based PDFs with explicit exclusions ("no OCR or docx") — giving minimal conflict with adjacent document skills. It falls short of anchor 5 only because "binary documents" is a slightly broad trigger phrase that could overlap with other binary-format skills.

4 / 5

Total

14

/

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
YPares/agent-skills
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.