2.5k
GitHub Stars
2
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill openclaw/skills --skill create-cli- _meta.json274 B
- SKILL.md3.6 KB
Overview
This skill designs the command-line interface parameters and user experience for a tool before implementation. It produces a compact, implementable CLI specification covering command tree, flags, I/O, error codes, config precedence, safety and example invocations.
How this skill works
I ask a small set of clarifying questions (command name, primary user, input/output contracts, interactivity and config model) and apply a default rubric based on CLI best practices. Then I generate a concise spec: usage synopsis, args/flags table, subcommand semantics, I/O rules, exit codes, config precedence, safety behaviors, shell completion notes, and 5–10 example invocations.
When to use it
- Designing a new CLI surface before writing code.
- Refactoring or standardizing an existing CLI for consistency.
- Specifying machine- and human-friendly output formats.
- Defining safety and non-interactive behaviors for automation.
- Auditing CLI discoverability and completion/install story.
Best practices
- Ask minimal clarifying questions; use sensible defaults if unsure.
- Keep primary data on stdout and diagnostics on stderr; add --json and --plain.
- Make prompts conditional on TTY; provide --no-input and --force for automation.
- Follow clear precedence for flags > env > project config > user config > system.
- Define explicit exit codes for parse/validation, generic failures, and common error modes.
- Document example invocations including piped stdin and config-file scenarios.
Example use cases
- Design a new deploy CLI: name, subcommands, flags, dry-run, and confirmation rules.
- Refactor a backup tool to add --json output and consistent exit codes for automation.
- Specify config precedence and environment variables for a cross-platform single-binary tool.
- Create a help/usage tree and completion install instructions for discoverability.
- Add safe defaults: --dry-run, --no-input, and explicit --confirm token for destructive ops.
FAQ
I ask for command name + one-line purpose, primary user (human/scripts), input sources, desired outputs, interactivity expectations, config model, and platform/runtime constraints.
Do you recommend specific libraries or languages?
Not by default. I stay language-agnostic unless you ask, but I can suggest parsing libraries upon request.
Will you produce example invocations?
Yes — 5–10 representative examples including TTY/non-TTY, piped stdin, and dry-run/force flows.