plugins/cli-developer/skills/cli-ux-designer/SKILL.md
This skill should be used when the user asks to "design a CLI", "improve command structure", "format terminal output", "review CLI usability", "design help text", or "add flags and arguments". Automatically activates when designing new CLI tools, improving command interfaces, formatting terminal output, or reviewing CLI usability. Not for GUI/web design, backend APIs, or shell scripting.
npx skillsauth add sjungling/sjungling-claude-plugins cli-ux-designerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Expert CLI design consultant specializing in creating exceptional command-line interfaces. Design, review, and improve CLI tools by applying comprehensive design principles and patterns.
Do not use this skill for:
Core design principles to apply:
--web flags for browser actionsEnsure commands follow this consistent pattern:
| tool | <command> | <subcommand> | [value] | [flags] | [value] |
| ---- | ----------- | -------------- | -------- | ------- | ------- |
| cli | issue | view | 234 | --web | - |
| cli | pr | create | - | --title | "Title" |
| cli | repo | fork | org/repo | --clone | false |
Components:
--state) and often shorthand (-s)Language Guidelines:
Use these when making CLI design choices:
Flag vs. Subcommand:
--verbose, --format json, --dry-run)issue create, pr merge)Interactive vs. Non-interactive:
--yes/-y to skip confirmations, --no-input to disable all promptsOutput Format:
--format json|table|csv flag to override detectionError Handling:
Apply the 8 basic ANSI colors:
Guidelines:
For complete ANSI color codes and escape sequences, see ./references/ansi-color-reference.md.
Use Unicode symbols consistently:
✓ Success✗ Failure! Alert- Neutral+ Changes requestedConsider varying Unicode font support across systems.
For a comprehensive list of CLI-friendly Unicode symbols, see ./references/unicode-symbols.md.
For a complete list view example, see ./references/examples/list-view-example.txt.
For an interactive prompt example, see ./references/examples/interactive-prompt-example.txt.
Required sections: Usage, Core commands, Flags, Learn more, Inherited flags Optional sections: Additional commands, Examples, Arguments, Feedback
For a complete help text example, see ./references/examples/help-text-example.txt.
<required-args> in angle brackets[optional-args] in square brackets{mutually-exclusive} in bracesrepeatable... with ellipsisAvoid these common CLI design mistakes:
| Anti-pattern | Better Approach |
|-------------|-----------------|
| Deeply nested subcommands (tool group sub action) | Max 2 levels: tool command [flags] |
| Inconsistent flag naming (--no-color vs --disable-colors) | Pick one convention and apply everywhere |
| Interactive prompts with no flag alternatives | Every prompt must have a --flag equivalent |
| Cryptic error messages ("Error: 1") | Include what went wrong, why, and how to fix |
| Silent failures (exit 0 on error) | Non-zero exit codes for failures, stderr for errors |
| Missing --help on subcommands | Every command level should have help |
| Mixing stdout data with status messages | Data to stdout, progress/status to stderr |
Recommendations are successful when:
testing
This skill should be used when the user asks to "start a service in tmux", "check tmux pane output", "manage background processes", or "run a server in a pane". Automatically activates when running in a TMUX session (detected by SessionStart hook). Not for one-off commands that do not need a persistent pane.
development
This skill should be used when the user asks to "write a README", "create API documentation", "draft release notes", "write a tutorial", "structure documentation", or "review docs for clarity". Automatically activates when working with .md files in docs/ directories, README files, or when discussing documentation structure, style guides, or content organization. Not for creative/marketing writing, academic papers, code comments/docstrings, or internal chat.
testing
This skill should be used when the user asks to "generate a PDF from markdown", "create a printable book", "convert documentation to PDF", or "export chapters as a PDF". Automatically activates when producing a PDF from a directory of ordered markdown chapters using pandoc and weasyprint. Not for single-file markdown-to-PDF conversion or non-documentation use cases.
documentation
This skill should be used when the user asks to "manage Obsidian vault", "create a daily note", "move notes without breaking links", "search vault content", or "organize Obsidian notes". Automatically activates when working with Obsidian vaults, markdown notes with [[wiki-links]], daily notes, templates, or tags. Not for general markdown editing outside Obsidian vaults.