Skip to content

CLI Design Guide

Designs command-line tools with clear args, help, output, errors and safety rules

Stars
7,433
Licence
MIT
Files
2 files

What it does

When you ask the agent to design a command-line tool, it follows a written set of CLI design guidelines instead of improvising. It asks a few key questions (who uses the tool, how input and output work, whether prompts are allowed), then produces a compact spec covering commands, flags, output rules, exit codes, config precedence and dry-run or confirmation safety. It stays language-agnostic and focuses on the interface design rather than writing the implementation.

Great for

  • Developers planning a new command-line tool and wanting a consistent interface spec
  • Teams standardising flags, help text, JSON output and error handling across their CLIs
  • Anyone reviewing an existing CLI's UX against common conventions

Skip it if

  • Writing the actual code for a CLI: the skill deliberately stays at the design level, so it will not implement it
  • Non-technical users who have no need for a terminal interface, since the output is a developer-oriented spec

Try asking

  • “Design a CLI called mycmd for syncing notes between folders, including flags and exit codes”
  • “Review my existing CLI's help and error output against good conventions”
  • “Write a spec for a deploy command with a --dry-run and confirmation rules”
  • “Propose config precedence for a tool that reads flags, env vars and a config file”
Step-by-step guide: how to use CLI Design GuideInstall, first run, examples, tips and FAQs

Install in 3 steps

  1. 1

    Download the skill

    The ZIP contains the 2 original files, the MIT licence and an attribution note.

    create-cli.zip
  2. 2

    Add it to your agent

    Claude Code (all projects)

    mkdir -p ~/.claude/skills && unzip create-cli.zip -d ~/.claude/skills/

    Claude Code / Agent SDK (this project only)

    mkdir -p .claude/skills && unzip create-cli.zip -d .claude/skills/

    Claude apps (web/desktop): Settings → Capabilities → Skills → Upload skill, and choose the ZIP.

  3. 3

    Ask for the task

    No special command needed — the agent reads the skill's description and loads it when your request matches. Try one of the prompts above.

Get better results

  • State your command name, primary users (humans, scripts or both) and platforms up front so fewer clarifying questions are needed.
  • Ask for a spec first and request implementation separately, since the skill is designed to avoid drifting into code.
  • Mention whether the tool needs machine-readable output such as --json so the output contract is set early.

What's inside

  • references/cli-guidelines.md
  • SKILL.md

Redistributed unmodified from steipete/agent-scripts under the MIT licence. The assessment was drafted with AI from the skill's files on 2026-10-29. Skills can instruct your agent to run code — read SKILL.md and any scripts before installing.