Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsBlogPro
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Authors
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges
  • Chrome Extension
  • Skill Manager

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

ProTermsPrivacyRefunds
Back to skills

Cli Anything

ASecurity

Wrap any command-line tool into a JSON-emitting agent skill. Use when you want to make a CLI reliably callable and parseable by an AI agent — introspect its --help, define a structured-output (--json) contract and a stable error contract, then generate a SKILL.md wrapper with verified examples. Triggers on "wrap this CLI", "make X agent-usable", "generate a skill for this command", "turn a tool into an agent skill".

477 stars
0 votes
0 copies
0 views
Added 9/23/2026
ai-agentsgit

Works with

cli

Security Analysis

A100/100

Scanned 9/23/2026

$npx -y skills add coco-research/coco --skill cli-anything --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cli Anything?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Cli Anything
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/coco-research-cli-anything/badge)](https://www.skillsdirectory.com/skills/coco-research-cli-anything)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
Files
SKILL.md
---
name: cli-anything
description: Wrap any command-line tool into a JSON-emitting agent skill. Use when you want to make a CLI reliably callable and parseable by an AI agent — introspect its --help, define a structured-output (--json) contract and a stable error contract, then generate a SKILL.md wrapper with verified examples. Triggers on "wrap this CLI", "make X agent-usable", "generate a skill for this command", "turn a tool into an agent skill".
domain: meta
---

<!-- Methodology adapted from HKUDS/CLI-Anything (https://github.com/HKUDS/CLI-Anything) — Apache-2.0. -->

# cli-anything: wrap any CLI into an agent skill

Turn any command-line tool into something an AI agent can call reliably and parse. The output is a thin, well-documented wrapper contract — never a reimplementation of the tool. Use the real tool; document how to drive it.

## When to use

You have a CLI (your own, or a third-party binary) and you want an agent to invoke it predictably, read structured results, and recover from errors. This skill produces a `SKILL.md` wrapper that encodes that contract.

## Step 1 — Introspect the CLI (do not guess)

Enumerate the real surface before writing anything:

- Run `<tool> --help` and `<tool> <subcommand> --help` for each subcommand.
- Capture: subcommands, flags (required vs optional), positional args, exit codes, and the output format (human text vs structured).
- If `--help` is thin, read the source or man page. Every claim in the wrapper must trace to observed behavior.

## Step 2 — Define the output contract

- Prefer a `--json` machine-readable mode for every command an agent will call. Document the exact JSON keys the agent should read (one shape per command).
- If the tool has no JSON mode, say so honestly and document what to parse from stdout (and which token carries the answer). Do not pretend output is structured when it is not.
- Human output stays the default; structured output is the agent path.

## Step 3 — Define the error contract

- Map exit codes to meaning (0 = success; document each non-zero class).
- On failure, surface a parseable signal (`{"error": "...", "code": N}` if the tool supports it, otherwise the captured stderr) — never a bare stack trace.
- Fail loud and parseable. Never half-succeed silently.

## Step 4 — Write the SKILL.md wrapper

Standard structure so an agent can discover and drive the tool:

- Frontmatter: `name`, `description` (include natural trigger phrases).
- `Commands` — each command: purpose, exact invocation, args, and the result shape it returns.
- `Examples` — 2-4 real invocations with expected output.
- `Errors` — the exit-code/error contract from Step 3.
- `Notes` — auth, side effects, idempotency, network egress, prerequisites.

## Step 5 — Verify against reality

- Run each documented command once; confirm the real output matches what the wrapper claims.
- Confirm any `--json` shape parses.
- A wrapper that drifts from reality is worse than none — re-introspect and fix.

## Principles

- Use the real tool; never reimplement its logic in the wrapper.
- Deterministic and structured beats clever.
- The wrapper is a contract: introspect, structure, document, verify.

## Worked example

`skills/coco-cli/SKILL.md` is a wrapper produced with this pattern over the `cocosuperintelligence` command — note how it documents the (human-only) output contract honestly rather than inventing a JSON mode the tool lacks.

Attribution

coco-researchcoco-research
View sourceSee grades on GitHubMore from coco-research →
SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Ship a skill? Prove it's safe.

Free 120-pattern security scan, letter grade, and an embeddable README badge.

Submit a skill

Related Skills

Caveman

Terse caveman voice: answer first, fluff gone, every technical fact kept. Use for /caveman, "caveman mode", "talk like caveman", "be brief", "less tokens". Stays on until "stop caveman" or "normal mode".

1100021 votes

Hyperplan

Adversarial multi-agent planning skill. Self-orchestrates 5 hostile category members (unspecified-low, unspecified-high, deep, ultrabrain, artistry) via team-mode for ruthless cross-critique debate, distills only the defensible insights, then MANDATORILY hands the distilled insight bundle to the `plan` agent for executable plan formalization. Use when planning needs maximum rigor and surfacing of weak assumptions, blind spots, and over-engineering. Triggers: 'hyperplan', 'hpp', '/hyperplan', ...

698461 votes

Writing Skills

Create and manage Claude Code skills in HASH repository following Anthropic best practices. Use when creating new skills, modifying skill-rules.json, understanding trigger patterns, working with hooks, debugging skill activation, or implementing progressive disclosure. Covers skill structure, YAML frontmatter, trigger types (keywords, intent patterns), UserPromptSubmit hook, and the 500-line rule. Includes validation and debugging with SKILL_DEBUG. Examples include rust-error-stack, cargo-dep...

3931 votes

Mcp Code Execution

Routes multi-tool workflows through MCP servers for large datasets and pipelines. Use when Bash tool overhead is limiting throughput on data-heavy tasks.

3421 votes

catchup

Recovers the conversation and failed tool calls of a previous Codex, Amp, Claude Code, Antigravity, Cline, Copilot CLI, Cursor, DeepSeek Harness, Grok Build, Kimi, OpenCode, Pi Agent, or ZCode session. Use when the user says "catch up", "what did the last session do", "get me up to speed", "I switched agents", asks to recover/summarize a previous session before continuing, or asks to diagnose or report a catchup failure. Do NOT use for the current conversation, git history, or any non-agent log.

741 votes
View all in ai-agents →