CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

pdf

Process PDF files - extract text, create PDFs, merge documents. Use when user asks to read PDF, create PDF, or work with PDF files.

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

76%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.

A well-organized, highly actionable body of executable examples covering the main PDF operations with good token efficiency. The main gap is the absence of validation/verification steps for the batch merge and split workflows.

Suggestions

Add verification checkpoints after batch operations: after merging, confirm the output page count equals the sum of inputs (e.g., len(fitz.open('merged.pdf'))); after splitting, confirm the number of generated page_N.pdf files matches len(doc).

Convert 'Best Practices' item 4 (OCR for scanned PDFs) into a concrete fallback step with an executable example (e.g., a pytesseract command) placed right after the text-extraction workflow it supports.

Trim non-earning tokens: drop the 'You now have expertise in PDF manipulation. Follow these workflows:' preamble and the vague 'Handle encoding issues' bullet, keeping only actionable guidance.

DimensionReasoningScore

Conciseness

The body is lean and code-forward with no explanations of concepts Claude already knows, but "You now have expertise in PDF manipulation. Follow these workflows:" and the vague "Handle encoding issues - PDFs may contain various character encodings" are minor instances of padding that could be trimmed. Not 5 because a few tokens do not earn their place; not 3 because there is no unnecessary explanation beyond these minor spots.

4 / 5

Actionability

Every workflow provides fully executable, copy-paste-ready commands or scripts (pdftotext invocations, pandoc conversions, fitz merge/split loops, a reportlab snippet) and they cover the common cases for each task. Not 4 because there is no pseudocode and no missing key details for the core operations.

5 / 5

Workflow Clarity

Sequences are clearly presented per task (e.g., open each PDF, result.insert_pdf(doc), result.save("merged.pdf")), but merging and splitting are batch operations with no validation or verification steps (e.g., confirming output page counts or that the merged file opens). Per the judging guideline, batch workflows without validation are capped at 3; not 4 because checkpoints are absent rather than having minor gaps, and not 2 because the sequences themselves are well defined.

3 / 5

Progressive Disclosure

Clear section headers (## Reading PDFs through ## Best Practices) make navigation easy and no references are buried, but the ~113-line body keeps everything inline, slightly beyond the under-50-line single-file exception. Not 5 because there is no overview-to-reference split of content; not 3 because the structure and organization are solid with nothing that clearly belongs in a separate file.

4 / 5

Total

16

/

20

Passed

Description

87%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.

A strong description that clearly states what the skill does and when to use it, with natural trigger phrasing and a well-defined PDF niche. The only weakness is modest keyword coverage: it omits common synonyms and the .pdf file extension.

DimensionReasoningScore

Specificity

"extract text, create PDFs, merge documents" names the domain plus three concrete actions, matching the anchor for several specific actions with minor gaps. It is not 5 because coverage is incomplete (no mention of splitting, forms, or OCR, which the body actually covers), and not 3 because it lists more than 1-2 actions.

4 / 5

Completeness

It explicitly answers both parts: the what is "Process PDF files - extract text, create PDFs, merge documents" and the when is "Use when user asks to read PDF, create PDF, or work with PDF files" with concrete trigger phrases. This mirrors the anchor-5 example structure, so it is not 4 where the "when" clause would be less explicit or specific.

5 / 5

Trigger Term Quality

"Use when user asks to read PDF, create PDF, or work with PDF files" includes natural phrases users would say, matching the good-coverage anchor. It is not 5 because it lacks synonyms and file extensions ("PDFs", ".pdf", "merge documents", "extract text"), and not 3 because the keyword coverage goes beyond merely "some relevant keywords".

4 / 5

Distinctiveness Conflict Risk

The description is entirely scoped to PDF files with distinct, format-specific triggers, giving it a clear niche with minimal conflict risk. It is not 4 because there is no overlap with adjacent document formats (e.g., Word/Excel) that would create minor conflict risk.

5 / 5

Total

18

/

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

shareAI-lab/learn-claude-code

Path

skills/pdf/SKILL.md

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.