Cli design
Design developer CLIs with clear UX, exit codes, flags, and help text. Use whenever the user builds a command-line tool, debates flags vs subcommands, stdout vs stderr, or asks how to structure a CLI for engineers.From its SKILL.md
npx -y skills add shinzoxD/knackbox --skill cli-designAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
1.4 KB, 235 tokens by cl100k_base, as published. Nobody here has run it
CLI Design
Great CLIs are boring: predictable flags, scriptable output, useful errors, and stable exit codes.
Principles
- Subcommands for verbs; flags for options.
- stdout for data; stderr for logs/progress.
--helpaccurate; examples in help.- Exit 0 success; non-zero for classes of failure.
--jsonor stable machine output when automation matters.- Sensible defaults; prompt only when interactive and needed.
- Never break scripts with decorative Unicode unless optional.
Output format
## CLI: <name>
### Commands
### Global flags
### Output contract
### Exit codes
### Examples
Rules
- Prefer composition over god flags.
- Document config file precedence.
- Color auto-detect;
--no-color. - Version with
--version. - Destructive commands need
--forceor confirm.
Edge cases
- Pipes: behave well in CI.
- Windows paths: accept both separators when reasonable.
- Plugins: discovery and naming.
What ships with it: 1 file
1.0 KB alongside SKILL.md
benchmarks/
- prompts.json1.0 KB