| name | cli-anything |
| description | Make any software agent-native with HKUDS CLI-Anything — four routed modes: install ready-made harnesses via CLI-Hub (cli-hub list/search/info/install/launch), give agents the cli-hub-meta-skill for autonomous discovery, generate a new harness from any codebase/repo via the 7-phase /cli-anything pipeline, or iterate with :refine/:test/:validate; 40+ harnesses, 2,461 tests, Click CLIs with REPL + --json. |
| allowed-tools | Bash Read Write Edit Glob Grep WebFetch |
| metadata | {"tags":"cli-anything, cli-hub, agent-native, computer-use, cli-generation, harness, click, repl, json-output, hkuds, plugin","platforms":"Claude, Codex, OpenCode, OpenClaw, Pi, Hermes, Copilot, All","keyword":"cli-anything","version":"1.0.0","upstream":"https://github.com/HKUDS/CLI-Anything","installer":"pip install cli-anything-hub","source":"akillness/jeo-skills"} |
cli-anything — Make Any Software Agent-Native
CLI-Anything (HKUDS) bridges AI
agents and the world's software: instead of brittle GUI automation, it wraps
real applications (Blender, GIMP, LibreOffice, OBS, Godot, QGIS, …) in
structured, agent-first CLIs — Click commands, stateful REPL, --json
output, undo/redo — generated and validated through a 7-phase pipeline with
2,461 passing tests across 40+ harnesses. This skill is the routing-first
wrapper: pick the right mode, install the right surface, and drive the
build → refine → validate loop.
When to use this skill
- The user wants an agent to control real software (image/video/audio
editing, office, 3D, GIS, game engines, diagramming, streaming) through a
CLI instead of screenshots or RPA
- The user asks to install
cli-anything-hub / use cli-hub
(list, search, info, install, update, uninstall, launch)
- The user wants agents to autonomously discover and install CLIs via
the CLI-Hub meta-skill
- The user wants to generate a new CLI harness from a local codebase or
GitHub repo with
/cli-anything, or asked how to install the
CLI-Anything plugin/skill for Claude Code, Codex, OpenCode, OpenClaw, Pi,
Hermes, Qodercli, or GitHub Copilot CLI
- The user wants to expand or verify an existing harness with
/cli-anything:refine, /cli-anything:test, or /cli-anything:validate
When not to use this skill
- The user wants to design a domain-specific agent team (agents +
skills scaffolding), not a software CLI wrapper → use
harness
- The user is browsing/installing Claude plugins generally → use
ccpi-marketplace
- The target has no codebase and no API and must be driven through a
real browser/GUI session → use
browser-harness (or playwriter for an
already-open browser)
- The user only needs web scraping/extraction → use
scrapling
Prerequisites
| Requirement | Notes |
|---|
| Python 3.10+ | CLI-Hub and generated harnesses are Python/Click based |
| Target software | Harnesses call the real backend — install the upstream app (GIMP, Blender, …) too |
| A frontier coding agent | Harness generation needs strong models (Claude Opus/Sonnet class); weaker models degrade quality |
| Source code access | The 7-phase generator works from source; binary-only targets degrade substantially |
Instructions
Step 1 — Choose the mode
| Mode | When | Entry point |
|---|
| Use the ecosystem | A ready-made harness likely exists | pip install cli-anything-hub → cli-hub search <kw> |
| Empower agents | Agents should pick/install CLIs themselves | npx skills add HKUDS/CLI-Anything --skill cli-hub-meta-skill -g -y |
| Generate a harness | Registry doesn't cover the software | Platform plugin/skill → /cli-anything <path-or-repo> |
| Iterate a harness | Coverage gaps, failing flows | /cli-anything:refine · :test · :validate |
Prefer the registry first — building is the fallback, not the default.
Step 2 — Use the ecosystem via CLI-Hub
pip install cli-anything-hub
cli-hub list
cli-hub search image
cli-hub info gimp
cli-hub install gimp
cli-hub launch gimp
cli-hub update gimp
cli-hub uninstall gimp
CLI-Hub v0.2.0+ also serves public CLIs from multiple install sources
(pip, npm, brew, bundled/system tools) via public_registry.json.
If a harness wraps desktop software (GIMP, Blender, LibreOffice, …),
install that upstream application too.
Step 3 — Give agents the meta-skill
npx skills add HKUDS/CLI-Anything --skill cli-hub-meta-skill -g -y
Then prompt the agent:
Find appropriate CLI software in CLI-Hub and complete the task: ...
Works with Claude Code, Codex, OpenClaw, Nanobot, Antigravity, and other
SKILL-compatible agents. The monorepo's per-harness skills are also
discoverable: npx skills add HKUDS/CLI-Anything --list.
Step 4 — Generate a new harness (7-phase pipeline)
Claude Code (primary platform):
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything
/cli-anything ./gimp
/cli-anything https://github.com/blender/blender
The pipeline runs: 1 Analyze → 2 Design → 3 Implement (Click CLI + REPL +
JSON + undo/redo) → 4 Plan tests → 5 Write tests → 6 Document (+ Phase 6.5
SKILL.md generation) → 7 Publish (setup.py, PATH install).
Other platforms (Codex, OpenCode, OpenClaw, Pi, Hermes, Qodercli, Copilot
CLI, Goose) follow the same methodology — install commands are in
references/commands.md.
If /cli-anything is unrecognized: /reload-plugins, verify with
/help cli-anything, reinstall from the marketplace, and only on older
builds try the legacy /cli-anything:cli-anything form.
Step 5 — Refine, test, validate
/cli-anything:refine ./gimp
/cli-anything:refine ./gimp "batch processing and filters"
/cli-anything:test ./gimp
/cli-anything:validate ./gimp
Refinement is incremental and non-destructive — run it repeatedly to push
coverage toward production quality. HARNESS.md is the methodology SOP
(source of truth) the validator checks against.
Step 6 — Use a generated CLI
cd <software>/agent-harness && pip install -e .
cli-anything-gimp --help
cli-anything-gimp --json layer add -n "BG"
cli-anything-gimp
Every harness ships dual modes (REPL + subcommands), --json on every
command, and a generated SKILL.md at skills/cli-anything-<name>/SKILL.md.
Step 7 — Plugin-style installation alongside jeo-skills
This skill folder is plugin-installable through the standard jeo-skills
flow so the wrapper, references, and installer script land on disk for any
supported agent runtime:
npx skills add https://github.com/akillness/jeo-skills --skill cli-anything
npx skills add -g https://github.com/akillness/jeo-skills --skill cli-anything
npx skills add -g https://github.com/akillness/jeo-skills --skill cli-anything -a claude-code -a codex -y
The skill also ships scripts/install.sh — a
one-shot CLI-Hub installer (venv-aware uv/pip selection, PEP 668-safe) with
an optional meta-skill install via CLI_ANYTHING_META_SKILL=1.
Output format
When the user asks cli-anything for help, return a compact brief:
# cli-anything Routing Brief
## Scope
- Mode: use-ecosystem | empower-agents | generate-harness | iterate-harness
- Target software: <name or repo> | undecided
- Agent platform: claude | codex | opencode | openclaw | pi | hermes | copilot | other
## Recommended next move
- install-cli-hub | cli-hub-search | install-meta-skill | install-platform-plugin | run-/cli-anything | refine | test | validate
## Why
- 2-3 bullets grounded in the user's packet
## Route-outs
- `harness` for agent-team architecture (not software wrappers)
- `browser-harness` for no-codebase GUI/browser targets
- `ccpi-marketplace` for general Claude plugin browsing
Best practices
- Search the registry before generating — 40+ harnesses already
exist;
cli-hub search costs seconds, a 7-phase build costs a session.
- Install the real backend — harnesses call actual software with zero
compromise dependencies; tests fail (not skip) when backends are missing.
- Use
--json for agent consumption — every command supports it;
human-readable tables are for debugging only.
- Verify outputs, not exit codes — the methodology checks magic bytes,
ZIP/OOXML structure, pixel/audio analysis; do the same with artifacts.
- Run
/cli-anything:refine iteratively — a single generation pass
rarely covers all capabilities; each refine run is incremental.
- Windows needs
bash — install Git for Windows (bash + cygpath)
or use WSL before running plugin commands.
References