skillmake
← marketplace
engineersconceptsha:763eb4b736bd7377manual

create-cli

Use when working with cLI UX/spec: args, flags, help, output, errors, config, dry-run from steipete/agent-scripts.

Install confidence
curl --create-dirs -fsSL https://skillmake.xyz/i/create-cli -o ~/.claude/skills/create-cli/SKILL.md
Pinned content
sha:763eb4b736bd7377
Generated with
manual
Source
github.com

The file served at /api/marketplace/create-cli-763eb4b7/raw matches this hash. Inspect before install, then copy the command.

3,821 chars · ~955 tokens
---
name: create-cli
description: "Use when working with cLI UX/spec: args, flags, help, output, errors, config, dry-run from steipete/agent-scripts."
source: https://github.com/steipete/agent-scripts/tree/main/skills/create-cli
generated: 2026-05-27T20:55:31.949Z
category: concept
audience: engineers
---

## When to use

- Using the create-cli skill's upstream workflow, guardrails, and local-tool assumptions.
- Auditing commands or operational steps before changing create cli behavior.
- Needing a compact agent reference for cLI UX/spec: args, flags, help, output, errors, config, dry-run.

## Key concepts

### 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 >...

### Default Conventions (unless user says otherwise)

-h/--help always shows help and ignores other args. --version prints version to stdout. Primary data to stdout; diagnostics/errors to stderr. Add --json for machine output; consider --plain for stable line-based text. Prompts only when stdin is a TTY; --no-input disables prompts. Destructive operations: interactive confirmation + non-interactive requires --force or explicit --confirm=.... Respect NOCOLOR, TERM=dumb; provide --no-color. Handle Ctrl-C: exit fast; bounded cleanup; be crash-only...

### Templates (copy into your answer)

Templates (copy into your answer) guidance for the create-cli skill.

### CLI spec skeleton

Fill these sections, drop anything irrelevant: 1. Name: mycmd 2. One-liner:... 3. USAGE: - mycmd [global flags] <subcommand> [args] 4. Subcommands: - mycmd init... - mycmd run... 5. Global flags: - -h, --help - --version - -q, --quiet / -v, --verbose (define exactly) - --json / --plain (if applicable) 6. I/O contract: - stdout: - stderr: 7. Exit codes: - 0 success - 1 generic failure - 2 invalid usage (parse/validation) - (add command-specific codes only when actually useful) 8. Env/config...

## API reference

```
npx skills add steipete/agent-scripts --skill create-cli
```

Install the create-cli skill from steipete/agent-scripts.

```
npx skills add steipete/agent-scripts --skill create-cli
```

## Gotchas

- Ask only the minimum clarifying questions needed to lock the interface.
- Ask, then proceed with best-guess defaults if user is unsure:.
- Prefer recommending a parsing library (language-specific) only when asked; otherwise keep this skill language-agnostic.

---
Generated by SkillMake from https://github.com/steipete/agent-scripts/tree/main/skills/create-cli on 2026-05-27T20:55:31.949Z.
Verify against source before relying on details.

File: ~/.claude/skills/create-cli/SKILL.md