CtrlK
BlogDocsLog inGet started
Tessl Logo

pdf-official

This guide covers essential PDF processing operations using Python libraries and command-line tools. For advanced features, JavaScript libraries, and detailed examples, see reference.md. If you need to fill out a PDF form, read forms.md and follow its instructions.

50

Quality

55%

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/pdf-official/SKILL.md
SKILL.md
Quality
Evals
Security

Quality

Content

68%Scale 1-5

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

This is a solid reference-style skill with excellent actionability — all code examples are executable and cover the major PDF processing use cases. Its main weaknesses are the lack of workflow validation/verification steps for multi-step or destructive operations, and moderate verbosity that could be trimmed (e.g., the tautological 'When to Use' section, some overly detailed examples that could live in reference.md).

Suggestions

Add validation/verification steps to multi-step operations (e.g., verify merged PDF page count, check extracted text is non-empty, confirm output file was created).

Remove the 'When to Use' section entirely — it adds no information. Trim the overview to avoid repeating the description.

Consider moving the more detailed examples (reportlab multi-page, advanced table extraction with pandas) to reference.md to keep SKILL.md leaner.

DimensionReasoningScore

Conciseness

The skill is fairly comprehensive but includes some unnecessary verbosity. The overview repeats the description, the 'When to Use' section is a meaningless tautology, and some code examples are more extensive than needed (e.g., the multi-page reportlab example). However, it mostly avoids explaining concepts Claude already knows.

3 / 5

Actionability

All code examples are fully executable and copy-paste ready. The skill covers common cases with concrete Python code and CLI commands, including merge, split, extract text, extract tables, OCR, watermark, password protection, and image extraction.

5 / 5

Workflow Clarity

The skill presents individual operations clearly but lacks any multi-step workflow sequencing or validation checkpoints. There are no feedback loops or verification steps — for example, no guidance on verifying that a merged PDF has the correct page count, or that extracted text is non-empty. Since some operations like merging and watermarking are potentially destructive (overwriting files), the absence of validation caps this at 3.

3 / 5

Progressive Disclosure

The skill appropriately references forms.md and reference.md for advanced content, and the quick reference table provides good navigation. However, no bundle files were provided to verify these references exist, and the inline content is somewhat long — some sections (like the full reportlab examples) could arguably be moved to reference.md. The structure with clear headers is good.

4 / 5

Total

15

/

20

Passed

Description

41%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 reads more like a file navigation guide than a skill description, focusing on what files to read rather than what capabilities the skill provides. It lacks an explicit 'Use when...' clause and doesn't enumerate specific actions beyond vaguely referencing 'PDF processing operations' and form filling. The trigger term coverage is mediocre, missing many natural phrases users would employ when needing PDF help.

Suggestions

Replace the file-navigation language with concrete capability statements, e.g., 'Extracts text and tables from PDFs, merges documents, converts pages to images, fills PDF forms using Python libraries and CLI tools.'

Add an explicit 'Use when...' clause with natural trigger terms, e.g., 'Use when the user needs to process PDF files, extract content from .pdf documents, fill out PDF forms, or manipulate PDF pages.'

Remove references to internal files (reference.md, forms.md) from the description field—these belong in the skill body, not in the selection-facing description.

DimensionReasoningScore

Specificity

Names the domain (PDF processing) and mentions a couple of concrete actions ('PDF processing operations', 'fill out a PDF form'), but mostly describes what the skill file contains rather than listing specific capabilities comprehensively.

3 / 5

Completeness

Provides a partial 'what' (PDF processing operations, filling forms) but has no explicit 'when' clause or trigger guidance. The description reads more like a table of contents than a skill description, and the missing 'Use when...' clause caps this at 3 per guidelines, but the 'what' is also vague enough to warrant a 2.

2 / 5

Trigger Term Quality

Includes 'PDF', 'PDF form', 'Python libraries', and 'command-line tools' as relevant keywords, but misses common natural user phrases like 'extract text', 'merge PDFs', '.pdf', 'document extraction', or 'tables'.

3 / 5

Distinctiveness Conflict Risk

Specifies PDF as the domain which provides some distinctiveness, but 'essential PDF processing operations' is broad enough to overlap with other document-related skills. The mention of Python libraries and command-line tools adds some distinction but also introduces ambiguity about scope.

3 / 5

Total

11

/

20

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
administrakt0r/AI-Agents-Safe-Coding-Skills
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.