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.

95

2.48x
Quality

76%

Does it follow best practices?

Impact

97%

2.48x

Average score across 10 eval scenarios

SecuritybySnyk

Risky

Do not use without reviewing

Optimize this skill with Tessl

npx tessl skill review --optimize ./claude/skills/document-skills/pdf/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

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 enumerates specific PDF manipulation capabilities and provides an explicit 'when' clause for triggering. It uses third-person voice appropriately and includes natural trigger terms users would use. The description is concise yet comprehensive, covering both the breadth of capabilities and the conditions under which the skill should be selected.

DimensionReasoningScore

Specificity

Lists multiple specific concrete actions: 'extracting text and tables', 'creating new PDFs', 'merging/splitting documents', and 'handling forms'. These are clear, actionable capabilities.

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', 'form', 'fill in a PDF form', 'generate', 'analyze PDF documents'. Good coverage of common variations and use cases.

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 document-type skills due to the specific PDF focus and enumerated capabilities.

3 / 3

Total

12

/

12

Passed

Implementation

52%

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The skill excels at actionability with comprehensive, executable code examples covering a wide range of PDF operations. However, it lacks workflow clarity—no validation steps, error handling, or feedback loops for operations that could fail silently (corrupt merges, failed OCR, etc.). The content is moderately well-organized with references to companion files, but the main body is longer than necessary given that much content could be delegated to reference files.

Suggestions

Add validation/verification steps to multi-step operations (e.g., after merging, verify page count matches expected total; after splitting, confirm each output file is readable; after encryption, test that the password works).

Add error handling patterns for common failure modes (corrupted PDFs, password-protected inputs, missing fonts in reportlab, OCR failures on low-quality scans).

Move detailed examples for reportlab PDF creation, OCR, and command-line tools into reference.md to reduce the main file's length and improve progressive disclosure.

Add a brief feedback loop pattern, e.g., 'After any write operation, re-read the output PDF and verify page count/content before reporting success.'

DimensionReasoningScore

Conciseness

The skill is fairly comprehensive but includes some redundancy (e.g., showing both pypdf and qpdf/pdftk for the same operations, the quick reference table partially duplicates inline examples). Some sections like basic PDF creation with reportlab are lengthy. However, it avoids explaining what PDFs are or how libraries work conceptually, which is good.

2 / 3

Actionability

Nearly every section provides fully executable, copy-paste-ready code examples with proper imports and complete snippets. Both Python and command-line approaches are covered with concrete commands. The code is real, not pseudocode.

3 / 3

Workflow Clarity

There are no multi-step workflows with validation checkpoints. Operations like merging, splitting, watermarking, and encryption are presented as isolated code snippets without any verification steps (e.g., checking output file validity, confirming page counts after merge/split, validating encrypted PDFs can be opened). For batch and destructive operations like merging and splitting, this is a significant gap.

1 / 3

Progressive Disclosure

The skill references forms.md and reference.md for advanced content, which is good structure. However, the main file itself is quite long (~250 lines of code examples) with content that could be split out (e.g., reportlab creation, OCR, command-line tools could each be separate references). The references are clearly signaled but the body retains too much inline detail.

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.

Validation11 / 11 Passed

Validation for skill structure

No warnings or errors.

Repository
einverne/dotfiles
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.