Design and implement command-line interfaces with subcommand-scoped help, actionable success output, and debuggable failure output.
SkillScore100Maintained
Automatic
◆Coding pack
Last verified 8/16/2026
What it changes
Passed 24 of 24 test cases with the skill, and 19 of 24 without it.
Without skill79%
With skill100%
Checks it passed that the model alone missed
The output includes the known state.
The output avoids external web URL links.
The error output includes a subcommand help hint.
and 3 more in the full report
5 fixed19 passed either way0 still failing0 broke
Pass-rate lift
+21 pp
Tokens
+4%
Agent turns
0%
Response time
-32%
Model gemini-3.6-flashMeasured 8/16/2026v124 of 24 cases passed with skill
Tokens, turns and time describe resource use, not a dollar price.
See it in action
One of 5 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 5
Prompt
Our database backup tool dbdump just finished running dbdump cleanup --all, which permanently purges all old backup archives from storage. There are no remaining tasks or follow-up steps for the operator. What console message should the CLI display upon completion?
What was checked, without and with the skill
Checked
Without skill
With skill
The console output states that no further action is required.
Missed
Passed
case-06 · gemini-3.6-flash · 8/16/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md93 linessingle file
CLI Development
Build CLIs that stay actionable in both success and failure paths.
Core Principles
Avoid dead ends.
Print next steps when a reasonable next action exists.
On terminal completion, state that no further action is required.
Make failures diagnosable.
Print known state, failed operation, and likely cause.
Include recovery commands and focused help text.
Include usage text for argument or syntax errors.
Keep output minimal and context-efficient.
Use short defaults.
Show detail only when requested by flags or when needed to recover from failure.
Scope help to subcommands.
Keep root help high-level.
Put detailed flags, examples, and edge cases in subcommand help.
Command Contract
Keep output deterministic.
Use stable wording and field names.
Avoid random ordering in lists.
Use conventional stream behavior.
Write primary result data to stdout.
Write diagnostics, warnings, and human-oriented guidance to stderr.
In machine mode (--json), print a complete structured success or error object to stdout.
Document that automation should capture both stdout and stderr for full logs.