
CLI Developer
Use when building CLI tools, implementing argument parsing, or adding interactive prompts.
Install
npx skills add Jeffallan/claude-skills --skill cli-developer -g -a claude-code -y- Repository
- Jeffallan/claude-skills12.2k
- Category
- Design
- Updated
- 5d ago
- License
- MIT
- Context cost
- Lightabout 1,003 tokens
- Runs scripts
- No, instructions only
What it does
Use when building CLI tools, implementing argument parsing, or adding interactive prompts. Invoke for parsing flags and subcommands, displaying progress bars and spinners, generating bash/zsh/fish completion scripts, CLI design, shell completions, and cross-platform terminal applications using commander, click, typer, or cobra.
CLI Developer
Core Workflow
- Analyze UX, Identify user workflows, command hierarchy, common tasks. Validate by listing all commands and their expected
--helpoutput before writing code. - Design commands, Plan subcommands, flags, arguments, configuration. Confirm flag naming is consistent and no existing signatures are broken.
- Implement, Build with the appropriate CLI framework for the language (see Reference Guide below). After wiring up commands, run
<cli> --helpto verify help text renders correctly and<cli> --versionto confirm version output. - Polish, Add completions, help text, error messages, progress indicators. Verify TTY detection for color output and graceful SIGINT handling.
- Test, Run cross-platform smoke tests; benchmark startup time (target: <50ms).
Reference Guide
Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Design Patterns | references/design-patterns.md | Subcommands, flags, config, architecture |
| Node.js CLIs | references/node-cli.md | commander, yargs, inquirer, chalk |
| Python CLIs | references/python-cli.md | click, typer, argparse, rich |
| Go CLIs | references/go-cli.md | cobra, viper, bubbletea |
| UX Patterns | references/ux-patterns.md | Progress bars, colors, help text |
Quick-Start Example
Node.js (commander)
#!/usr/bin/env node
// npm install commander
const { program } = require('commander');
program
.name('mytool')
.description('Example CLI')
.version('1.0.0');
program
.command('greet <name>')
.description('Greet a user')
.option('-l, --loud', 'uppercase the greeting')
.action((name, opts) => {
const msg = `Hello, ${name}!`;
console.log(opts.loud ? msg.toUpperCase() : msg);
});
program.parse();
For Python (click/typer) and Go (cobra) quick-start examples, see references/python-cli.md and references/go-cli.md.


