cli-developer

Design and implement command-line interfaces with argument parsing and shell completions.

1|Updated May 16, 2026
One-click install
npx skills add https://github.com/enigmaicon-eng/AI-Enterprise-OS --skill cli-developer-enigmaicon-eng
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cli-developer
Source: https://github.com/enigmaicon-eng/AI-Enterprise-OS/tree/main/examples/claude-skills/skills/cli-developer
Command: npx skills add https://github.com/enigmaicon-eng/AI-Enterprise-OS --skill cli-developer-enigmaicon-eng

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill helps you design and implement command-line interfaces that feel consistent to users, behave correctly across platforms, and provide dependable help, errors, and terminal UX.

Core Features & Use Cases

  • Command design & UX planning: Define command hierarchy, flags, arguments, and configuration patterns before writing code.
  • Implementation guidance across ecosystems: Choose an appropriate CLI framework (e.g., commander, click/typer, cobra) and wire commands safely.
  • Polish for real-world usage: Add shell completions, high-quality help text, progress indicators, correct TTY-aware output, and graceful SIGINT handling.
  • Safety & performance guardrails: Keep startup time low, avoid blocking I/O unnecessarily, and ensure CI/CD-friendly non-interactive behavior.

Quick Start

Use the cli-developer skill to design and implement a new CLI with subcommands, consistent flags, shell completions, and reliable help output for your target platform.

Frequently Asked Questions about cli-developer

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

FAQPage Schema
How do I design a command-line interface with consistent flags and subcommands?

To design a command-line interface, define the command hierarchy, flags, arguments, and configuration patterns before writing code to ensure consistent UX and predictable argument parsing across subcommands.

How do I handle SIGINT gracefully in a CLI tool?

Handling SIGINT gracefully in a CLI tool requires wiring runtime behavior that intercepts interrupt signals correctly, ensuring processes terminate safely without corrupting output or leaving terminal states unstable.

What's the best way to generate shell completions for a command-line tool?

Generating shell completions for a command-line tool involves using a CLI framework to automatically output completion scripts, providing users with automatic flag and subcommand suggestions in their terminal.

How do I make a CLI tool behave correctly in non-interactive CI/CD environments?

To make a CLI tool behave correctly in non-interactive CI/CD environments, implement TTY-aware output detection and ensure runtime fallbacks that prevent blocking interactive prompts during automated pipelines.

Does this CLI design approach support frameworks like cobra, click, and commander?

Yes, this CLI design approach supports frameworks like cobra, click, and commander by providing implementation guidance that safely wires commands and ensures reliable help text rendering across ecosystems.

Why does my CLI startup time feel slow despite simple argument parsing?

CLI startup time can feel slow due to unnecessary blocking I/O operations during initialization; applying performance guardrails and keeping argument parsing lightweight ensures fast terminal UX.