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

SKILL.md
Quality
Evals
Security

Quality

Content

68%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.

The body is highly actionable and reasonably token-efficient — nearly every section is executable, copy-paste-ready code or CLI commands. Its two real weaknesses are structural: batch operations lack any validation/verification steps, and progressive disclosure is broken because both referenced detail files (reference.md, forms.md) are missing from the bundle while the existing scripts/ directory is never surfaced.

Suggestions

Add validation checkpoints after batch/destructive operations — e.g. after merging, verify len(PdfReader('merged.pdf').pages) equals the sum of inputs; after splitting, confirm the number of output files matches the source page count.

Create the referenced reference.md and forms.md files (or fix the reference paths) so the "see reference.md" / "read forms.md" navigation in Overview and Next Steps actually resolves.

Surface the scripts/ bundle in the body — e.g. a "Bundled scripts" section listing fill_pdf_form_with_annotations.py, check_fillable_fields.py, extract_form_field_info.py, etc., with one-line descriptions of when to use each instead of a script.

DimensionReasoningScore

Conciseness

The body is almost entirely executable code with one-line section intros and no padding explaining what PDFs or libraries are, but repeated `from pypdf import PdfReader, PdfWriter` boilerplate across the Merge/Split/Rotate/Watermark/Encrypt sections and some overlapping task coverage could be trimmed. Matches anchor 4 (efficient, minor instances that could be trimmed); not 5 because the catalog still spends tokens on near-duplicate setup blocks, not 3 because there is no unnecessary conceptual explanation.

4 / 5

Actionability

Every section gives complete, copy-paste-ready code or commands (e.g. the full qpdf merge/split/rotate/decrypt block, the pdfplumber table-to-Excel pipeline, the OCR pipeline with pytesseract/pdf2image), covering the common PDF cases. This matches the anchor-5 example of fully executable guidance with common cases covered; there are no pseudocode or missing-detail gaps.

5 / 5

Workflow Clarity

This is a reference catalog rather than a sequenced workflow, and batch/destructive operations ("Split PDF" writing one file per page, merge, watermark, encrypt) ship with no validation or verification steps — e.g. nothing checks the merged output's page count or that a split preserved all pages. Per the judging guidelines, missing validation in batch operations caps workflow_clarity at 3; it is not 2 because the per-task instructions themselves are coherent and unambiguous.

3 / 5

Progressive Disclosure

The body repeatedly routes to "see reference.md" and "read forms.md", but neither file exists anywhere in the bundle (there is no references/ directory), so navigation is actively broken; meanwhile ~250 lines of library examples are inlined that belong in those files, and the 8 existing scripts in scripts/ (e.g. fill_pdf_form_with_annotations.py, check_fillable_fields.py) are never mentioned. This sits between anchor 2 (content that belongs in separate files is inlined / broken navigation) and anchor 3 (structure present but references unclear) — the dangling references and undiscoverable scripts push it to 2.

2 / 5

Total

14

/

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: it enumerates concrete capabilities in third person and closes with an explicit "When Claude needs to..." trigger clause. The only weakness is slightly incomplete natural-term coverage (no ".pdf" extension or "PDFs" synonym), which keeps trigger term quality at 4.

DimensionReasoningScore

Specificity

"extracting text and tables, creating new PDFs, merging/splitting documents, and handling forms" lists multiple concrete actions with comprehensive coverage of the PDF manipulation domain. Not 4: unlike the 4-anchor, there are no notable gaps in the action list.

5 / 5

Completeness

"Comprehensive PDF manipulation toolkit for extracting text and tables, creating new PDFs, merging/splitting documents" gives a concrete what, and "When Claude needs to fill in a PDF form or programmatically process, generate, or analyze PDF documents" gives an explicit when with concrete trigger phrases. This matches the anchor-5 good example almost exactly; the 4-anchor requires a when that 'could be more explicit', which does not apply.

5 / 5

Trigger Term Quality

"PDF form", "process, generate, or analyze PDF documents" are natural phrases users would say, but coverage misses the ".pdf" file extension and plural/synonym variations like "PDFs". Not 3: keyword coverage goes well beyond "Works with PDF files"; not 5: the anchor's comprehensive synonym/extension coverage is not met.

4 / 5

Distinctiveness Conflict Risk

The description is anchored entirely in PDF-specific operations ("PDF form", "merging/splitting documents"), giving it a clear niche with distinct triggers and minimal conflict risk with other skills. Not 4: it does not even share the minor overlap the 4-anchor example has ("PDF and Word document files").

5 / 5

Total

19

/

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
ThinkInAIXYZ/deepchat
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.