CtrlK
BlogDocsLog inGet started
Tessl Logo

pdf-extract-progressive-tools

Progressive tool-chain PDF extraction with explicit read_file, run_shell, and execute_code_sandbox sequencing

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

Medium

Suggest reviewing before use

Fix and improve this skill with Tessl

tessl review fix ./benchmarks/gdpval/skills/pdf-download-extract-fallback-enhanced-899f5b/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 body delivers a clear, actionable, well-sequenced extraction workflow with concrete commands and explicit validation checkpoints, scoring high on actionability and workflow clarity. Its weaknesses are token efficiency (heavy redundancy across three representations of the same flow) and progressive disclosure (a monolithic file with no bundle references).

Suggestions

Remove redundant representations — keep the step-by-step instructions and drop the 'Complete Tool Orchestration Script' and ASCII 'Tool Precedence Decision Tree' that restate the same flow, or move the orchestrator to a scripts/ file and link to it.

Split the large inline orchestration script and the 'Common Failure Modes' reference table into a references/ or scripts/ bundle file with a one-line link from SKILL.md to improve progressive disclosure.

Trim the 'Migration from Parent Skill' and 'Best Practices' sections, which largely restate information already covered by the steps and failure table.

DimensionReasoningScore

Conciseness

The core workflow is substantive and skill-specific (not generic concept explanation), but the same progression is restated three times — step-by-step instructions, a 'Complete Tool Orchestration Script', and an ASCII 'Tool Precedence Decision Tree' — plus 'Best Practices', 'Common Failure Modes', 'When to Use', and 'Migration from Parent Skill' sections, so it is padded and could be tightened considerably; not level 3 because redundant representations compete for context.

2 / 3

Actionability

Provides concrete, copy-paste-ready commands ('pdftotext document.pdf document.txt', 'apt-get install -y poppler-utils') and a complete executable PyMuPDF snippet, matching the 'fully executable code/commands; specific examples; copy-paste ready' anchor; not below because the guidance is concrete rather than pseudocode.

3 / 3

Workflow Clarity

Steps 1-5 are explicitly sequenced with decision branches ('Binary/image data detected -> immediately proceed to Step 2', 'If pdftotext is not available -> install'), an explicit Step 4 quality-verification checkpoint, and feedback/escalation loops for error recovery, matching the 'clear sequence with explicit validation steps and feedback loops' anchor.

3 / 3

Progressive Disclosure

No bundle files exist (references/scripts/assets absent) and the entire ~315-line skill is monolithic inline content with no external references; it is well-organized by headers but content that should be separate (the full orchestration script) is inline, matching 'some structure but content that should be separate is inline' rather than the split-and-signaled level 3.

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 conveys a clear, specific mechanism (progressive tool sequencing for PDF extraction) but reads as internal engineering jargon rather than natural user language and omits any 'Use when' trigger guidance. It answers 'what' well but not 'when', producing a uniform mid-level result across all dimensions.

Suggestions

Add an explicit trigger clause, e.g. 'Use when extracting text from PDF files, especially when read_file returns binary data or tool availability is uncertain.'

Replace internal tool names ('read_file, run_shell, execute_code_sandbox sequencing') with natural user-facing terms like 'PDF files, PDFs, extract text from PDFs' so it matches what users actually say.

List multiple concrete capabilities (e.g. text extraction, table extraction, OCR fallback) rather than a single extraction action to raise specificity.

DimensionReasoningScore

Specificity

Names the PDF-extraction domain and a concrete tool chain ('read_file, run_shell, and execute_code_sandbox'), but describes essentially one capability (extraction) rather than multiple distinct actions, matching the 'names domain and some actions, but not comprehensive' anchor rather than the multi-action level 3.

2 / 3

Completeness

Clearly states what the skill does, but provides no 'Use when...' clause or equivalent explicit trigger guidance, so the 'when' is missing — capped at 2 per the judging guidelines, and not level 3 which requires explicit triggers.

2 / 3

Trigger Term Quality

Contains the natural term 'PDF extraction', but the bulk is internal tool jargon ('Progressive tool-chain', 'read_file, run_shell, and execute_code_sandbox sequencing') that users would not naturally say, so coverage of natural trigger terms is incomplete and missing common variations like 'PDFs' or 'extract text'.

2 / 3

Distinctiveness Conflict Risk

The progressive-tool PDF-extraction niche is fairly specific, but the body notes it migrates from a parent 'pdf-download-extract-fallback' skill and the description lacks explicit distinct triggers, leaving overlap risk that keeps it below level 3.

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.