create-cli-design

create-cli-design is a skill for Claude Code from tomzx/agents. It costs 72 tokens per session (1,849 once invoked), scanned A, original, MIT.

A design brief for a command-line interface, covering its commands, options, arguments, errors, output, help text, and example terminal sessions.

In plain words
What is it for?
Use it when adding or changing command-line commands or options, alongside requirements for the feature.
Why use it?
It gives everyone a shared plan for how the feature should be used before implementation, reducing improvised names, flags, and output that may need rework.

Skill for Claude Code

Written for Claude Code: argument-hint in frontmatter. Also seen: positional $N argument.

Good fit Use it when adding or changing command-line commands or options, alongside requirements for the feature.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/tomzx/agents/create-cli-design
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add tomzx/agents --skill create-cli-design
Clone the repo
git clone --depth 1 https://github.com/tomzx/agents

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for create-cli-design

README.md
[![agentmods](https://agentmods.dev/badge/skills/tomzx/agents/create-cli-design/github.svg)](https://agentmods.dev/skills/tomzx/agents/create-cli-design)
Your own site
<a href="https://agentmods.dev/skills/tomzx/agents/create-cli-design"><img src="https://agentmods.dev/badge/skills/tomzx/agents/create-cli-design/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for create-cli-design

Your own site · 80×15
<a href="https://agentmods.dev/skills/tomzx/agents/create-cli-design"><img src="https://agentmods.dev/badge/skills/tomzx/agents/create-cli-design.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 72 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,849 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00072 $0.01849
Opus 5.5 $0.00029 $0.00740
Sonnet 5.5 $0.00014 $0.00370
Haiku 4.5 $0.00007 $0.00185

Measured 22d ago against content hash 7ba955a942c8, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

create-cli-design scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 22d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/create-cli-design/SKILL.md · 101 lines

How it starts

The opening of the file, as written. The whole thing — 101 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Create CLI Design

Designs the command-line interface for a feature as a companion artifact to the requirements document, settling the commands, subcommands, options, arguments, exit codes, output behavior, help text, and example sessions before implementation begins.

For a CLI, the interface is the product: the user experiences the feature entirely through command syntax, help text, output, and errors. This skill is the terminal counterpart of /create-mockups, which serves features with a graphical interface.

Without this step, CLI work starts with no shared understanding of the command surface, so naming, flags, and output are improvised during implementation and reworked in review.

Prerequisites

  • Apply the shared SDLC conventions in skills/sdlc/references/shared.md.
  • If no argument is provided, locate the feature directory under .sdlc/features/ whose frontmatter issue field references $ISSUE_NUMBER.
  • .sdlc/features/N-<slug>/requirements.md (a draft is acceptable; this skill typically runs delegated from /create-requirements), or a feature brief provided in context or as a file path ($1)
  • The repository's existing CLI conventions, when one exists: detect the framework and match its command naming, flag style, and output conventions instead of inventing new ones

Steps

  1. Detect revision mode: if review-requirements.md exists beside requirements.md with verdict: changes-requested and its findings concern cli-design.md, read the design and the findings together, amend the design minimally to resolve each finding (preserving content the findings did not challenge), and set frontmatter status: in-review. Skip the fresh drafting below.
  2. Read the requirements (or brief) and apply any style rules in .sdlc/context/conventions.md.
  3. Survey the existing CLI, if any: framework, command naming, flag style, output conventions, exit code usage. When the project has no CLI yet, fix the baseline conventions explicitly (e.g., GNU-style long options, kebab-case names, verb-first commands) and record them as the design principles.
  4. Determine whether the feature has a CLI surface: does it add or change commands, options, or command output? If not, emit verdict: skipped and write no artifact.
  5. Derive the command tree from the functional requirements: every user-facing FR maps to at least one command, subcommand, or option; one command per user goal; group related operations under noun subcommands.
  6. For each command, specify: a synopsis, a description, positional arguments (name, required, description), options (short and long form, value type, default, env-var fallback), at least one usage example, and its specific error cases.
  7. Define the cross-command surface: global options, environment variables, config file and precedence (flags over env over config over defaults), exit codes, the stdout/stderr split, machine-readable output (--json) when scripts must consume the output, and TTY-aware behavior (color, progress, and tables only on a TTY, honoring NO_COLOR).
  8. Design user error protection: an actionable error message format (error: <message> plus a hint), confirmation prompts on destructive actions with --yes/--force to skip, and --dry-run where meaningful.
  9. Write the help text for the root command and one representative subcommand.
  10. Write example sessions as fenced console transcripts demonstrating the intended experience: a happy path, at least one error path, and (for destructive or interactive CLIs) a confirmation exchange plus a piping example. These transcripts are the most important part of the artifact: a reader should be able to picture the experience of using the CLI before it exists.
  11. Feed implied changes back: options or commands that surface a missing requirement go into requirements.md as open questions or new FRs, and unresolved interface decisions become open questions here.
  12. Write the output to .sdlc/features/N-<slug>/cli-design.md, creating the directory if it does not exist, with frontmatter status: draft.

Read the full file on GitHub · 101 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 22d ago Changed · +1 lines 7ba955a942c8
  2. 24d ago Changed e672ac8170fd
  3. 28d ago Changed · +1 lines 8a23b6aabaa6
  4. 2mo ago First seen · 99 lines · 72 tokens per session scan A 3eece73de35d

Subscribe to this mod's changes

create-cli-design is a skill published in the GitHub repository tomzx/agents (13 stars, last pushed yesterday), licensed MIT. It adds 72 tokens to every session and 1,849 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

local-ai-agents

Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…

microsoft/ai-agents-for-beginners · 200 tokens

systematic-debugging

Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.

obra/superpowers · 21 tokens

next-cache-components-adoption

Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…

vercel/next.js · 95 tokens

chat-pet-sprite-creation

Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.

microsoft/vscode · 53 tokens

cpu-profile-analysis

Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…

microsoft/vscode · 71 tokens

insight-error-page

Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…

vercel/next.js · 83 tokens