cli-anything
Use when you want to make a command-line tool 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".
- License 许可
- MIT
- 最近更新
- 2026-11-02
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- cli-anything
- description
- Use when you want to make a command-line tool 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".
03 SKILL.md 正文
<!-- Source: cherry-picked from https://github.com/coco-research/coco (skills/cli-anything) on 27.08.2026 per grill decision G-11/11B. Adapted to house format. -->
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. New wrappers go in the vault (C:\Users\Prekzursil\.agents\skills\<tool-name>\SKILL.md), followed by sync_shared_state.ps1.
Step 1 — Introspect the CLI (do not guess)
Enumerate the real surface before writing anything:
- Run
<tool> --helpand<tool> <subcommand> --helpfor each subcommand. - Capture: subcommands, flags (required vs optional), positional args, exit codes, and the output format (human text vs structured).
- If
--helpis 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
--jsonmachine-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(house format: starts with "Use when ..." and includes 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
--jsonshape 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.
04 同仓库更多 Skills
clarify-requirements
Resolve genuine pre-execution ambiguity by scanning repo context, generating 1-6 grounded options, and asking 1-3 focused questions via AskUserQuestion. NOT for mid-task use (injection risk); NOT when the goal is already unambiguous; use to disambiguate vague prompts before any file edits.
openmm-md
Run FREE, open-source, Windows-native GPU molecular dynamics via the openmm-md MCP (OpenMM + CUDA on the local NVIDIA GPU). Use for protein / protein-ligand MD when you want a free stack or are on Windows without a Schrodinger license. Covers the full workflow (prepare, solvate, minimize, equilibrate, production, analyze, mmgbsa) AND an honest decision guide vs Schrodinger Desmond, including how to run Desmond legitimately on Linux or a cloud GPU with a real license. This is a deliberately LESSER free alternative and does NOT replace the schrodinger MCP tools. Do NOT use it to pick a free tool when a validated FEP+, WaterMap, IFD-MD, or Prime MM-GBSA result is actually required.
visual-review
Take screenshots of web pages and UI using Playwright for visual review and iteration
status
Diagnostic status report — shows metaswarm installation state, project setup, and potential issues
start
Use when starting work on any task, when the user mentions metaswarm, or when the user wants to begin tracked development work
setup
Interactive project setup — detects your project, configures metaswarm, writes project-local files