CtrlK
BlogDocsLog inGet started
Tessl Logo

pdftotext-fallback

Recover PDF text extraction when read_file returns binary data by using pdftotext via shell

63

Quality

73%

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/pdftotext-fallback/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

72%

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 and cleanly organized for a simple fallback skill, but it carries redundant content and its verification step is not a hard checkpoint. Tightening the duplicated examples and strengthening the verify step would raise the two middle dimensions.

Suggestions

Remove the standalone 'Code Examples' section or fold its unique cases into Steps, and drop or shorten 'Why This Works' since Claude already knows what pdftotext is, to cut redundancy.

Turn Step 4 into an explicit gate: require a concrete success check (e.g. non-empty, non-garbled output) with a defined retry path (re-run with -layout / -enc UTF-8) before proceeding.

Use consistent code fences — the ```bash blocks contain Python-style 'text = run_shell(...)' assignments; either label them as tool invocations or show raw shell commands.

DimensionReasoningScore

Conciseness

The body is mostly concrete, but the 'Why This Works' section explains pdftotext at a level Claude already knows, the 'Code Examples' section repeats commands already shown in Steps, and 'When to Use' overlaps 'Step 1: Detect the Failure'.

2 / 3

Actionability

It provides fully executable pdftotext invocations with concrete flags (-layout, -enc UTF-8, output-to-file), copy-paste-ready examples, and a troubleshooting table with specific fixes.

3 / 3

Workflow Clarity

The four steps are clearly sequenced and Step 4 includes a verify action, but the validation is a light 'check completeness and continue' without an explicit pass/fail gate or a retry feedback loop.

2 / 3

Progressive Disclosure

For a single-purpose fallback technique, the content is well-organized into clearly headed sections with no nested references and no bundle files, so the single-file structure is appropriate and navigable.

3 / 3

Total

10

/

12

Passed

Description

75%

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 distinctive with explicit what/when triggers, but it captures only one action and leans on agent-internal jargon rather than natural user keywords. It scores well on completeness and distinctiveness, less so on specificity and trigger phrasing.

Suggestions

Add one or two more concrete actions (e.g. 'preserves layout with -layout, outputs to file or stdout') so the description lists multiple specific capabilities rather than a single recovery action.

Reframe the trigger in user-facing terms alongside the technical one, e.g. 'Use when a PDF returns binary or garbled text, or when you need to extract text from PDFs', to broaden natural keyword coverage.

DimensionReasoningScore

Specificity

The phrase 'Recover PDF text extraction ... by using pdftotext via shell' names a concrete action and mechanism, but it describes a single action rather than the multiple distinct concrete actions (e.g. extract, fill, merge) that the anchor-3 example lists.

2 / 3

Completeness

It explicitly answers both what ('Recover PDF text extraction') and when ('when read_file returns binary data') with an explicit trigger clause equivalent to a 'Use when...' form, so it is not capped at 2.

3 / 3

Trigger Term Quality

'PDF text extraction' is a relevant keyword, but the trigger is framed in technical/agent jargon ('read_file returns binary data', 'pdftotext via shell') rather than natural user language, and it omits common user variations like 'PDFs' or 'extract text from a PDF'.

2 / 3

Distinctiveness Conflict Risk

It targets a clear niche — a fallback for a specific failure mode — with distinct triggers ('when read_file returns binary data') that are unlikely to conflict with general PDF-processing skills.

3 / 3

Total

10

/

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.