CtrlK
BlogDocsLog inGet started
Tessl Logo

pdf-read-file-fallback

Extract text from PDFs using pdftotext when read_file returns binary data

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/pdf-read-file-fallback/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 content is a lean, actionable fallback recipe with executable code at every step, a clear validation feedback loop, and tidy sectioning. It is held back from top marks by minor redundancy between the steps and the complete example, hardcoded sample paths, and unexplained magic-number thresholds.

Suggestions

Remove or compress the 'Complete Example' section since it duplicates the numbered steps, or refactor the steps to reference one canonical example.

Replace magic-number thresholds (50, 100) with a named, justified heuristic or explain why those cutoffs indicate binary data.

Parameterize the step code samples (e.g., a file_path variable) instead of hardcoding 'document.pdf' so they read as copy-paste templates.

DimensionReasoningScore

Conciseness

The body is efficient and avoids explaining what PDFs are or how libraries work, but the 'Complete Example' section largely restates the numbered steps and the inline binary-indicator comments are mildly redundant, leaving minor trim opportunities that keep it just below 5.

4 / 5

Actionability

Provides copy-paste-ready code for every stage (read_file, pdftotext with explained flags, pdfplumber fallback) and a complete chained example, but step examples hardcode 'document.pdf' and the validation thresholds (50, 100 chars) are unjustified magic numbers, minor gaps that prevent a 5.

4 / 5

Workflow Clarity

A clear four-step sequence with explicit detection/validation checkpoints (step 2) and a primary-to-fallback-to-Python feedback loop in the complete example; this is a read-only operation so the destructive-cap does not apply, but the ad-hoc detection heuristics leave a minor validation gap short of 5.

4 / 5

Progressive Disclosure

Well-organized into When to Use, Steps, Complete Example, and Notes with no external references needed (no bundle files present); the Complete Example's overlap with the numbered steps is a minor organization gap that keeps it at 4 rather than 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 is concise, third-person, and clearly answers both what the skill does and when to use it via a concrete fallback trigger. It is specific to a narrow niche but lists only one main action and limited natural trigger variations.

Suggestions

Add 1-2 more concrete actions or synonyms (e.g., 'recover text from scanned or image-based PDFs') to lift specificity and trigger coverage.

Expand the when-clause with user-facing trigger phrases (e.g., 'Use when read_file returns binary data or when a PDF appears to be scanned/image-only').

Include the .pdf extension or 'document' as a natural keyword to broaden trigger-term match surface.

DimensionReasoningScore

Specificity

Names one concrete action ('Extract text from PDFs') with a specific tool ('pdftotext') and trigger condition, but does not list several actions as required for a 4; it is a single-purpose fallback rather than comprehensive coverage.

3 / 5

Completeness

Explicitly states what ('Extract text from PDFs using pdftotext') and when ('when read_file returns binary data'), satisfying both; the when-clause is a concrete internal trigger but not a richer set of user-facing trigger phrases, so it stops short of 5.

4 / 5

Trigger Term Quality

Includes the natural phrase 'Extract text from PDFs' and the tool name 'pdftotext', but lacks common variations or synonyms (document, .pdf, scanned) that would push it to a 4.

3 / 5

Distinctiveness Conflict Risk

The narrow fallback niche ('when read_file returns binary data') is a distinct trigger with minimal conflict risk, though 'Extract text from PDFs' still overlaps slightly with a general PDF skill, keeping it just below 5.

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.