Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
jeffallan avatar

Cli Developer

  • 3.6k installs
  • 10.9k repo stars
  • Updated May 20, 2026
  • jeffallan/claude-skills

cli-developer is a skill that implements CLI tools with argument parsing, shell completions, and terminal UX using commander, click, typer, or cobra.

About

cli-developer guides agents through building command-line tools with disciplined UX, framework selection, and cross-platform polish. The five-step core workflow analyzes user workflows and command hierarchy, designs subcommands flags and configuration, implements with the right framework for Node.js commander, Python click or typer, or Go cobra, adds completions help text and progress indicators, then tests on Windows macOS and Linux with a sub-50ms startup target. Reference guides load on demand for design patterns, per-language CLI notes, and UX patterns covering progress bars colors and help text. Constraints require clear error messages, --help and --version flags, consistent flag naming, graceful SIGINT handling, early input validation, interactive and non-interactive modes, and shell completions for bash zsh and fish. Must-not rules cover async I/O instead of blocking sync, stderr for diagnostics when piped, TTY detection before colors, no breaking command signature changes, non-interactive CI fallbacks, and portable paths via homedir helpers. Output templates deliver command structure, configuration handling, core implementation, completion scripts, and UX rationale.

  • Five-phase workflow: analyze UX, design commands, implement, polish completions, cross-platform test.
  • Language references for Node commander, Python click/typer, and Go cobra with on-demand pattern guides.
  • Startup target under 50ms with mandatory --help, --version, SIGINT handling, and input validation.
  • TTY-aware color output, stderr for piped diagnostics, and non-interactive CI fallbacks required.
  • Ships shell completions for bash, zsh, and fish across commander, click, typer, and cobra.

Cli Developer by the numbers

  • 3,609 all-time installs (skills.sh)
  • +94 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #58 of 550 CLI & Terminal skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

cli-developer capabilities & compatibility

Capabilities
command hierarchy and flag design · framework specific implementation guides · shell completion generation · progress bars spinners and help text polish · cross platform testing and startup benchmarking
Use cases
api development · devops · ci cd
Platforms
macOS · Windows · Linux
From the docs

What cli-developer says it does

Keep startup time under 50ms
SKILL.md
npx skills add https://github.com/jeffallan/claude-skills --skill cli-developer

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs3.6k
repo stars10.9k
Security audit3 / 3 scanners passed
Last updatedMay 20, 2026
Repositoryjeffallan/claude-skills

How do I build a cross-platform CLI with subcommands, completions, progress bars, and under-50ms startup?

Design and implement CLI tools with argument parsing, shell completions, progress indicators, and cross-platform terminal UX.

Who is it for?

Developers shipping terminal apps who need framework-specific patterns for Node, Python, or Go with production UX constraints.

Skip if: Skip for GUI applications, web-only interfaces, or tasks unrelated to command-line argument parsing and shell integration.

When should I use this skill?

User mentions CLI, command-line, terminal app, argument parsing, shell completion, progress bar, commander, click, typer, or cobra.

What you get

A structured CLI with help and version flags, completion scripts, polished error messages, and verified cross-platform behavior.

  • CLI command hierarchy spec
  • flag and subcommand conventions

By the numbers

  • Documents example hierarchies with 4 top-level command groups including config, deploy, and plugins

Files

SKILL.mdMarkdownGitHub ↗

CLI Developer

Core Workflow

1. Analyze UX — Identify user workflows, command hierarchy, common tasks. Validate by listing all commands and their expected --help output before writing code. 2. Design commands — Plan subcommands, flags, arguments, configuration. Confirm flag naming is consistent and no existing signatures are broken. 3. Implement — Build with the appropriate CLI framework for the language (see Reference Guide below). After wiring up commands, run <cli> --help to verify help text renders correctly and <cli> --version to confirm version output. 4. Polish — Add completions, help text, error messages, progress indicators. Verify TTY detection for color output and graceful SIGINT handling. 5. Test — Run cross-platform smoke tests; benchmark startup time (target: <50ms).

Reference Guide

Load detailed guidance based on context:

TopicReferenceLoad When
Design Patternsreferences/design-patterns.mdSubcommands, flags, config, architecture
Node.js CLIsreferences/node-cli.mdcommander, yargs, inquirer, chalk
Python CLIsreferences/python-cli.mdclick, typer, argparse, rich
Go CLIsreferences/go-cli.mdcobra, viper, bubbletea
UX Patternsreferences/ux-patterns.mdProgress 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 --help and --version flags
  • 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: 1. Command structure (main entry point, subcommands) 2. Configuration handling (files, env vars, flags) 3. Core implementation with error handling 4. Shell completion scripts if applicable 5. 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

Documentation

Related skills

How it compares

Use cli-developer for opinionated CLI UX scaffolding; use generic coding skills when the problem is business logic inside commands rather than interface design.

FAQ

Which CLI frameworks does cli-developer cover?

Node commander and yargs, Python click and typer, and Go cobra and viper, with on-demand reference guides per language.

What performance target does cli-developer enforce?

Startup time under 50ms, with cross-platform smoke tests on Windows, macOS, and Linux.

How should piped output handle colors and logs?

Detect TTY before applying color and write diagnostics to stderr when stdout is piped.

Is Cli Developer safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

CLI & Terminalbackendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.