CtrlK
BlogDocsLog inGet started
Tessl Logo

pdf-toolkit

Structured `.pdf` operations: extract text/tables, merge pages from multiple PDFs, split a PDF by page ranges, fill PDF form fields, and generate fresh PDFs from JSON. Trigger when the user wants programmatic PDF work without natural-language rewriting — examples: pull tables from a report, combine three PDFs, extract pages 5-12, fill a tax form, or build a new PDF from data. Distinct from `nano-pdf`, which uses an LLM to rewrite a page from a sentence; this skill is deterministic byte-level work via pypdf, pdfplumber, and reportlab.

76

Quality

96%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

SKILL.md
Quality
Evals
Security

Quality

Content

93%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 well-structured, executable skill body: lean prose, copy-paste commands, a clear decision table routing to four paths, and properly separated scripts and references. The only gap is an explicit feedback-loop checklist for the destructive/batch operations.

Suggestions

Add an explicit validate→fix→retry step for batch/destructive paths (e.g., after merge/split/form_fill, verify page count or run `--list-fields` before filling) to push workflow clarity to 5.

Consider a one-line 'Verify' callout at the end of Path B and Path C confirming the output PDF opens and has the expected page count.

DimensionReasoningScore

Conciseness

Lean and token-efficient; it assumes Claude's competence and avoids explaining what PDFs or libraries are. Every section (decision table, paths, pitfalls, boundaries) earns its place.

5 / 5

Actionability

Copy-paste ready commands with `{baseDir}/scripts/*.py` paths, complete JSON manifest and data examples, and a complete inline reportlab snippet covering the common generate-from-scratch case.

5 / 5

Workflow Clarity

A decision table cleanly routes to four sequenced paths, and the form-fill path offers `--list-fields` validation plus a Common pitfalls table for error recovery. It falls just short of 5 because the batch/destructive operations lack an explicit validate→fix→retry loop checklist.

4 / 5

Progressive Disclosure

The body is a clear overview with a routing table; scripts are separate invoked-by-path files and references (reportlab.md, pypdf.md) are one level deep and clearly signaled — easy to navigate.

5 / 5

Total

19

/

20

Passed

Description

100%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 model description: it concretely lists capabilities, gives explicit trigger guidance with natural example phrases, and draws a clear boundary against a sibling skill. No verbosity or over-claims.

DimensionReasoningScore

Specificity

Lists five concrete, distinct operations (extract text/tables, merge pages, split by ranges, fill form fields, generate from JSON) — comprehensive coverage with no vague language.

5 / 5

Completeness

Explicitly states both what it does (five named operations) and when to use it via an explicit 'Trigger when...' clause with concrete example phrases.

5 / 5

Trigger Term Quality

Comprehensive natural terms including the `.pdf` extension, plus user-facing phrases like 'pull tables from a report', 'combine three PDFs', and 'fill a tax form'.

5 / 5

Distinctiveness Conflict Risk

Clearly carves a niche and explicitly distinguishes itself from the sibling `nano-pdf` skill, minimizing the chance of triggering for the wrong skill.

5 / 5

Total

20

/

20

Passed

Validation

81%

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

Validation13 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

metadata_field

'metadata' should map string keys to string values

Warning

frontmatter_unknown_keys

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

Warning

Total

13

/

16

Passed

Repository
TokenRhythm/opensquilla
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.