Skip to content
Development
Skill

/cli-for-agents

Designs or reviews CLIs so coding agents can run them reliably: non-interactive flags, layered --help with examples, stdin/pipelines, fast actionable errors, idempotency, dry-run, and predictable structure. Use when building a CLI, adding commands, writing --help, or when the

From plugin
plugins
15k113 skills14 agents

Claude Code

$ npx -y skills add cursor/plugins --skill cli-for-agents --agent claude-code

SKILL.md

cli-for-agents.SKILL.md
name: cli-for-agents
description: >-
  Designs or reviews CLIs so coding agents can run them reliably: non-interactive
  flags, layered --help with examples, stdin/pipelines, fast actionable errors,
  idempotency, dry-run, and predictable structure. Use when building a CLI,
  adding commands, writing --help, or when the user mentions agents, terminals,
  or automation-friendly CLIs.

CLI for agents

Human-oriented CLIs often block agents: interactive prompts, huge upfront docs, and help text without copy-pasteable examples. Prefer patterns that work headlessly and compose in pipelines.

Non-interactive first

  • Every input should be expressible as a flag or flag value. Do not require arrow keys, menus, or timed prompts.
  • If flags are missing, **then** fall back to interactive mode—not the other way around.

**Bad:** `mycli deploy` → `? Which environment? (use arrow keys)` **Good:** `mycli deploy --env staging`

Discoverability without dumping context

  • Agents discover subcommands incrementally: `mycli`, then `mycli deploy --help`. Do not print the entire manual on every run.
  • Let each subcommand own its documentation so unused commands stay out of context.

`--help` that works

  • Every subcommand has `--help`.
  • Every `--help` includes **Examples** with real invocations. Examples do more than prose for pattern-matching.
Options:
  --env     Target environment (staging, production)
  --tag     Image tag (default: latest)
  --force   Skip confirmation

Examples:
  mycli deploy --env staging
  mycli deploy --env production --tag v1.2.3
  mycli deploy --env staging --force

stdin, flags, and pipelines

  • Accept stdin where it makes sense (e.g. `cat config.json | mycli config import --stdin`).
  • Avoid odd positional ordering and avoid falling back to interactive prompts for missing values.
  • Support chaining: `mycli deploy --env staging --tag $(mycli build --output tag-only)`.

Fail fast with actionable errors

  • On missing required flags: exit immediately with a clear message and a **correct example invocation**, not a hang.
Error: No image tag specified.
  mycli deploy --env staging --tag <image-tag>
  Available tags: mycli build list --output tags

Idempotency

  • Agents retry often. The same successful command run twice should be safe (no-op or explicit "already done"), not duplicate side effects.

Destructive actions

  • Add `--dry-run` (or equivalent) so agents can preview plans before committing.
  • Offer `--yes` / `--force` to skip confirmations while keeping the safe default for humans.

Predictable structure

  • Use a consistent pattern everywhere, e.g. `resource` + `verb`: if `mycli service list` exists, `mycli deploy list` and `mycli config list` should follow the same shape.

Success output

  • On success, return machine-useful data: IDs, URLs, durations. Plain text is fine; avoid relying on decorative output alone.
deployed v1.2.3 to staging
url: https://staging.myapp.com
deploy_id: dep_abc123
duration: 34s

When reviewing an existing CLI

  • Check: non-interactive path, layered help, examples on `--help`, stdin/pipeline story, error messages with invocations, idempotency, dry-run, confirmation bypass flags, consistent command structure, structured success output.
Read more
@cursor
Ships withplugins

Official Cursor plugins for popular developer tools, frameworks, and SaaS products. Each plugin is a standalone directory at the repository root with its own .cursor-plugin/plugin.json manifest.

15k113 skills14 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
15.0k
Star history of cursor/plugins on GitHub, a chart by star-history.com

Other skills on plugins.

advisor

advisor

Advisor mode. Consult a stronger (or different) model at key checkpoints: before major decisions, when stuck on an error, and…

@cursor@cursorInstall Skill
continual-learning

continual-learning

Orchestrate continual learning by delegating transcript mining and AGENTS.md updates to `agents-memory-updater`.

@cursor@cursorInstall Skill
create-plugin-scaffold

create-plugin-scaffold

Create a new Cursor plugin scaffold with a valid manifest, component directories, and marketplace wiring. Use when starting a new…

@cursor@cursorInstall Skill
review-plugin-submission

review-plugin-submissi…

Audit a Cursor plugin for marketplace readiness. Use when validating manifests, component metadata, discovery paths, and…

@cursor@cursorInstall Skill
cursor-sdk

cursor-sdk

Guide users building apps, scripts, CI pipelines, or automations on top of the Cursor TypeScript SDK (`@cursor/sdk`). Use this…

@cursor@cursorInstall Skill

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills11d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc13d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react2d252k
@facebook@facebookInstall Skill

Questions about cli-for-agents.

Which coding agents can use cli-for-agents?
cli-for-agents installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.