Skip to content
Back to skills

Designing Clis

ASecurity

Use when building, improving, or reviewing command-line interfaces for better user experience - before implementing commands/output/errors, when users report confusion or frustration, or when CLI feels hard to use - provides UX principles, visual design techniques, and practical patterns for creating discoverable, delightful CLIs

  • 10 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 9, 2026
data-airustci/cddocumentation

Works with

  • terminal
  • cli

Security analysis

A100/100

Pro scans all 20 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add technicalpickles/pickled-claude-plugins --skill designing-clis --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Designing Clis?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Designing Clis
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/technicalpickles-designing-clis/badge)](https://www.skillsdirectory.com/skills/technicalpickles-designing-clis)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: designing-clis
description: Use when building, improving, or reviewing command-line interfaces for better user experience - before implementing commands/output/errors, when users report confusion or frustration, or when CLI feels hard to use - provides UX principles, visual design techniques, and practical patterns for creating discoverable, delightful CLIs
---

# Designing CLIs

## Overview

Modern CLIs are conversations between human and machine. Great CLIs feel discoverable, responsive, and forgiving. Poor CLIs leave users guessing, waiting, and frustrated.

**Core principle:** Every CLI interaction should answer: "What happened? What can I do? What's next?"

## When to Use

**Building:**
- Creating new CLI commands or tools
- Designing output format, error messages, progress indicators
- Planning CLI architecture (flags, subcommands, interaction model)

**Improving:**
- Enhancing existing CLI user experience
- Adding features to existing commands
- Making CLI "less confusing" or "easier to use"

**Reviewing:**
- Auditing CLI code for UX issues
- Responding to user complaints about difficulty
- Troubleshooting discoverability problems

## Quick Decision Framework

| Working On | Read This |
|------------|-----------|
| New CLI under time pressure | practical-patterns.md (Priority Checklist) |
| Adding to existing CLI | practical-patterns.md (Working with Existing CLIs) |
| Fixing "confusing" CLI | practical-patterns.md (CLI UX Audit Checklist) |
| Command structure, flags | ux-principles.md (Familiarity, Discoverability) |
| Output formatting | visual-techniques.md (Layout, Spacing, Color) |
| Error messages, help text | practical-patterns.md (Error Message Patterns) |
| Overall architecture | ux-principles.md (complete overview) |

## The Six UX Principles

1. **Familiarity** - Use known conventions (--help, --version, verb-noun)
2. **Discoverability** - Guide users (help text, prompts, examples)
3. **Feedback** - Show what's happening (progress, confirmations, state)
4. **Clarity** - Structure output (spacing, alignment, hierarchy)
5. **Flow** - Minimize friction (shortcuts, defaults, scriptability)
6. **Forgiveness** - Handle errors gracefully (clear messages, suggestions, safety)

See ux-principles.md for detailed guidance and examples.

## The Five Visual Techniques

1. **Color** - Semantic meaning (green=success, red=error, yellow=warning)
2. **Spacing** - Visual grouping (blank lines, indentation, alignment)
3. **Layout** - Structured regions (panels, blocks, persistent areas)
4. **Symbols** - Fast signifiers (✓ ✗ ⚠ →, checkboxes, progress indicators)
5. **Structured Feedback** - Narrative output (phases, lists, visible progress)

See visual-techniques.md for implementation patterns.

## Common Mistakes

❌ **Silent operations** - No feedback during slow operations
✅ Show progress, confirmations, or at minimum "Working..."

❌ **Cryptic errors without guidance** - "Error: invalid input"
✅ Explain what's wrong, what's valid, how to fix: "Error: Invalid environment 'production'. Valid: dev, staging, prod"

❌ **No --help text** - Forces users to read docs or source
✅ Every command supports --help with usage and examples

❌ **Wrong exit codes** - Always returns 0, breaks scripting
✅ 0 for success, 1 for errors

❌ **Color-only information** - Inaccessible without color support
✅ Always pair color with text/symbols, support --no-color

❌ **Walls of unstructured text** - Dense output hard to scan
✅ Use spacing, alignment, hierarchy to structure information

## Priority Under Time Pressure

When building CLI urgently, include these first (high impact, low effort):

1. **--help flag** (2 minutes) - Include usage, examples, common flags
2. **Exit codes** (1 minute) - 0=success, 1=error, enables CI/CD
3. **Clear errors** (5 minutes) - What happened + what's valid + how to fix
4. **Progress feedback** (3 minutes) - Show activity during slow operations

Skip initially (lower priority):
- Color schemes (polish, not function)
- Advanced formatting (tables, columns)
- Multiple output formats (JSON, YAML, etc.)

## Cross-References

**Detailed guidance:**
- practical-patterns.md - Checklists, templates, decision trees
- ux-principles.md - Principles with real-world examples
- visual-techniques.md - Implementation patterns for terminal output
- reading-list.md - Sources and deeper learning

**Research materials:**
- research/ - Original blog-style documentation and analysis

Files in this skill

  • CLAUDE.md3.3 KB
  • SKILL.md4.4 KB
  • TESTING.md5.1 KB
  • practical-patterns.md6.4 KB
  • reading-list.md4.1 KB
  • research/cli_feedback_blog.md6.2 KB
  • research/ux/01-ux-principles.md8.4 KB
  • research/ux/02-ux-design-guide.md6.5 KB
  • research/ux/02.5-crafting-delightful-command-line-experiences.md6.7 KB
  • research/ux/03-readling-list.md6.5 KB
  • research/ux/04-manifest.md2.8 KB
  • research/ux/cli_ux_heuristics_checklist.md2.8 KB
  • research/ux/cli_ux_research_master_prompt.md3.5 KB
  • research/visual/00-research-prompt.md5.4 KB
  • research/visual/01-visual-design-principles.md4.9 KB
  • research/visual/02-playbook.md6.9 KB
  • research/visual/03-reading-list.md3 KB
  • tests/README.md3.9 KB
  • tests/baseline/scenario-1-time-pressure.md2.5 KB
  • tests/baseline/scenario-2-existing-codebase.md3.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.