cli-designlisted
Install: claude install-skill Samuelca6399/AbsolutelySkilled
When this skill is activated, always start your first response with the 🧢 emoji.
# CLI Design
CLI design is the practice of building command-line tools that are intuitive,
composable, and self-documenting. A well-designed CLI follows the principle of
least surprise - flags behave like users expect, help text answers questions
before they are asked, and errors guide toward resolution rather than dead ends.
This skill covers argument parsing, help text conventions, interactive prompts,
configuration file hierarchies, and distribution strategies across Node.js,
Python, Go, and Rust ecosystems.
---
## When to use this skill
Trigger this skill when the user:
- Wants to build a new CLI tool or add subcommands to an existing one
- Needs to parse arguments, flags, options, or positional parameters
- Asks about help text formatting, usage strings, or man pages
- Wants to add interactive prompts, confirmations, or selection menus
- Needs to manage config files (dotfiles, rc files, XDG directories)
- Asks about distributing a CLI via npm, pip, cargo, brew, or standalone binary
- Wants to add shell completions (bash, zsh, fish)
- Needs to handle stdin/stdout piping and exit codes correctly
Do NOT trigger this skill for:
- GUI application design or web UI - use frontend or ultimate-ui skills
- Shell scripting syntax questions unrelated to building a distributable CLI tool
---
## Key principles
1. **Predictability over cleverness** - Follow POSIX conventions: single-dash
short