cli-design

Installation
SKILL.md

CLI Design

What this skill is for

CLI design is the professional practice of designing command-line interfaces as human interfaces with genuine UX obligations. A CLI is not the absence of UI — it is a distinct interaction surface with its own grammar, conventions, composability requirements, and failure modes. Treating it as pure plumbing produces opaque, automation-hostile, expert-only tools that frustrate users and break pipelines.

"Today's command line is human-first: a text-based UI that affords access to all kinds of tools, systems and platforms." — clig.dev (Command Line Interface Guidelines, 2021)

Load this skill when:

  • Designing the command hierarchy, subcommand structure, or flag vocabulary for a CLI tool
  • Designing stdin/stdout/stderr behavior, exit codes, or piping behavior
  • Designing help text, error messages, or discoverability for a CLI
  • Reviewing an existing CLI for design quality — grammar coherence, stream contracts, exit code correctness
  • The tool will be used both interactively and in scripts, pipelines, or CI environments

Do NOT load this skill when:

  • Designing a TUI — a stateful interactive application that holds the terminal for multiple interactions (→ tui-design). The boundary: if the program runs and exits per command, it is a CLI. If it holds a persistent interactive session with a render loop, it is a TUI.
  • Implementing CLI parsing or flag handling in code (→ golang-cli or language equivalent)
  • Designing general interaction patterns not specific to CLI (→ interaction-design)
Installs
10
Repository
bateau84/skills
First Seen
11 days ago