# Design Better CLI and TUI Workflows

CLI tools often fail because commands, help, and errors feel inconsistent. This skill guides command structure, prompts, outputs, and release checks.

## Install

```bash
npx skillstore add dammianmiller/cli-design-expert
```

## Metadata

- Status: approved
- Slug: dammianmiller-cli-design-expert
- Skillstore revision: r1
- Version status: missing
- Tree hash: 4ab0ccb7fe73c0560a7cafc9a7c18b579c034711de7a0b36eed6718d30c6a374
- Author: DammianMiller
- GitHub username: DammianMiller
- License: MIT
- Repository: https://github.com/DammianMiller/universal-agent-memory/tree/main/.factory/skills/cli-design-expert
- Ref: 34f316ba14ef36c7a620fc09f2676d2429997a77
- Supported tools: Claude, Codex, Claude Code
- Audit status: complete
- Agent install advisory: allowed
- Manual install advisory: allowed
- Artifact signature: available
- Audit attestation: unavailable
- Human verification: not\_verified
- Risk factors: external\_commands, network
- Quality score: 78
- Quality tier: bronze
- Public page: https://skillstore.pages.dev/skills/dammianmiller-cli-design-expert
- Manifest: https://skillstore.pages.dev/api/skills/dammianmiller-cli-design-expert/manifest

## Capabilities

- Design noun-verb command structures and option naming conventions.
- Create layered help systems with concise examples and recovery guidance.
- Draft helpful error messages with clear causes and next steps.
- Plan interactive prompts with defaults, validation, and confirmations.
- Define human-readable, quiet, and structured output modes.
- Review CLI readiness with a release checklist for polish and consistency.

## Use Cases

- Ship a New Developer Tool: Plan command names, options, help text, and examples before implementation begins.
- Standardize Internal Automation: Align team scripts around predictable flags, output modes, and error handling.
- Improve Terminal Onboarding: Turn confusing setup steps into prompts, confirmations, and clear recovery paths.

## Prompt Templates

### Improve Command Basics

```
Review this CLI idea and propose a clear command structure, common options, and a short help outline. Keep the design simple for first-time users.
```

### Write Layered Help

```
Create three levels of help for my CLI: root command, command help, and subcommand help. Include examples and plain recovery guidance.
```

### Refine Interactive Setup

```
Design an interactive setup flow for this terminal tool. Include question order, defaults, validation messages, cancellation behavior, and confirmation steps.
```

### Audit the Full Experience

```
Audit this CLI specification for command naming, option consistency, output modes, error messages, destructive actions, and release readiness. Provide prioritized fixes.
```

## Limitations

- Does not provide a complete runnable CLI framework.
- Does not audit production shell scripts or generated completions for security.
- Examples use one project vocabulary and must be adapted.
- Requires implementation in the user chosen language and tooling.

## Best Practices

- Start with the smallest useful command set, then add advanced options only when needed.
- Write help text with real examples before implementation details harden.
- Confirm destructive actions and explain recovery options when cancellation is safer.

## Anti Patterns

- Avoid command names that expose internal architecture instead of user goals.
- Avoid cryptic errors that require users to inspect logs for basic fixes.
- Avoid changing output formats without an explicit machine-readable mode.

## Security Audit

- Audited at: 2026-07-06T10:07:31.009\+00:00
- Summary: All static findings were reviewed against SKILL.md context and were false positives from Markdown fences, illustrative TypeScript, shell completion examples, documentation links, or prose. No prompt injection, data exfiltration intent, executable installer, or hidden runtime behavior was found in the reviewed file.

## Stats

- Views: 261
- Downloads: 10
- Favorites: 0
- Popularity score: 0
