# Create CLI

CLI UX/spec: args, flags, help, output, errors, config, dry-run.

- Repository: https://github.com/steipete/agent-scripts (7431 stars)
- Category: Design
- License: MIT
- Last updated: 2026-10-30
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add steipete/agent-scripts --skill create-cli -g -a claude-code -y`
Codex: `npx skills add steipete/agent-scripts --skill create-cli -g -a codex -y`
Cursor: `npx skills add steipete/agent-scripts --skill create-cli -g -a cursor -y`
Gemini CLI: `npx skills add steipete/agent-scripts --skill create-cli -g -a gemini-cli -y`

## Description

CLI UX/spec: args, flags, help, output, errors, config, dry-run.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Create CLI

Design CLI surface area (syntax + behavior), human-first, script-friendly.

## Do This First

- Read `agent-scripts/skills/create-cli/references/cli-guidelines.md` and apply it as the default rubric.
- Upstream/full guidelines: https://clig.dev/ (propose changes: https://github.com/cli-guidelines/cli-guidelines)
- Ask only the minimum clarifying questions needed to lock the interface.

## Clarify (fast)

Ask, then proceed with best-guess defaults if user is unsure:

- Command name + one-sentence purpose.
- Primary user: humans, scripts, or both.
- Input sources: args vs stdin; files vs URLs; secrets (never via flags).
- Output contract: human text, `--json`, `--plain`, exit codes.
- Interactivity: prompts allowed? need `--no-input`? confirmations for destructive ops?
- Config model: flags/env/config-file; precedence; XDG vs repo-local.
- Platform/runtime constraints: macOS/Linux/Windows; single binary vs runtime.

## Deliverables (what to output)

When designing a CLI, produce a compact spec the user can implement:

- Command tree + USAGE synopsis.
- Args/flags table (types, defaults, required/optional, examples).
- Subcommand semantics (what each does; idempotence; state changes).
- Output rules: stdout vs stderr; TTY detection; `--json`/`--plain`; `--quiet`/`--verbose`.
- Error + exit code map (top failure modes).
- Safety rules: `--dry-run`, confirmations, `--force`, `--no-input`.
- Config/env rules + precedence (flags > env > project config > user config > system).
- Shell completion story (if relevant): install/discoverability; generation command or bundled scripts.
- 5, 10 example invocations (common flows; include piped/stdin examples).

## Default Conventions (unless user says otherwise)

The rest: https://github.com/steipete/agent-scripts/blob/HEAD/skills/create-cli/SKILL.md
