Skills

Create CLI

CLI UX/spec: args, flags, help, output, errors, config, dry-run.

Install

npx skills add steipete/agent-scripts --skill create-cli -g -a claude-code -y
Category
Design
Updated
5d ago
License
MIT
Context cost
Lightabout 808 tokens
Runs scripts
No, instructions only

What it does

CLI UX/spec: args, flags, help, output, errors, config, dry-run.

Create CLI

Design CLI surface area (syntax + behavior), human-first, script-friendly.

Do This First

Clarify (fast)

Ask, then proceed with best-guess defaults if user is unsure:

  • Command name + one-sentence purpose.
  • Primary user: humans, scripts, or both.
  • Input sources: args vs stdin; files vs URLs; secrets (never via flags).
  • Output contract: human text, --json, --plain, exit codes.
  • Interactivity: prompts allowed? need --no-input? confirmations for destructive ops?
  • Config model: flags/env/config-file; precedence; XDG vs repo-local.
  • Platform/runtime constraints: macOS/Linux/Windows; single binary vs runtime.

Deliverables (what to output)

When designing a CLI, produce a compact spec the user can implement:

  • Command tree + USAGE synopsis.
  • Args/flags table (types, defaults, required/optional, examples).
  • Subcommand semantics (what each does; idempotence; state changes).
  • Output rules: stdout vs stderr; TTY detection; --json/--plain; --quiet/--verbose.
  • Error + exit code map (top failure modes).
  • Safety rules: --dry-run, confirmations, --force, --no-input.
  • Config/env rules + precedence (flags > env > project config > user config > system).
  • Shell completion story (if relevant): install/discoverability; generation command or bundled scripts.
  • 5, 10 example invocations (common flows; include piped/stdin examples).

Default Conventions (unless user says otherwise)

Read the whole SKILL.md on GitHub

More in Design