CtrlK
BlogDocsLog inGet started
Tessl Logo

pdf-text-extraction

Extract text from PDFs using shell tools when read_file fails

59

Quality

67%

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 ./benchmarks/gdpval/skills/pdf-text-extraction/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 highly actionable with executable examples and a clear fallback workflow including validation, but it is somewhat redundant across sections and monolithic without any progressive disclosure structure.

Suggestions

De-duplicate commands that appear in the method snippet, the 'Usage in agent' block, and the Workflow section to tighten token usage.

Consider splitting the four extraction methods into a short overview plus a referenced detail file to improve progressive disclosure.

DimensionReasoningScore

Conciseness

The body is mostly efficient with concrete commands and minimal concept explanation, but each method duplicates its command across the snippet, a 'Usage in agent' block, and again in the Workflow section, which could be tightened to earn the top anchor.

2 / 3

Actionability

Every method provides fully executable, copy-paste-ready commands and code (pdftotext, pdfinfo, PyMuPDF, pdfplumber) with real flags and inline one-liners, matching the 'fully executable, specific examples' anchor.

3 / 3

Workflow Clarity

The Workflow sequences a try-first/fallback approach and the 'Complete Extraction Pattern' includes an explicit verification check plus a fallback loop (empty result -> Python), satisfying the clear-sequence-with-validation anchor.

3 / 3

Progressive Disclosure

The file is well-organized into clear sections but is a ~130-line monolith with all four methods inline and no external references, so while structure is good, content that could be split stays inline rather than achieving the clean overview-plus-one-level-references pattern.

2 / 3

Total

10

/

12

Passed

Description

57%

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 is specific and distinguishable with an explicit trigger, but it covers only one action and its trigger is phrased as an internal failure condition rather than natural user language.

Suggestions

Broaden the action list, e.g. 'Extract text and tables from PDFs', to reach the top specificity anchor.

Add a user-facing 'Use when...' clause with natural terms (PDFs, .pdf, document extraction) rather than relying on 'when read_file fails'.

DimensionReasoningScore

Specificity

Names the domain (PDFs) and a concrete action ('Extract text') plus method ('shell tools'), but lists only a single action rather than multiple specific concrete actions, so it matches the 'names domain and some actions, not comprehensive' anchor rather than the top level.

2 / 3

Completeness

It states both what ('Extract text from PDFs using shell tools') and a when ('when read_file fails'), but the trigger is an internal failure condition a user would not naturally say rather than an explicit user-facing 'Use when...' clause, so per the trigger-term guidance it does not reach the top anchor.

2 / 3

Trigger Term Quality

'PDFs' and 'text' are natural user terms, but 'read_file' and 'shell tools' are technical/internal phrasing and common variations like 'forms', '.pdf', or 'document extraction' are missing, placing it at 'some relevant keywords but missing common variations'.

2 / 3

Distinctiveness Conflict Risk

The niche is clear (PDF text extraction as a fallback) with a distinct trigger ('when read_file fails'), making it unlikely to fire for unrelated skills.

3 / 3

Total

9

/

12

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.

Validation16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
HKUDS/OpenSpace
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.