CtrlK
BlogDocsLog inGet started
Tessl Logo

pdf-read-file-fallback

Extract text from PDFs using pdftotext when read_file returns binary data

56

Quality

63%

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

77%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The content is highly actionable with executable code and a clear, validated fallback workflow. Its weaknesses are token efficiency (a redundant complete example) and the absence of any progressive-disclosure structure for a slightly long single-file skill.

Suggestions

Eliminate the redundant "Complete Example" or replace it with a brief note that the steps compose, since it repeats the step 1–4 code.

Consider splitting the pdfplumber fallback and the OCR/notes guidance into a short reference file linked from the body, to introduce one level of progressive disclosure.

DimensionReasoningScore

Conciseness

The body is lean with no PDF-basics padding and assumes Claude's competence, but the "Complete Example" largely duplicates the code already shown in steps 1–4 and could be tightened.

2 / 3

Actionability

Provides fully executable, specific code for every path — read_file, run_shell with pdftotext flags, and pdfplumber via execute_code_sandbox — making it copy-paste ready.

3 / 3

Workflow Clarity

A clear four-step sequence (attempt → detect → pdftotext → pdfplumber) with explicit validation checks at each stage and a fallback feedback loop for error recovery.

3 / 3

Progressive Disclosure

Sections are well organized, but at ~100 lines the skill is monolithic with no external references or overview-pointing-to-details structure, exceeding the under-50-line allowance for a simple single-file skill.

2 / 3

Total

10

/

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 is specific and names a concrete tool, but it reads as a technical fallback note rather than a user-oriented trigger description. It lacks a natural "Use when…" clause and broad trigger-term coverage, so every dimension lands at the midpoint.

Suggestions

Add an explicit "Use when…" trigger clause with natural user phrasing, e.g. "Use when extracting text from PDF files, .pdf attachments, or scanned documents."

Broaden trigger term coverage to include common variations users say: "PDF files", "PDFs", ".pdf", "document extraction".

Reframe the condition as a user-facing scenario (e.g. "Use when a PDF returns unreadable or image-only content") rather than the tool-internal "read_file returns binary data".

DimensionReasoningScore

Specificity

Names the domain and one concrete action with a specific tool ("Extract text from PDFs using pdftotext"), but lists only a single action rather than multiple specific concrete actions.

2 / 3

Completeness

It states what it does and includes a "when" condition, but lacks a user-facing "Use when…" clause; the when-guideline is a technical fallback condition, capping completeness at 2.

2 / 3

Trigger Term Quality

"PDFs" and "extract text" are natural relevant keywords, but common variations (PDF files, .pdf, document) are missing and the trigger "when read_file returns binary data" is tool-internal jargon rather than user speech.

2 / 3

Distinctiveness Conflict Risk

The lead phrase "Extract text from PDFs" overlaps with general PDF-extraction skills and would match ordinary PDF requests, with distinctiveness relying only on the subordinate fallback clause.

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.