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

52

Quality

57%

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

65%

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 strong, actionable how-to with real executable commands and code, reasonably well-organized, but it is entirely inline with no progressive disclosure and its workflow validation checkpoints are generic rather than concrete.

Suggestions

Replace the generic verification bullets in the workflow with concrete executable checks, e.g. `test -s extracted_text.txt && file extracted_text.txt` or a non-empty/garbled-content assertion.

Tighten redundancy between the Methods section and the Workflow fallback so each snippet appears once, and trim the 'Problem' section to a single motivating line.

Consider moving the longer Python method examples or the integration pattern into a referenced file (e.g. references/methods.md) so SKILL.md stays a lean overview with one-level-deep links.

DimensionReasoningScore

Conciseness

The body is mostly lean and code-focused without explaining concepts Claude already knows, but the 'Problem' section elaboration and the overlap between the Methods examples and the Workflow fallback (both show fitz.open) could be tightened.

2 / 3

Actionability

It provides fully executable, copy-paste-ready commands and code throughout (pdftotext, pdfinfo, PyMuPDF, pdfplumber) with specific flags and complete snippets, rather than vague or pseudocode direction.

3 / 3

Workflow Clarity

The workflow is clearly sequenced with a Python fallback and a verification step, but the validation checkpoints are generic descriptions ('Check output is non-empty', 'Verify text is readable') rather than concrete executable checks, and the fallback is a linear retry rather than a true validate-fix-retry loop.

2 / 3

Progressive Disclosure

The content is well-organized into clearly headed sections with easy navigation, but it is entirely inline with no progressive file structure, and at ~115 lines some material (the four methods and the integration example) could be externalized to keep SKILL.md a lean overview.

2 / 3

Total

9

/

12

Passed

Description

50%

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 correctly names the PDF text-extraction domain and a concrete action, and includes an explicit when-condition, but the trigger is framed as an internal tool-failure fallback rather than natural user language, capping most dimensions at the middle level.

Suggestions

Rewrite the 'when' clause as user-facing trigger guidance, e.g. 'Use when extracting text from PDF files, especially when the default PDF reader returns binary/garbled output or fails.'

Add common natural trigger terms such as 'PDFs', '.pdf', 'forms', or 'document extraction' to improve trigger-term coverage.

List more concrete actions (e.g. extract text, preserve layout, extract tables, read metadata) to raise specificity beyond a single action.

DimensionReasoningScore

Specificity

Names the domain and a concrete action ('Extract PDF text content') plus a mechanism ('shell tools or Python libraries'), but lists only a single action rather than multiple specific concrete actions, so it is not comprehensive.

2 / 3

Completeness

It states both what it does and a when-condition, but the 'when' is an internal tool-failure fallback ('when read_file PDF handler fails') rather than clear user-facing trigger guidance, so it does not clearly answer when Claude should use it from a user perspective.

2 / 3

Trigger Term Quality

Contains relevant keywords ('PDF', 'extract', 'text content') but the trigger is framed in internal jargon ('when read_file PDF handler fails') that a user would not naturally say, and it misses common variations like 'PDFs', '.pdf', or 'forms'.

2 / 3

Distinctiveness Conflict Risk

The PDF text-extraction niche is specific, but it could still overlap with a broader general-purpose PDF skill and the trigger is operational rather than a distinct user-facing scenario.

2 / 3

Total

8

/

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.