CtrlK
BlogDocsLog inGet started
Tessl Logo

local-pdf-extraction

Extract text from local PDFs using pdftotext or PyMuPDF via run_shell

57

Quality

72%

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

65%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 body is actionable and well-structured with executable code for both single and batch extraction, but it is padded with redundant examples and lacks genuine validation checkpoints for its batch operations.

Suggestions

Remove the duplicated "Complete Workflow Example" and second Python script, or fold them into the main steps to cut redundancy.

Add a real validation checkpoint after batch extraction, e.g. check that each .txt is non-empty and log any PDF that produced no text.

Fix or remove the speculative `read_file(filetype="txt", file_path=...)` call so the read step is also copy-paste accurate.

DimensionReasoningScore

Conciseness

Mostly efficient but padded by redundancy — the "Complete Workflow Example" and second Python script restate Steps 1–2 and Method B, and the "Key Takeaways" section repeats earlier points — matching anchor 3.

3 / 5

Actionability

Provides copy-paste-ready pdftotext commands and a complete PyMuPDF script covering single and batch cases (anchor 5 territory), with a minor gap in the speculative `read_file(filetype="txt", ...)` call signature pulling it toward 4.

4.5 / 5

Workflow Clarity

Steps are clearly numbered (locate → extract → read → process), but the batch extraction workflow lacks real validation checkpoints — "Verify extraction: ls -la *.txt" only lists files rather than confirming content — so per the rubric's batch-operation cap workflow clarity is capped at 3.

3 / 5

Progressive Disclosure

No bundle files exist and the skill is self-contained with well-organized sections (When to Use, Steps, Troubleshooting, Takeaways); at ~119 lines it exceeds the under-50-line simple-skill exception, and the duplicated workflow example is a minor organization gap, placing it at anchor 4.

4 / 5

Total

14.5

/

20

Passed

Description

65%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 specific and distinctive, clearly conveying the task and tools, but it omits an explicit "Use when..." trigger clause, which caps completeness and slightly weakens trigger clarity.

Suggestions

Add an explicit "Use when..." clause, e.g. "Use when read_file returns binary data for local PDFs and you need their text content."

Include common synonyms/extensions such as ".pdf" or "document extraction" to broaden natural trigger matching.

Optionally mention a second capability (e.g. batch extraction) to lift specificity from one action toward several.

DimensionReasoningScore

Specificity

"Extract text from local PDFs using pdftotext or PyMuPDF" names one concrete action plus two specific tools, sitting between anchor 3 (one action) and anchor 4 (several actions); the tool naming lifts it slightly above 3 but it is not a multi-action list.

3.5 / 5

Completeness

The "what" is clear (extract text from local PDFs via named tools) but there is no "Use when..." clause or equivalent trigger guidance, so per the rubric completeness is capped at 3.

3 / 5

Trigger Term Quality

Includes natural terms "PDFs", "extract text", "pdftotext", "PyMuPDF" — good keyword coverage matching anchor 4, though common synonyms like ".pdf" or "document" are absent.

4 / 5

Distinctiveness Conflict Risk

"local PDFs" plus "pdftotext or PyMuPDF via run_shell" carves a clear, distinctive niche with minimal conflict risk, landing between anchor 4 and 5; the absent "use when" slightly blurs triggering.

4.5 / 5

Total

15

/

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.

Validation — 16 / 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.