Create a new Python invoke task for the dda CLI
49
55%
Does it follow best practices?
Impact
—
No eval scenarios have been run
Passed
No known issues
Optimize this skill with Tessl
npx tessl skill review --optimize ./.claude/skills/create-invoke-task/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 too terse and lacks a 'Use when...' clause, which significantly limits Claude's ability to know when to select this skill. While it identifies a specific tool (Python invoke) and project (dda CLI), it doesn't enumerate concrete actions or provide trigger guidance for disambiguation.
Suggestions
Add an explicit 'Use when...' clause, e.g., 'Use when the user asks to add a new CLI command, create an invoke task, or extend the dda command-line interface.'
List more specific actions the skill performs, such as 'scaffolds task function, registers it in tasks.py, adds argument parsing, and wires it into the dda CLI namespace.'
Include natural trigger terms users might say, such as 'pyinvoke', 'tasks.py', 'dda command', 'new CLI subcommand', or 'add dda task'.
| Dimension | Reasoning | Score |
|---|---|---|
Specificity | The description names a specific domain (Python invoke task for dda CLI) and one action (create), but does not list multiple concrete actions or elaborate on what creating such a task entails. | 2 / 3 |
Completeness | The description answers 'what' (create a new Python invoke task) but completely lacks any 'Use when...' clause or explicit trigger guidance for when Claude should select this skill. | 1 / 3 |
Trigger Term Quality | Includes relevant keywords like 'Python', 'invoke task', and 'dda CLI' that a user familiar with the project might use, but misses common variations or broader terms (e.g., 'pyinvoke', 'tasks.py', 'command-line task'). | 2 / 3 |
Distinctiveness Conflict Risk | The mention of 'dda CLI' and 'invoke task' provides some specificity, but without more detail it could overlap with general Python task creation or CLI development skills. | 2 / 3 |
Total | 7 / 12 Passed |
Implementation
77%Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.
This is a well-structured, concise skill with a clear multi-step workflow for creating invoke tasks. Its main weakness is the lack of a concrete code example for the task creation step — it relies on Claude reading existing files rather than providing a template. The workflow sequencing and conditional logic (new vs existing module) are handled well.
Suggestions
Add a minimal concrete @task code example (e.g., a simple task with one parameter) so Claude has a copy-paste-ready template rather than relying solely on reading reference files.
Consider including a brief inline snippet showing the registration pattern in tasks/__init__.py to make Step 4 more self-contained and actionable.
| Dimension | Reasoning | Score |
|---|---|---|
Conciseness | The content is lean and efficient. It doesn't explain what invoke is, what decorators are, or other concepts Claude already knows. Every section serves a clear purpose and the instructions are tightly written. | 3 / 3 |
Actionability | The skill provides clear direction and references to real files, but lacks executable code examples — no sample @task function is shown. It tells Claude to 'follow the patterns from Step 2' rather than providing a concrete template. The verification step has a concrete command, but the core creation step relies on reading other files rather than giving copy-paste-ready code. | 2 / 3 |
Workflow Clarity | The 5-step workflow is clearly sequenced with logical progression: gather info → read reference → create → register → verify. The conditional logic (new module vs existing) is explicit, and Step 5 provides a verification checkpoint. The registration step clearly distinguishes when it's needed vs not. | 3 / 3 |
Progressive Disclosure | The content is well-structured with clear sections, but it references specific files (tasks/auth.py, tasks/agent.py, tasks/__init__.py) without any bundle files to support them. For a skill with no bundle, the content is appropriately sized and doesn't need external files, but it could benefit from an inline minimal example rather than relying entirely on reading external project files. | 2 / 3 |
Total | 10 / 12 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 — 9 / 11 Passed
Validation for skill structure
| Criteria | Description | Result |
|---|---|---|
allowed_tools_field | 'allowed-tools' contains unusual tool name(s) | Warning |
frontmatter_unknown_keys | Unknown frontmatter key(s) found; consider removing or moving to metadata | Warning |
Total | 9 / 11 Passed | |
a41685a
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.