CtrlK
BlogDocsLog inGet started
Tessl Logo

pdf

Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text/tables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting/decrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.

68

Quality

82%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

High

Do not use without reviewing

The canonical home for this skill is pdf in anthropics/skills

SKILL.md
Quality
Evals
Security

Quality

Content

65%

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 complete, copy-paste-ready code and commands across a well-organized set of PDF operations. Its weaknesses are redundancy across equivalent tools, absent validation checkpoints for batch/destructive tasks, and broken references to FORMS.md/REFERENCE.md that never connect to the actual scripts/ bundle.

Suggestions

Pick one primary tool per task and move the redundant alternatives (merge/split/rotate shown in pypdf, qpdf, AND pdftk) plus the restating Quick Reference table into REFERENCE.md to tighten token use.

Add validation/verification checkpoints to batch and destructive operations — e.g. verify page counts after merge/split and confirm the encrypted output opens — to lift workflow clarity above the level-2 cap.

Create the missing FORMS.md and REFERENCE.md, or repoint the form-filling instructions directly at the existing scripts/ utilities (extract_form_field_info.py, fill_fillable_fields.py, check_bounding_boxes.py) so the body actually navigates to the real bundle.

DimensionReasoningScore

Conciseness

The body avoids explaining concepts Claude already knows, but it is not fully lean: merge, split, and rotate are each shown three ways (pypdf, qpdf, pdftk) and the closing Quick Reference table restates the same operations, so it "could be tightened" per the level-2 anchor rather than earning level-3's every-token-counts bar.

2 / 3

Actionability

Nearly every task is given as complete, executable Python or shell (e.g. the pdfplumber table loop, `qpdf --empty --pages ...`, the reportlab Platypus build), matching the level-3 anchor of fully executable, copy-paste-ready guidance; it is well above the pseudocode level-2 anchor.

3 / 3

Workflow Clarity

The body is a catalog of independent single-task snippets with no sequencing or validation checkpoints for batch/destructive operations such as merge, split, encrypt, or OCR, so the rubric's cap-at-2 rule for missing validation in batch operations applies rather than the level-3 checkpoint anchor.

2 / 3

Progressive Disclosure

Sections are well organized and references are clearly signaled ("see REFERENCE.md", "read FORMS.md"), but those referenced files do not exist and the real scripts/ bundle (e.g. fill_fillable_fields.py, extract_form_field_info.py) is never surfaced from the body, so navigation is broken and it falls short of the level-3 one-level-deep, easy-navigation anchor.

2 / 3

Total

9

/

12

Passed

Description

100%

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 strong: it enumerates a comprehensive set of concrete PDF actions, includes natural trigger terms, and gives explicit when-guidance, all within a clearly scoped PDF niche. It is a near-ideal example of the rubric's level-3 anchors.

DimensionReasoningScore

Specificity

The description lists many concrete actions — "reading or extracting text/tables", "merging multiple PDFs", "splitting PDFs apart", "rotating pages", "adding watermarks", "filling PDF forms", "encrypting/decrypting", "extracting images", and "OCR" — matching the level-3 anchor of multiple specific concrete actions; it is not the level-2 "some actions" case.

3 / 3

Completeness

It explicitly states both what (the enumerated action list) and when ("Use this skill whenever the user wants to do anything with PDF files" and "If the user mentions a .pdf file or asks to produce one, use this skill"), satisfying the level-3 anchor for explicit what-and-when triggers.

3 / 3

Trigger Term Quality

It covers natural user terms — "PDF files", "PDFs", ".pdf file", "PDF forms", and "scanned PDFs" — giving the broad natural-keyword coverage of the level-3 anchor rather than the partial level-2 coverage.

3 / 3

Distinctiveness Conflict Risk

It is scoped to a clear PDF-processing niche with distinct triggers (".pdf file", "produce one", the enumerated PDF operations), making it unlikely to fire for unrelated skills, matching the level-3 anchor rather than the overlapping level-2 case.

3 / 3

Total

12

/

12

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

Total

15

/

16

Passed

Repository
zebbern/claude-code-guide
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.