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.

81

3.69x
Quality

76%

Does it follow best practices?

Impact

85%

3.69x

Average score across 3 eval scenarios

SecuritybySnyk

Risky

Do not use without reviewing

Optimize this skill with Tessl

npx tessl skill review --optimize ./plugins/all-skills/skills/pdf/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

52%

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

The skill provides excellent actionable, executable code examples across multiple PDF processing tools and covers a wide range of tasks. However, it lacks workflow validation steps for operations that modify or create files (merging, splitting, watermarking, encryption), and the body is longer than necessary given that much of the library-specific detail could be moved to reference files. The progressive disclosure structure is reasonable but the main file carries too much inline content.

Suggestions

Add validation/verification steps after file-modifying operations (e.g., verify merged PDF page count matches expected total, confirm output file exists and is valid PDF)

Move detailed library-specific examples (reportlab multi-page, advanced table extraction, OCR) to reference.md and keep only the most essential quick-start examples inline

Add a brief error handling pattern or feedback loop for common failure modes (e.g., encrypted PDFs failing to read, missing poppler-utils, OCR quality checks)

DimensionReasoningScore

Conciseness

The skill is fairly comprehensive but includes some redundancy (e.g., showing merge/split/rotate operations that are straightforward for Claude). The quick reference table at the end partially duplicates what's already shown. Some sections like 'Extract Metadata' and 'Rotate Pages' are simple enough that Claude wouldn't need full examples, but overall it's not egregiously verbose.

2 / 3

Actionability

All code examples are fully executable, copy-paste ready Python and bash commands. Every task includes concrete, complete code with imports, file handling, and output. Both Python library usage and CLI tools are covered with specific syntax.

3 / 3

Workflow Clarity

There are no multi-step workflows with validation checkpoints. Operations like merging, watermarking, and encryption involve file manipulation but lack any verification steps (e.g., checking output file validity, confirming page counts after merge, validating encrypted output). For batch/destructive PDF operations, this absence of feedback loops is a significant gap.

1 / 3

Progressive Disclosure

The skill references forms.md and reference.md appropriately, and the 'Next Steps' section provides clear navigation. However, the main body is quite long (~200+ lines of inline code examples) and much of the library-specific detail could be offloaded to reference files. The references to bundle files cannot be verified since no bundle files were provided.

2 / 3

Total

8

/

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.

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', and '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

Validation

90%

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

Validation10 / 11 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

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

Warning

Total

10

/

11

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.