CtrlK
BlogDocsLog inGet started
Tessl Logo

reliable-pdf-extraction-ac5f89

Extract PDF text content using shell tools or Python libraries when read_file PDF handler fails

60

Quality

68%

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 ./benchmarks/gdpval/skills/reliable-pdf-extraction-ac5f89/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

75%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 tight, actionable reference with executable code for the common PDF extraction cases and a sensible fallback workflow; its main weaknesses are a small amount of motivational padding and one pseudo-code integration example.

Suggestions

Replace the execute_python_to_extract_pdf() call in 'Example Integration' with the actual PyMuPDF fallback snippet so the pattern is fully runnable.

Trim the 'Problem' section to one line or fold it into 'Solution'; Claude already knows read_file can be unreliable.

Add an explicit 'if output is empty/garbled, retry with -layout or fall back to PyMuPDF' feedback loop in the workflow to push workflow_clarity to 5.

DimensionReasoningScore

Conciseness

The body is mostly lean with tight code blocks, but the 'Problem' section and a few explanatory lines ('Useful for checking page count...') state things Claude could infer, fitting the 'efficient; minor instances of over-explanation that could be trimmed' anchor.

4 / 5

Actionability

Methods 1-4 give copy-paste-ready, executable shell and Python snippets covering text, metadata, and tables; the only gap is the 'Example Integration' block referencing a non-existent execute_python_to_extract_pdf() helper, which is pseudo rather than executable.

4 / 5

Workflow Clarity

The Workflow gives a clear 4-step sequence with a fallback loop (step 3) and explicit verification checkpoints (step 4: non-empty, readable, expected content); it falls just short of a 5 because verification is a checklist rather than a re-run-until-valid feedback loop.

4 / 5

Progressive Disclosure

Content is well organized into clearly labeled sections (Problem, Solution, Methods, Workflow, When to Use, Example Integration, Notes) with no bundle files needed; it sits above the 50-line simple-skill threshold, so the well-organized-but-inline structure lands at 'good structure; minor organization gaps' rather than a 5.

4 / 5

Total

16

/

20

Passed

Description

62%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 clearly states what the skill does and gives an explicit (if technical) trigger, but it undersells the skill's actual capabilities and relies on an internal-tool failure condition rather than natural user language.

Suggestions

Replace the internal 'when read_file PDF handler fails' trigger with user-facing language, e.g. 'Use when extracting text from PDF files or when the user mentions PDFs, document text, or .pdf files.'

Expand the action list beyond 'extract text content' to reflect the body's actual coverage, e.g. 'extract text and tables, inspect PDF metadata'.

Add natural synonyms ('PDFs', '.pdf', 'document extraction') to improve trigger-term coverage.

DimensionReasoningScore

Specificity

Names the domain (PDF text extraction) and two concrete means ('shell tools or Python libraries') but lists only one action (extract text) and no broader capabilities like tables, forms, or metadata, matching the '1-2 concrete actions, but not comprehensive' anchor.

3 / 5

Completeness

Provides a clear 'what' ('Extract PDF text content using shell tools or Python libraries') and an explicit 'when' clause ('when read_file PDF handler fails'); the when is present but more of a technical condition than a user-facing trigger phrase, fitting the 'both what and when, when could be more explicit' anchor.

4 / 5

Trigger Term Quality

Includes the natural term 'PDF text content' but the trigger 'when read_file PDF handler fails' is an internal tool condition rather than a phrase a user would say, and synonyms like 'PDFs', 'document extraction', or '.pdf' are missing.

3 / 5

Distinctiveness Conflict Risk

Targets a clear niche (PDF text extraction as a fallback) with a specific trigger condition; minor overlap risk with a general-purpose PDF skill keeps it just below the fully-distinct anchor.

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.

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.