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.
84
75%
Does it follow best practices?
Impact
100%
1.17xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./skills/data/06-office-pdf/SKILL.mdQuality
Discovery
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.
This is a strong skill description that clearly articulates specific capabilities (extracting text/tables, creating, merging/splitting, form handling) and provides an explicit 'When' clause for trigger guidance. It uses third-person voice appropriately and includes natural keywords users would use when needing PDF-related help. The description is concise yet comprehensive.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Lists multiple specific concrete actions: 'extracting text and tables', 'creating new PDFs', 'merging/splitting documents', 'handling forms', 'fill in a PDF form', 'programmatically process, generate, or analyze PDF documents'. | 3 / 3 |
Completeness | Clearly answers both 'what' (extracting text/tables, creating PDFs, merging/splitting, handling forms) and 'when' ('When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale'). The 'When' clause is explicit. | 3 / 3 |
Trigger Term Quality | Includes strong natural keywords users would say: 'PDF', 'text', 'tables', 'merging', 'splitting', 'forms', 'PDF form', 'extract', 'generate', 'analyze PDF documents'. Covers many common variations of PDF-related tasks. | 3 / 3 |
Distinctiveness Conflict Risk | Clearly scoped to PDF manipulation with distinct triggers like 'PDF form', 'merging/splitting documents', 'PDF documents'. Unlikely to conflict with other skills due to the specific PDF focus and detailed action list. | 3 / 3 |
Total | 12 / 12 Passed |
Implementation
50%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
The skill provides comprehensive, executable code examples covering many PDF operations, but it is far too verbose for a SKILL.md—most of the content is standard library usage that Claude already knows and could generate on demand. The file functions more as a reference manual than a skill that teaches Claude something new. It would benefit greatly from being trimmed to only project-specific conventions, tool preferences, and validation workflows, with the bulk of examples moved to reference files.
Suggestions
Drastically reduce the content to only project-specific decisions (e.g., 'use pypdf for merge/split, pdfplumber for extraction, reportlab for creation') and move all code examples to reference.md—Claude already knows how to use these libraries.
Add explicit validation/verification steps to merge/split workflows (e.g., verify page count after merge, check file size, open and validate output before deleting originals).
Remove explanations of basic operations Claude already knows (metadata extraction, text extraction, password protection) and focus on edge cases, gotchas, or project-specific patterns that add genuine value.
Move the quick reference table and common tasks section to reference.md, keeping SKILL.md as a concise routing document with only the essential decision logic and pointers.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is very verbose, including many code examples that Claude already knows how to write (basic pypdf usage, reportlab canvas creation, pdftotext commands). It reads like a tutorial/reference manual rather than a skill that adds novel knowledge. Much of this is standard library usage that Claude can generate on demand. | 1 / 3 |
Actionability | The code examples are fully executable, copy-paste ready, and cover a wide range of tasks with specific imports, function calls, and complete code blocks. Each task has concrete, working code rather than pseudocode or vague descriptions. | 3 / 3 |
Workflow Clarity | While individual operations are clear, there are no validation checkpoints or feedback loops for destructive operations like merging/splitting. The interactive processing section mentions confirming operations but doesn't integrate validation steps into the actual workflows. For batch merge/split operations, there's no verify-before-proceeding pattern. | 2 / 3 |
Progressive Disclosure | References to forms.md and reference.md are present and clearly signaled, which is good. However, the main file contains ~200 lines of code examples that could be in a reference file, making the SKILL.md itself a near-monolithic reference rather than a concise overview pointing to detailed materials. | 2 / 3 |
Total | 8 / 12 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 — 11 / 11 Passed
Validation for skill structure
No warnings or errors.
d156cd1
Table of Contents
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.