pproenca/dot-skills/cli-for-agents

Claude Code and agent skill by pproenca/dot-skills

Trust tier 2
  • community
LLM review pending
Source check pending

Checking that the SKILL.md file is still in the repository.

Designing CLIs that AI agents will invoke — non-interactive flags, layered --help with examples, stdin/pipeline composition, actionable errors, idempotency, dry-run, destructive-action safety, and predictable command structure. Use when designing, building, or reviewing a command-line tool that AI agents or automation will invoke. Trigger even if the user doesn't explicitly say "agent-friendly" — apply whenever they are writing `--help` text, adding a new subcommand, designing error messages, or reviewing a CLI's UX.

Install

npx vskill@latest install pproenca/dot-skills/cli-for-agents

SKILL.md

Agent-Friendly CLI Design Best Practices

Prescriptive design and review standards for Command-Line Interface Design targeting AI agents and scripts, not just humans typing at a prompt. Human-oriented CLIs often block agents: interactive prompts, huge upfront docs, help text without copy-pasteable examples, error messages without fixes, no dry-run mode. This skill prioritizes rules by blast radius — from "the agent cannot use this CLI at all" (CRITICAL) to "the agent has to read help one extra time" (MEDIUM).

Use this skill both when building a new CLI and when reviewing an existing one for agent-friendliness.

This skill contains 45 rules across 8 categories.

When to Apply

Reference these guidelines when:

  • Writing --help text for any subcommand
  • Designing new flags, arguments, or subcommands
  • Crafting error messages or exit codes
  • Adding destructive operations that need dry-run or confirmation
  • Choosing between interactive prompts and flag-only inputs
  • Shaping success output so agents can chain commands
  • Reviewing an existing CLI for headless-usability regressions

Rule Categories by Priority

PriorityCategoryImpactPrefix
1Non-interactive OperationCRITICALinteract-
2Help Text DesignHIGHhelp-
3Error MessagesHIGHerr-
4Destructive Action SafetyHIGHsafe-
5Input HandlingHIGHinput-
6Output FormatMEDIUM-HIGHoutput-
7Idempotency & RetriesMEDIUM-HIGHidem-
8Command StructureMEDIUMstruct-

Note: help-examples-in-help is rated CRITICAL within the HIGH help- category because its specific failure — help text without examples — makes every other help rule moot. The category label reflects the average, not the worst case.

Quick Reference

1. Non-interactive Operation (CRITICAL)
2. Help Text Design (HIGH)
3. Error Messages (HIGH)
4. Destructive Action Safety (HIGH)
5. Input Handling (HIGH)
6. Output Format (MEDIUM-HIGH)
7. Idempotency & Retries (MEDIUM-HIGH)
8. Command Structure (MEDIUM)

How to Use

When building a new CLI

Start at CRITICAL and walk down. The first two categories (interact- and help-) are non-negotiable — if any rule in these is violated, the CLI is unusable by agents regardless of how good the rest is. After those, work through err-, safe-, and input- — these are where most real-world friction lives. output-, idem-, and struct- are polish that compounds across many invocations.

When reviewing an existing CLI

Run through this checklist in priority order:

  1. Non-interactive path — invoke every subcommand with --no-input or under </dev/null and see which hang
  2. Layered help — does mycli --help list subcommands only, or dump everything?
  3. Examples on `--help` — every subcommand's help should end with a runnable Examples section
  4. Error messages with invocations — does every error tell the caller exactly which flag to add?
  5. stdin/pipeline story — can you pipe output into input? Does - mean stdin?
  6. Exit codes — are usage errors (2), runtime failures (1), and transient failures (69) distinct?
  7. Dry-run — every destructive command has --dry-run (or equivalent)
  8. Confirmation bypass — every destructive command has --yes/--force
  9. Consistent command structure — do service list, deploy list, config list all exist and work the same way?
  10. Structured success output — does deploy return a deploy_id the agent can use next?
Individual rules

Read individual reference files for detailed explanations and code examples:

Reference Files

FileDescription
references/_sections.mdCategory definitions and ordering
assets/templates/_template.mdTemplate for new rules
metadata.jsonVersion and reference information

Security

  • Security scanPassed, 93 of 100Pattern checks on the skill's files.
  • Model reviewNot runA model review is scheduled for the next rescan.

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
169
Repository forks
12
7-day trend score
26

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/pproenca/dot-skills/cli-for-agents/badge)](https://verified-skill.com/skills/pproenca/dot-skills/cli-for-agents)

Something wrong with this skill or its page? Tell us.