cli-design
Skill448 starsChanged 4 days agoMITView on GitHub
Design a CLI interface: args, flags, help, output, errors, exit codes, config.
17 other projects use a version of this.
Adopted by
Most recently taken up by
- danielsitek/skillstheir own version, first seen Nov 8, 2026
- TidalPaladin/skillstheir own version, first seen Nov 8, 2026
- drinkspiller/skillstheir own version, first seen Nov 6, 2026
- yahyabedirhan/skillstheir own version, first seen Nov 1, 2026
- damacus/agent-skillstheir own version, first seen Oct 29, 2026
- tenstorrent/tt-studiotheir own version, first seen Oct 16, 2026
Other versions17 projects use a version of this.
Word for word · 1
- notque/claude-code-toolkit★ 448100% same
Edited · 0
None found.
Wrote their own version · 16
- vm0-ai/vm0★ 1.2ksame name
- joelhooks/joelclaw★ 65same name
- tenstorrent/tt-studio★ 52same name
- z-Zihan/Evir★ 11same name
- markphelps/agent-plugins★ 5same name
- magarcia/skills★ 4same name
- yahyabedirhan/skills★ 3same name
- damacus/agent-skills★ 2same name
- drinkspiller/skills★ 1same name
- LevyBytes/AI-SKILL-cli-design★ 1same name
6 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository64 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- assessmentSkill
- dataSkill
- business-opsSkill
- code-qualitySkill
- comment-qualitySkill
- condenseSkill
- joy-checkSkill
- content-engineSkill
- contentSkill
- headlinesSkill
- image-genSkill
- image-to-videoSkill
- series-plannerSkill
- topic-brainstormerSkill
- video-editingSkill
- writingSkill
- domainSkill
- frontendSkill
- frontend-slidesSkill
- jev-designSkill
- webgl-card-effectsSkill
- game-asset-generatorSkill
- game-devSkill
- game-trailerSkill
- motion-pipelineSkill
- browser-jev-automationSkill
- cve-source-checkSkill
- deploySkill
- endpoint-validatorSkill
- headless-cron-creatorSkill
- kubernetesSkill
- githubSkill
- accountsSkill
- auto-dreamSkill
- building-with-jevSkill
- codexSkill
- docs-sync-checkerSkill
- doSkill
- dSkill
- grill-jevSkill
- toolkitSkill
- workflow-helpSkill
- debuggingSkill
- plant-seedSkill
- processSkill
- pr-workflowSkill
- quickSkill
- testingSkill
- with-anti-rationalizationSkill
- workflowSkill
- worktree-agentSkill
- programmingSkill
- architecture-deepeningSkill
- codebase-analyzerSkill
- markdown-converterSkill
- news-collectionSkill
- researchSkill
- roastSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
2 rules. 0 are common, 2 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 13 edited versions we read keep these.
2
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 69
Gate: every flag used in the examples appears in the flags table, and every failure mode shown maps to an exit code.
- Distinctive: line 74
Keep the spec language-agnostic.
“Common” is measured: kept by at least 6 in 10 of the 13 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
CLI Design
Design a command-line tool's interface before implementation: human-first, script-friendly, Linux-only. Output is a compact spec the user or an agent can implement directly. Rubric source: clig.dev (rebuilt as references/clig-checklist.md).
Deep References
| When | Load | Content |
| Phase 2: applying design rubric | references/clig-checklist.md | CLI design checklist condensed from clig.dev |
Workflow
Phase 1: SCOPE
Lock the interface with the minimum questions. Proceed with the conventions in Phase 2 when the user is unsure.
- Command name and one-sentence purpose.
- Primary user: humans, scripts, or both.
- Input sources: args vs stdin; files vs URLs. Secrets travel via file or stdin, because flags leak through
psand shell history. - Output contract: human text,
--json,--plain, exit codes. - Interactivity: prompts allowed?
--no-inputneeded? confirmation for destructive ops? - Config model: flags, env, config file; precedence.
Gate: name, purpose, and I/O contract are known. Proceed only when gate passes.
Phase 2: DESIGN
Load references/clig-checklist.md and apply it as the default rubric. For each section, pick the convention and record it in the spec. Diverge from a convention only deliberately, and document the divergence in the spec — interfaces are contracts, and surprising contracts break scripts.
Phase 3: DELIVER
Produce the spec from this skeleton. Drop a section only when it genuinely has no content; fill every other section.
- Name and one-liner: command name plus a single sentence of purpose
- Usage line: the synopsis as
--helpwill print it, global flags and subcommand slot included - Subcommands: purpose of each, whether it mutates state, whether re-running it is safe
- Args/flags table: columns for name, type, default, required?, example
- I/O contract: primary data and machine-readable output on stdout; everything else (errors, progress, logs) on stderr
- Exit codes: map each failure mode to a code — success
0, failure1, bad usage2; mint extra codes only for cases scripts must distinguish - Safety:
--dry-run, confirmation rules,--force,--no-input - Env/config: env vars; config file path; precedence order with flags highest, then env, project config, user config, system
- Examples: enough invocations to cover the common flows; show at least one pipeline or stdin use
Gate: every flag used in the examples appears in the flags table, and every failure mode shown maps to an exit code.
Constraints
- Stay at spec altitude: when the request is "design the interface," deliver the spec and stop. Implementation is a separate task.
- Keep the spec language-agnostic. Recommend a parsing library only when asked.
- Target Linux. Skip Windows/macOS path, signal, and packaging concerns.
Error handling
Request mixes design and implementation
Cause: user says "design and build." Solution: deliver the spec first, get confirmation, then implement against it.
Spec balloons past one page
Cause: subcommand sprawl or speculative flags. Solution: cut flags that lack a named user need; defaults should serve most users without aliases.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

