What problem does it solve?
Designing command-line interfaces is often inconsistent, unclear, or unfit for both humans and automation; this Skill provides a disciplined rubric to define arguments, flags, subcommands, help, output formats, error handling, and configuration precedence before implementation to avoid costly UX and automation regressions.
Core Features & Use Cases
- Deliverable-driven CLI specs: Produce a compact, implementable spec including command trees, USAGE synopsis, args/flags tables, subcommand semantics, and example invocations.
- I/O and error contracts: Define stdout vs stderr behavior, JSON/plain modes, exit codes, and diagnostics suitable for scripting and interactive use.
- Safety and configuration rules: Specify dry-run/force semantics, prompt behavior, config/env precedence (flags > env > project > user > system), and shell completion/distribution notes.
- Use Cases: Creating a new tool interface, refactoring an inconsistent CLI, or standardizing CLI UX across an organization to improve discoverability and automation.
Quick Start
Design a CLI spec for a command named mycmd that includes a usage line, subcommands with clear semantics, an args and flags table (types and defaults), --json output mode, config precedence rules, safety flags like --dry-run and --force, and five example invocations.