What problem does it solve? CLI tools often break in scripts and pipelines because they mix data with messages, emit color codes when piped, or require interactive prompts. This Skill provides the patterns and rules to build CLIs that work correctly for both terminal users and automation. ## Core Features & Use Cases - Output Routing & TTY Detection: Route data to stdout and messages to stderr, and disable colors, spinners, and progress bars when output is piped or NO_COLOR is set. - Help & Error Design: Implement help across all entry points (-h, --help, help subcommand) and structure errors with codes, remediation steps, and documentation links. - Scriptable Interfaces: Prefer flags over positional args, provide stable --json/--plain output modes, and ensure every prompt has a non-interactive flag alternative. - Use Case: When adding a deploy subcommand to a Node.js CLI, use this Skill to wire Commander.js flags, TTY-aware spinners, confirmation prompts with --force bypass, and JSON output for CI pipelines. ## Quick Start Use the developing-cli-tools skill to design a new subcommand with proper help text, stdout/stderr routing, and a --json output mode.