Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Design a CLI interface: args, flags, help, output, errors, exit codes, config.
.claude/skills/notque-cli-design/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 33% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 112% | 0% |
| case-15 | ✗→✓ | ▲ Improved | 1% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 40% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 35% | 0% |
Design a command-line tool's interface before implementation: human-first, script-friendly, Linux-only. Output is a compact spec the user or an agent can implement directly. Rubric source: clig.dev (rebuilt as references/clig-checklist.md).
| Signal | Load These Files | Why | |---|---|---| | designing a command-line interface | clig-checklist.md | Supplies the CLI design rubric. |
Lock the interface with the minimum questions. Proceed with the conventions in Phase 2 when the user is unsure.
ps and shell history.--json, --plain, exit codes.--no-input needed? confirmation for destructive ops?Gate: name, purpose, and I/O contract are known. Proceed only when gate passes.
Load references/clig-checklist.md and apply it as the default rubric. For each section, pick the convention and record it in the spec. Diverge from a convention only deliberately, and document the divergence in the spec — interfaces are contracts, and surprising contracts break scripts.
Produce the spec from this skeleton. Drop a section only when it genuinely has no content; fill every other section.
--help will print it, global flags and subcommand slot included0, failure 1, bad usage 2; mint extra codes only for cases scripts must distinguish--dry-run, confirmation rules, --force, --no-inputGate: every flag used in the examples appears in the flags table, and every failure mode shown maps to an exit code.
Cause: user says "design and build." Solution: deliver the spec first, get confirmation, then implement against it.
Cause: subcommand sprawl or speculative flags. Solution: cut flags that lack a named user need; defaults should serve most users without aliases.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 24,165 | 19,368 | -20% | 1 | 1 | 0% | 4,177 | 4,103 | -2% | 0 | 0 | — |
case-02 | fail→fail | 20,378 | 21,119 | +4% | 1 | 1 | 0% | 3,910 | 4,471 | +14% | 0 | 0 | — |
case-03 | fail→fail | 26,686 | 58,492 | +119% | 1 | 1 | 0% | 5,226 | 4,023 | -23% | 0 | 0 | — |
case-04 | pass→pass | 15,207 | 23,509 | +55% | 1 | 1 | 0% | 2,979 | 4,007 | +35% | 0 | 0 | — |
case-14 | pass→pass | 18,121 | 13,973 | -23% | 1 | 1 | 0% | 2,960 | 2,896 | -2% | 0 | 0 | — |
case-05 | pass→pass | 13,015 | 18,297 | +41% | 1 | 1 | 0% | 2,427 | 3,975 | +64% | 0 | 0 | — |
case-06 | pass→pass | 15,399 | 13,744 | -11% | 1 | 1 | 0% | 3,336 | 3,824 | +15% | 0 | 0 | — |
case-07 | fail→pass | 15,091 | 16,425 | +9% | 1 | 1 | 0% | 2,760 | 3,681 | +33% | 0 | 0 | — |
case-08 | pass→pass | 20,172 | 15,625 | -23% | 1 | 1 | 0% | 3,153 | 3,166 | +0% | 0 | 0 | — |
case-09 | fail→fail | 12,396 | 15,168 | +22% | 1 | 1 | 0% | 2,273 | 3,626 | +60% | 0 | 0 | — |
case-10 | fail→fail | 24,092 | 20,342 | -16% | 1 | 1 | 0% | 4,567 | 4,531 | -1% | 0 | 0 | — |
case-11 | fail→pass | 15,427 | 25,820 | +67% | 1 | 1 | 0% | 2,575 | 5,462 | +112% | 0 | 0 | — |
case-12 | pass→pass | 21,195 | 16,511 | -22% | 1 | 1 | 0% | 3,308 | 3,574 | +8% | 0 | 0 | — |
case-13 | pass→pass | 23,179 | 15,888 | -31% | 1 | 1 | 0% | 3,825 | 3,556 | -7% | 0 | 0 | — |
case-15 | fail→pass | 18,601 | 15,060 | -19% | 1 | 1 | 0% | 3,435 | 3,468 | +1% | 0 | 0 | — |
case-16 | fail→fail | 16,230 | 19,802 | +22% | 1 | 1 | 0% | 2,596 | 4,153 | +60% | 0 | 0 | — |
case-17 | pass→pass | 17,533 | 22,038 | +26% | 1 | 1 | 0% | 2,820 | 4,801 | +70% | 0 | 0 | — |
case-18 | fail→pass | 13,703 | 15,275 | +11% | 1 | 1 | 0% | 2,287 | 3,203 | +40% | 0 | 0 | — |
case-19 | pass→pass | 18,906 | 18,924 | +0% | 1 | 1 | 0% | 3,251 | 4,094 | +26% | 0 | 0 | — |
case-20 | pass→pass | 9,644 | 8,427 | -13% | 1 | 1 | 0% | 1,478 | 2,012 | +36% | 0 | 0 | — |
case-21 | pass→pass | 22,995 | 15,067 | -34% | 1 | 1 | 0% | 4,735 | 3,333 | -30% | 0 | 0 | — |
case-22 | pass→pass | 16,781 | 18,055 | +8% | 1 | 1 | 0% | 3,147 | 3,833 | +22% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +18 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.