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

80%

Does it follow best practices?

Impact

97%

2.48x

Average score across 10 eval scenarios

SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./configs/microservice/bff-service/configs/agent-skills/clawhub/pdf/SKILL.md
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, token-efficient cookbook of executable PDF recipes with good internal organization. Its two real weaknesses are the absence of any validation/verification guidance for batch operations like merging and splitting, and the fact that all external references (reference.md, forms.md) point to files that do not exist in the bundle.

Suggestions

Add validation checkpoints to batch operations — e.g., after merging or splitting, verify output page counts (len(PdfReader("merged.pdf").pages) == expected) before reporting success.

Create reference.md and forms.md (or place them under references/) so the Overview, Quick Reference, and Next Steps pointers resolve to real files instead of dangling paths.

Deduplicate the merge/split/rotate recipes that appear in pypdf, qpdf, and pdftk sections — keep one canonical method per task in SKILL.md and move the alternatives into reference.md.

DimensionReasoningScore

Conciseness

The body is almost entirely lean, executable code with minimal prose and no explanations of concepts Claude already knows, but it is mildly duplicated: the Quick Start text-extraction snippet repeats the pdfplumber section, and merge/split/rotate each appear three times (pypdf, qpdf, pdftk) where one canonical path per task would do — minor trim opportunities rather than noticeable padding, so anchor 4 over anchor 3.

4 / 5

Actionability

Every section is copy-paste-ready, runnable code or commands with installation notes where needed ("# Requires: pip install pytesseract pdf2image") and covers the common PDF cases (merge, split, extract text/tables, create, OCR, watermark, images, encrypt), matching the anchor 5 "fully executable ... covers the common cases" example.

5 / 5

Workflow Clarity

This is a task cookbook, not a sequenced workflow: no multi-step ordering with checkpoints, and batch/destructive operations like merge, split, and overwrite-style encryption get no validation or verification steps (e.g., checking output page counts), which per the judging guidelines caps workflow clarity at 3.

3 / 5

Progressive Disclosure

Section structure and cross-navigation are good (Overview, Quick Reference table, Next Steps), but the body repeatedly points to "reference.md" and "forms.md" — and no such files exist anywhere in the bundle, so every reference is dangling. The structure is present and clearly signaled, yet broken, which sits at anchor 3 ("references present but" deficient) rather than rewarding it at 4.

3 / 5

Total

15

/

20

Passed

Description

87%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 with an explicit what-plus-when structure, concrete action verbs, and a well-scoped PDF niche. Its only weaknesses are minor: a touch of self-praising filler ("Comprehensive ... toolkit"), slightly vague "handling forms", and missing natural synonyms like ".pdf" or plain "PDFs".

DimensionReasoningScore

Specificity

"extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms" lists several concrete actions, but "Comprehensive ... toolkit" is mild fluff, "handling forms" is vaguer than "fill forms", and body-covered capabilities (OCR, image extraction, watermarking) go unmentioned — minor gaps consistent with the anchor 4 example rather than the comprehensive anchor 5.

4 / 5

Completeness

It explicitly answers both questions: the "what" is the concrete capability list, and the "when" is a full trigger clause — "When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents at scale" — matching the anchor 5 example structure almost exactly.

5 / 5

Trigger Term Quality

Natural user phrases like "PDF form", "fill in a PDF form", and "process, generate, or analyze PDF documents" are present, but the description never says "PDF files"/"PDFs" as a plain noun phrase and omits the ".pdf" extension, so it falls short of the anchor 5 synonym-and-extension coverage.

4 / 5

Distinctiveness Conflict Risk

The PDF domain is a clear niche with distinct triggers ("PDF form", "PDF documents"); no overlap risk with adjacent document/spreadsheet skills, matching the anchor 5 "clear niche with distinct triggers" example.

5 / 5

Total

18

/

20

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 — 16 / 16 Passed

Validation for skill structure

No warnings or errors.

Repository
UnicomAI/wanwu
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.