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

84%

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

SKILL.md
Quality
Evals
Security

Quality

Content

68%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 strong executable cookbook: the code is complete, correct, and free of conceptual padding. Its main weaknesses are structural — batch operations lack any validation/verification step, the navigation points to REFERENCE.md and FORMS.md which are missing from the bundle, and the existing scripts/ assets (form filling) are undiscoverable from the body.

Suggestions

Ship the referenced files or fix the pointers: either add REFERENCE.md and FORMS.md to the bundle, or rewrite the 'For advanced features... see REFERENCE.md' / 'read FORMS.md' pointers to target the files that actually exist — e.g., route form filling to the scripts/ directory (scripts/fill_fillable_fields.py, scripts/fill_pdf_form_with_annotations.py).

Add verification checkpoints after batch operations: after merging, confirm the output page count equals the sum of inputs; after splitting/rotating, spot-check that the produced PDFs open and contain the expected pages.

Move the bulk of the per-task recipes into a reference file and keep SKILL.md as a lean overview (task-to-tool mapping table plus the Subscripts/Superscripts gotcha and pointers to references/scripts), reducing inline body length.

DimensionReasoningScore

Conciseness

The body is almost entirely executable code with no conceptual padding (no 'what a PDF is' or library tutorials), and the Subscripts/Superscripts section documents a genuine non-obvious gotcha. Minor trimming is possible — the 'pdftk (if available)' section largely duplicates the qpdf coverage, and the Quick Reference table repeats section content — so it sits between anchors 4 and 5 rather than fully lean.

4 / 5

Actionability

Every section provides complete, copy-paste-ready code or commands (pypdf merge/split/rotate/encrypt, pdfplumber text/tables, reportlab creation, qpdf/pdftotext/pdftk invocations, pytesseract OCR with its pip requirement noted). These are specific executable examples covering the common cases, matching the top anchor rather than the 'minor gaps' of anchor 4.

5 / 5

Workflow Clarity

Tasks are organized and the code implies a sequence, but batch operations (merging multiple PDFs, splitting into per-page files, applying watermarks to all pages) include no verification steps — e.g., confirming the merged page count or that split outputs open correctly. Per the rubric, missing validation in batch operations caps workflow clarity at 3 even though each individual recipe is clear.

3 / 5

Progressive Disclosure

Scored against the actual bundle: the body repeatedly directs the reader to REFERENCE.md and FORMS.md ('read FORMS.md and follow its instructions', 'see REFERENCE.md'), but neither file exists in the bundle, while the eight form-filling scripts that do exist in scripts/ are never mentioned. Combined with ~300 lines of cookbook recipes inlined in SKILL.md that belong in a reference file, this matches the anchor-2 pattern (inlined content that belongs in separate files plus broken navigation) more than the 'minor organization gaps' of anchor 4.

2 / 5

Total

14

/

20

Passed

Description

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

An exemplary description: it enumerates concrete capabilities comprehensively, states explicit 'use when' triggers with a file-extension cue, and is tightly scoped to the PDF domain. No fluff, over-claims, or voice issues detected.

DimensionReasoningScore

Specificity

The description lists many concrete actions — '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' — comprehensive coverage matching the top anchor. It is not the level-4 anchor because there are no meaningful gaps in coverage of common PDF operations.

5 / 5

Completeness

Both 'what' (the enumerated list of operations) and 'when' are explicitly and clearly answered with concrete trigger phrases: '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'. This mirrors the anchor-5 example verbatim in structure; anchor 4 would require the 'when' clause to be less explicit.

5 / 5

Trigger Term Quality

Comprehensive natural-term coverage including synonyms and file extensions: 'PDF files', 'PDFs', '.pdf file', 'merge', 'split', 'fill PDF forms', 'watermarks', 'OCR', 'scanned PDFs', plus natural trigger phrases in the frontmatter ('create pdf', 'convert to pdf'). This matches the top anchor exactly; level 4 would require several missing natural terms, which is not the case.

5 / 5

Distinctiveness Conflict Risk

The skill occupies a clear niche (PDF file manipulation) with distinct, PDF-specific triggers ('.pdf file', 'PDF forms', 'scanned PDFs'), creating minimal conflict risk with other document skills. Only a trivial overlap with table/spreadsheet skills via 'tables', not enough to drop to anchor 4.

5 / 5

Total

20

/

20

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.

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