create-cli

Design CLI parameters, flags, subcommands, help text, and exit codes.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/thiagobutignon/nooa-the-pragmatic --skill create-cli-thiagobutignon
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: create-cli
Source: https://github.com/thiagobutignon/nooa-the-pragmatic/tree/main/.agent/skills/create-cli
Command: npx skills add https://github.com/thiagobutignon/nooa-the-pragmatic --skill create-cli-thiagobutignon

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you design user-friendly and scriptable command-line interfaces (CLIs) by defining their structure, behavior, and conventions before implementation.

Core Features & Use Cases

  • CLI Specification: Design command names, arguments, flags, subcommands, and their semantics.
  • UX Design: Define output formats, error messages, exit codes, and interactive prompts.
  • Convention Adherence: Apply best practices for consistency, discoverability, and robustness based on established guidelines.
  • Use Case: You need to design the command-line interface for a new data processing tool. This Skill will help you define commands like process data --input file.csv --output report.json --format xml and ensure it follows best practices.

Quick Start

Design a CLI command named 'deploy' that takes a 'target' argument and a '--force' flag.

Frequently Asked Questions about create-cli

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design a command-line interface specification before implementation?

Designing a command-line interface specification involves defining command names, arguments, flags, subcommands, and their semantics. This process structures the CLI behavior and conventions before writing code, ensuring robustness and discoverability for both human users and scripts.

What are the best practices for CLI UX design including error messages and exit codes?

Best practices for CLI UX design include applying established guidelines for consistency and discoverability. You should define clear output formats, descriptive error messages, appropriate exit codes, and interactive prompts to create a human-first and script-friendly interface experience.

Can I refactor an existing command-line tool for consistency and discoverability?

Yes, you can refactor existing CLI surfaces to improve consistency and discoverability. By re-evaluating the current arguments, flags, and help text against established design guidelines, you can restructure the interface for better user experience and scriptability.

How do I structure command-line arguments, subcommands, and flags for a new tool?

Structuring command-line arguments, subcommands, and flags requires defining their semantics and hierarchy. You establish a clear syntax, such as specifying a main command with targeted arguments and modifiers, ensuring the interface remains intuitive and adheres to standard conventions.

Does this CLI design approach work for both human-first and script-friendly interfaces?

Yes, this CLI design approach explicitly adheres to established guidelines for both human-first and script-friendly interfaces. It balances structured output formats and predictable exit codes for automation with clear help text and interactive prompts for human users.