cli-development

Verb-noun commands, progressive disclosure, helpful errors.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "cli-development" with this command: npx skills add phrazzld/claude-config/phrazzld-claude-config-cli-development

CLI Development

Verb-noun commands, progressive disclosure, helpful errors.

Command Structure

Verb-noun pattern:

tool create project tool deploy app tool logs get tool config set key value

Max 2 levels deep. Use common verbs: create, delete, list, show, update, get, set.

Flags

-h, --help Always support both -v, --verbose Increase output detail -f, --force Skip confirmations -o, --output json Format specifier --dry-run Show what would happen

Boolean flags don't take values. Value flags use space or = .

Help Text

USAGE tool deploy <app> [flags]

DESCRIPTION Deploy an application to the specified environment.

FLAGS -e, --env string Target environment (default: "staging") -f, --force Skip confirmation prompt --dry-run Show what would be deployed

EXAMPLES

Deploy to staging

tool deploy my-app

Deploy to production with confirmation bypass

tool deploy my-app --env production --force

SEE ALSO tool deploy logs View deployment logs tool deploy status Check deployment status

Error Messages

Error: Configuration file not found

The file 'config.yaml' does not exist in the current directory.

To fix this:

  1. Run 'tool init' to create a new config file
  2. Or specify a path with --config /path/to/config.yaml

See 'tool init --help' for more information.

Include: what went wrong, context, specific fix, help reference.

Exit Codes

Code Meaning

0 Success

1 General error

2 Misuse (invalid arguments)

126 Not executable

127 Command not found

Output

Human-readable by default, machine-readable on request:

tool list users # Pretty table tool list users --format json # JSON output tool list users -o yaml # YAML output

Progressive Disclosure

  • Simple commands with sensible defaults

  • Advanced options available but not prominent

  • Help organized by experience level

  • Discovery through --help and suggestions

Anti-Patterns

  • Cryptic abbreviations (-x without long form)

  • Stack traces in user output

  • Silent failures (no output on error)

  • Required flags for common cases

  • Deep command hierarchies (>2 levels)

  • Inconsistent verbs across commands

Toolchain

See references/toolchain.md for framework-specific guidance:

  • Commander.js (default for Node.js)

  • oclif (enterprise CLIs)

  • Ink (React for terminals)

  • Cobra (Go CLIs)

  • Thor (Ruby CLIs)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

pencil-to-code

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

browser-extension-dev

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

python-standards

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

convex-development

No summary provided by upstream source.

Repository SourceNeeds Review