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- Repository
- steipete/agent-scripts7.4k
- 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
- Read
agent-scripts/skills/create-cli/references/cli-guidelines.mdand apply it as the default rubric. - Upstream/full guidelines: https://clig.dev/ (propose changes: https://github.com/cli-guidelines/cli-guidelines)
- Ask only the minimum clarifying questions needed to lock the interface.
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).


