CtrlK
BlogDocsLog inGet started
Tessl Logo

pdf-text-extraction

Extract text from PDFs using shell tools when read_file fails

57

Quality

72%

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

67%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 well-structured and highly actionable, with executable code for multiple extraction methods and a sensible fallback workflow. Its main drawbacks are repetition of the pdftotext command, a placeholder in one workflow step, and a vague verification check.

Suggestions

De-duplicate the pdftotext command: present it once in Method 1 and reference it from the Workflow and Example rather than re-printing full snippets.

Replace the '...' placeholder in Workflow step 3 with the complete pdfplumber one-liner already shown in Method 4.

Make the verification step concrete, e.g., 'grep -qE "[[:print:]]" output.txt' or check that the result is non-empty and contains no NUL bytes.

DimensionReasoningScore

Conciseness

Mostly efficient with no concept over-explanation, but the same pdftotext command is repeated across Method 1, the agent-usage block, Workflow step 1, and the final Example, adding avoidable tokens. Could be tightened to reach 4.

3 / 5

Actionability

Provides concrete, executable code and copy-paste run_shell commands for all four methods plus install commands. Not 5 because Workflow step 3 leaves a literal '...' placeholder instead of a complete command.

4 / 5

Workflow Clarity

Clear four-step sequence with an explicit verification step (step 4) and a fallback feedback loop in the Example. Not 5 because the verification is described vaguely ('Check output contains readable text') without a concrete check command.

4 / 5

Progressive Disclosure

Well-organized into clear sections (When to Use, Methods, Workflow, Installation, Anti-Patterns, Example) with all content appropriately inline for a focused fallback skill. Not 5 because the skill exceeds 50 lines and offers no one-level-deep references to signal.

4 / 5

Total

15

/

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 is clear and well-scoped as a fallback trigger, explicitly covering both what it does and when to use it. Its main weaknesses are thin trigger-term coverage (missing common synonyms) and listing only a single concrete action.

Suggestions

Add a 'Use when...' clause listing natural user triggers, e.g., 'Use when read_file fails on PDFs, or when extracting text, forms, or tables from PDF documents.'

Broaden trigger terms to include synonyms users actually say: 'PDF files', 'document extraction', 'forms', 'tables', and the '.pdf' extension.

Mention the additional capabilities the body covers (metadata via pdfinfo, tables via pdfplumber) to lift specificity beyond a single action.

DimensionReasoningScore

Specificity

Names the domain (PDFs) and one concrete action ("Extract text") with a method ("shell tools"), but offers only a single action rather than comprehensive coverage. It is below 4, which requires several specific actions.

3 / 5

Completeness

Explicitly answers what ("Extract text from PDFs using shell tools") and when ("when read_file fails"), satisfying both halves. Not 5 because the trigger is a single narrow technical condition rather than a range of concrete user-facing trigger phrases.

4 / 5

Trigger Term Quality

Includes the natural term "PDFs" and "text", but lacks common variations and synonyms users would say (forms, document extraction, .pdf, tables). Below 4 which expects broader keyword coverage.

3 / 5

Distinctiveness Conflict Risk

Targets a clear niche (PDF text extraction as a fallback) with a distinct trigger (read_file failing), giving minimal conflict risk. Not 5 because it could still overlap with broader PDF skills that also extract text.

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
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.