cli-developer
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 comma…
Install / Use
npx skills add Jeffallan/claude-skills --skill cli-developerInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
OperationsSupported Platforms
Our assessment of cli-developer
cli-developer scores 89/100 on our quality scale, 154th of 393 Operations skills we index (top 40%).
Its SKILL.md is 4.5 KB long, well organised into 10 sections with 1 code example: a solid amount of guidance for an agent.
With 11,621 GitHub stars, it is one of the more widely adopted skills in the catalogue.
Maintenance, license and trust
- The repository was last updated about 2 months ago, so cli-developer is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 100/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
cli-developer compared with similar skills
All 4 of these similar skills score higher than cli-developer; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| cli-developer (this skill)by Jeffallan | 89 | 11.6k | 51d ago | SKILL.md |
| Agent-Reachby Panniantong | 100 | 85.8k | 12d ago | CLAUDE.md |
| algorithmic-artby anthropics | 100 | 177.9k | 5d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 5d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 130.2k | 6d ago | SKILL.md |
Frequently asked questions
- How do I install cli-developer?
- Run
npx skills add Jeffallan/claude-skills --skill cli-developer. The install tabs above show the steps for each supported agent. - Which AI agents does cli-developer work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is cli-developer safe to use?
- It is MIT-licensed and scores 100/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is cli-developer still maintained?
- The repository was last updated about 2 months ago, so cli-developer is actively maintained.
Skill content
View source on GitHubname: cli-developer description: 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. license: MIT metadata: author: https://github.com/Jeffallan version: "1.1.0" domain: devops triggers: CLI, command-line, terminal app, argument parsing, shell completion, interactive prompt, progress bar, commander, click, typer, cobra role: specialist scope: implementation output-format: code related-skills: devops-engineer
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.
Constraints
MUST DO
- Keep startup time under 50ms
- Provide clear, actionable error messages
- Support
--helpand--versionflags - Use consistent flag naming conventions
- Handle SIGINT (Ctrl+C) gracefully
- Validate user input early
- Support both interactive and non-interactive modes
- Test on Windows, macOS, and Linux
MUST NOT DO
- Block on synchronous I/O unnecessarily — use async reads or stream processing instead.
- Print to stdout when output will be piped — write logs/diagnostics to stderr.
- Use colors when output is not a TTY — detect before applying color:
// Node.js const useColor = process.stdout.isTTY;# Python import sys use_color = sys.stdout.isatty()// Go import "golang.org/x/term" useColor := term.IsTerminal(int(os.Stdout.Fd())) - Break existing command signatures — treat flag/subcommand renames as breaking changes.
- Require interactive input in CI/CD environments — always provide non-interactive fallbacks via flags or env vars.
- Hardcode paths or platform-specific logic — use
os.homedir()/os.UserHomeDir()/Path.home()instead. - Ship without shell completions — all three frameworks above have built-in completion generation.
Output Templates
When implementing CLI features, provide:
- Command structure (main entry point, subcommands)
- Configuration handling (files, env vars, flags)
- Core implementation with error handling
- Shell completion scripts if applicable
- Brief explanation of UX decisions
Knowledge Reference
CLI frameworks (commander, yargs, oclif, click, typer, argparse, cobra, viper), terminal UI (chalk, inquirer, rich, bubbletea), testing (snapshot testing, E2E), distribution (npm, pip, homebrew, releases), performance optimization
Related Skills
Agent-Reach
85.8kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
130.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
