CtrlK
BlogDocsLog inGet started
Tessl Logo

local-pdf-extraction

Extract text from local PDFs using pdftotext or PyMuPDF via run_shell

55

Quality

61%

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/local-pdf-extraction/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 with executable code and a clear step sequence, but loses conciseness to a duplicated example section and lacks a robust validation checkpoint for the batch extraction workflow.

Suggestions

Remove or trim the 'Complete Workflow Example' section, since its batch loop and Python script duplicate Step 2's Methods A and B.

Add an explicit validation checkpoint in the main batch flow, e.g. verify each .txt is non-empty and re-run failed PDFs before proceeding.

Drop the 'Key Takeaways' section or merge its non-obvious points (e.g. avoid read_file on PDFs) into 'When to Use' to reduce restatement.

DimensionReasoningScore

Conciseness

It avoids explaining concepts Claude already knows, but the 'Complete Workflow Example' section duplicates the batch loop and Python script already shown in Step 2, and 'Key Takeaways' restates prior content, so it could be tightened.

2 / 3

Actionability

Provides fully executable, copy-paste-ready bash (pdftotext, find, ls) and a complete PyMuPDF heredoc script with no pseudocode gaps.

3 / 3

Workflow Clarity

Steps 1–4 are clearly sequenced, but this batch operation lacks an explicit validation/feedback loop in the main flow (only a light 'ls -la *.txt' verify appears in the example), which caps workflow clarity at 2 for batch ops.

2 / 3

Progressive Disclosure

A simple single-purpose skill with well-organized sections (When to Use, Steps, Example, Troubleshooting, Key Takeaways), no nested references, and no need for external bundle files.

3 / 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 concrete and tool-specific about what it does, but omits any explicit 'when to use' trigger guidance and has limited trigger-term coverage, leaving all dimensions at the mid level.

Suggestions

Add an explicit 'Use when…' clause, e.g. 'Use when read_file returns binary data from local PDFs and you need their text.'

Broaden trigger terms to include common variations users say: 'PDF files', '.pdf', 'document extraction', 'convert PDF to text'.

Mention additional concrete actions (e.g. batch extraction) to lift specificity toward the top anchor.

DimensionReasoningScore

Specificity

Names the domain (local PDFs) and concrete tools (pdftotext, PyMuPDF, run_shell), but describes a single action (extract text) rather than the multiple distinct actions the top anchor requires.

2 / 3

Completeness

Clearly states what the skill does, but provides no 'Use when…' trigger clause or equivalent explicit when-guidance, which caps completeness at 2 per the guidelines.

2 / 3

Trigger Term Quality

Contains natural terms a user would say ('Extract text', 'PDFs'), but misses common variations such as 'PDF files', '.pdf', or 'document', so coverage is incomplete.

2 / 3

Distinctiveness Conflict Risk

The 'local PDFs' + 'run_shell' niche is fairly specific, but without explicit triggers it could still overlap with more general PDF or document-handling skills.

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.