CtrlK
BlogDocsLog inGet started
Tessl Logo

pdf

Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms. When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale.

85

3.69x
Quality

82%

Does it follow best practices?

Impact

85%

3.69x

Average score across 3 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

72%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 highly actionable, code-complete reference with lean prose, but it functions as a snippet cookbook: no validation steps for batch operations, and its progressive disclosure is broken — both referenced markdown files are missing from the bundle while the bundled scripts are never surfaced. Fixing navigation and adding output verification would raise the two weakest dimensions.

Suggestions

Reference the bundled scripts directly from SKILL.md (e.g., a Forms section pointing to scripts/check_fillable_fields.py and scripts/fill_fillable_fields.py) or restore the missing forms.md and reference.md so the signaled links resolve.

Add lightweight validation after batch/destructive operations, e.g., verify merged output with len(PdfReader("merged.pdf").pages) or confirm the encrypted PDF opens with the password before declaring success.

Trim redundancy: drop either the Quick Start extract-text example or the pdfplumber "Extract Text with Layout" section, and cut the Quick Reference table rows that duplicate full sections.

DimensionReasoningScore

Conciseness

The body is code-dense with essentially no explanations of concepts Claude already knows, but there is minor redundancy: text extraction appears in both Quick Start and the pdfplumber section, and the Quick Reference table repeats content already shown. This fits the score-4 anchor (efficient with minor trimmable instances) rather than the fully lean score-5 anchor.

4 / 5

Actionability

Nearly every section contains complete, copy-paste-ready executable code or commands (pypdf merge/split/rotate/encrypt, pdfplumber text and table extraction, reportlab creation, qpdf/pdftotext/pdftk commands, OCR and watermark recipes), covering the common PDF cases; this matches the score-5 anchor.

5 / 5

Workflow Clarity

The body is a task cookbook with no multi-step sequencing and no validation checkpoints for risky or batch operations — merging, splitting, and encryption never verify their output (e.g., checking page counts or that the output opens). Per the rubric guideline, batch/destructive operations without validation cap workflow clarity at 3; it is not a 2 because the per-task guidance itself is coherent and well-organized.

3 / 5

Progressive Disclosure

References to reference.md and forms.md are clearly signaled and one level deep, but neither file exists in the bundle, and the eight scripts in scripts/ (form-field checking, filling, annotation, etc.) are not referenced from SKILL.md at all — the skill's actual bundle resources are unreachable from the overview. This is more than the "minor organization gaps" of the score-4 anchor, so it fits score-3 structure-with-significant-organization-problems.

3 / 5

Total

15

/

20

Passed

Description

92%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: concrete capability list, explicit trigger guidance in third person, and a distinct PDF niche. The only weakness is slightly limited keyword variation (no ".pdf" extension or plural "PDFs").

DimensionReasoningScore

Specificity

"extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms" lists multiple specific concrete actions with comprehensive coverage, matching the score-5 anchor; it is not a 4 because there are no meaningful coverage gaps.

5 / 5

Completeness

The description explicitly answers both what ("extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms") and when ("When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale") with concrete trigger phrases, matching the score-5 anchor; the when-clause is explicit, not merely implied, so it is not a 4.

5 / 5

Trigger Term Quality

Natural terms like "PDF", "fill in a PDF form", and "documents" are present, but common variations such as "PDFs" and the ".pdf" file extension are missing, matching the score-4 anchor ("good keyword coverage; a few natural terms missing") rather than the comprehensive score-5 anchor.

4 / 5

Distinctiveness Conflict Risk

The description carves out a clear PDF-processing niche with distinct triggers ("PDF form", "PDF documents") and minimal overlap risk with other skills, matching the score-5 anchor.

5 / 5

Total

19

/

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
davepoon/buildwithclaude
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.