CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

pdf

PDF files: create, read, merge, fill, OCR, edit text.

64

Quality

80%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

Fix and improve this skill with Tessl

tessl review fix ./skills/productivity/pdf/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

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

An exemplary operational skill body: complete executable commands, a sequenced procedure with validation checkpoints and feedback loops, well-signaled one-level-deep references, and pitfalls that convey genuinely non-obvious, tool-specific knowledge rather than general PDF background. The only meaningful improvement is removing the redundancy between the 'How to Run' command block and the 'Quick Reference' table.

DimensionReasoningScore

Conciseness

The body is dense and assumes Claude's competence — it never explains what a PDF is or how the libraries work, and every pitfalls bullet carries skill-specific operational detail. The one trim candidate is the Quick Reference table, which substantially duplicates the 'How to Run' command block, so not every token earns its place (anchor 4, not 5).

4 / 5

Actionability

The 'How to Run' block gives complete, copy-paste-ready commands with real flags for every common case (e.g. 'pdf_split.py doc.pdf --pages 1-3,7 --rotate 90', 'pdf_fill_form.py form.pdf --fields-json values.json -o filled.pdf --flatten'), plus concrete JSON spec shapes and exact values like radio export '"/red"' — fully executable guidance covering the common cases.

5 / 5

Workflow Clarity

The 9-step Procedure is clearly sequenced with an inspect-first step and a dedicated Verification section with per-operation checks; the form workflow is an explicit feedback loop ('Iterate spec → lint → overlay until clean') and form fill requires re-reading '--fields' to confirm values — validation checkpoints and error-recovery loops are all present.

5 / 5

Progressive Disclosure

The body is an overview with commands while three detailed capabilities are split into one-level-deep, well-signaled reference files (OCR → 'references/ocr-extraction.md', natural-language editing → 'references/nano-pdf-editing.md', form specs → 'references/forms.md'), all of which exist and none of which nest further; every script path named in the body is present in scripts/.

5 / 5

Total

19

/

20

Passed

Description

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

The description is a compact, concrete action list anchored clearly to the PDF domain, but it lacks any 'Use when...' trigger clause and carries thin natural-keyword coverage (only "PDF files" and "OCR"). Adding an explicit trigger sentence with common synonyms and file extensions would raise both completeness and trigger-term quality.

Suggestions

Append an explicit trigger clause, e.g. 'Use when working with PDF files or when the user mentions PDFs, forms, or document extraction.' — this addresses the completeness cap (missing 'Use when...' caps the dimension at 3).

Add natural trigger terms and synonyms currently missing: 'PDFs', '.pdf', 'forms', 'document extraction', 'documents' — only 'PDF files' and 'OCR' are present today, leaving trigger_term_quality at 3.

Give the bare verbs objects for extra concreteness ('fill forms', 'edit text inside existing PDFs') and consider naming one or two more capabilities (split, encrypt) to close the coverage gap between specificity 4 and 5.

DimensionReasoningScore

Specificity

The description enumerates six concrete actions ("create, read, merge, fill, OCR, edit text") but the verbs are bare without objects ("fill" — fill what?) and omit capabilities the skill covers (split, watermark, encrypt, attachments), matching anchor 4's 'several specific actions; minor gaps in coverage' rather than anchor 5's comprehensive coverage.

4 / 5

Completeness

The 'what' is explicit ("create, read, merge, fill, OCR, edit text") but there is no 'Use when...' clause or equivalent trigger guidance, which caps completeness at 3 per the judging guidelines; not 2 because the 'what' half is fully present and clear.

3 / 5

Trigger Term Quality

"PDF files" and "OCR" are relevant keywords, but the description misses common variations and synonyms users would naturally say — "PDFs", ".pdf", "forms", "document extraction", "documents" — which is more than the 'a few natural terms missing' that anchor 4 allows, fitting anchor 3's 'missing common variations or synonyms'.

3 / 5

Distinctiveness Conflict Risk

The "PDF files:" domain prefix plus PDF-specific actions (OCR, form filling, merging) establish a clear niche with distinct triggers and minimal conflict risk, matching anchor 5 exactly.

5 / 5

Total

15

/

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.

Validation — 13 / 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

NousResearch/hermes-agent

Path

skills/productivity/pdf/SKILL.md

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.