Edit PDFs with natural-language instructions using the nano-pdf CLI.
63
52%
Does it follow best practices?
Impact
81%
2.61xAverage score across 3 eval scenarios
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./openclaw/skills/nano-pdf/SKILL.mdQuality
Discovery
32%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 concise and identifies the tool and domain but lacks the depth needed for effective skill selection. It omits specific capabilities (e.g., add text, remove pages, annotate) and has no explicit 'Use when...' clause to guide Claude on when to select this skill. The mention of 'nano-pdf CLI' provides some distinctiveness but the overall description is too thin.
Suggestions
Add a 'Use when...' clause with explicit trigger terms, e.g., 'Use when the user wants to edit, modify, annotate, or update PDF files, or mentions .pdf files needing changes.'
List specific concrete actions the skill supports, e.g., 'Add or remove pages, insert text or images, annotate, redact content, and rearrange pages in PDF files.'
Include common natural-language variations users might say, such as 'modify PDF', 'change PDF', 'update a .pdf', 'PDF annotation', etc.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | Names the domain (PDFs) and a general action (edit), and mentions the specific tool (nano-pdf CLI), but does not list multiple concrete actions like extracting text, filling forms, merging, etc. | 2 / 3 |
Completeness | Describes what it does (edit PDFs) but has no explicit 'Use when...' clause or equivalent trigger guidance, which per the rubric caps completeness at 2, and the 'what' is also quite thin, bringing it to 1. | 1 / 3 |
Trigger Term Quality | Includes 'PDFs' and 'edit' which are natural terms, but misses common variations like '.pdf files', 'modify PDF', 'update PDF', 'PDF editing', or specific operations users might request. | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'nano-pdf CLI' adds some distinctiveness, and 'edit PDFs' is reasonably specific, but it could overlap with other PDF-related skills since it doesn't clearly delineate its scope versus read-only PDF tools or other PDF editors. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
72%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
A concise and well-structured skill that provides a clear example command for using nano-pdf. However, it falls short on actionability by not covering installation, additional flags/options, or concrete validation steps. The page-numbering ambiguity note weakens confidence rather than providing a definitive answer.
Suggestions
Clarify the page numbering convention definitively (e.g., specify which versions use 0-based vs 1-based, or state the default) instead of suggesting trial-and-error.
Add a concrete validation step, such as opening the output with a specific command or using a tool to inspect the result (e.g., `nano-pdf preview output.pdf 1`).
Include brief installation instructions or a prerequisite note (e.g., `npm install -g nano-pdf` or `pip install nano-pdf`).
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | Very lean — no unnecessary explanation of what PDFs are or how CLI tools work. Every line serves a purpose. The notes are brief and practical. | 3 / 3 |
Actionability | Provides a concrete, copy-paste-ready command example, but lacks detail on installation, available subcommands/flags, error handling, or what the output looks like. The guidance for page numbering is vague ('retry with the other') rather than definitive. | 2 / 3 |
Workflow Clarity | For a single-step tool the workflow is mostly clear, but the 'sanity-check the output PDF' step is vague with no concrete validation command or method. The page-numbering ambiguity note introduces uncertainty without a clear resolution path. | 2 / 3 |
Progressive Disclosure | This is a very short, single-purpose skill under 50 lines with no need for external references. The content is well-organized with a quick start section and concise notes. | 3 / 3 |
Total | 10 / 12 Passed |
Validation
72%Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.
Validation — 8 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
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 | 8 / 11 Passed | |
af8bd5f
Table of Contents
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.