
Cli Anything
- 26 installs
- 40 repo stars
- Updated August 4, 2026
- akillness/oh-my-skills
cli-anything is a Claude Code skill that makes any software agent-native by wrapping real apps in structured Click CLIs and routing between install, discover, generate, and iterate modes.
About
cli-anything is a routing wrapper for the HKUDS CLI-Anything ecosystem that lets AI agents drive real desktop and server software through structured Click CLIs rather than brittle GUI automation. A developer uses it to install ready-made harnesses via CLI-Hub, give agents an autonomous discovery meta-skill, or generate a new harness from a codebase through a 7-phase pipeline. It targets apps like GIMP, Blender, LibreOffice, and Godot.
- Makes any software agent-native by wrapping real apps in structured CLIs instead of GUI automation
- Routes between four modes: use CLI-Hub, give agents a discovery meta-skill, generate a harness, or iterate one
- 40+ production harnesses (GIMP, Blender, LibreOffice, OBS, Godot, QGIS) with Click CLIs and JSON output
Cli Anything by the numbers
- 26 all-time installs (skills.sh)
- Ranked #354 of 550 CLI & Terminal skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
cli-anything capabilities & compatibility
Free and local; harness generation needs a strong (Opus/Sonnet-class) coding model for good quality.
- Capabilities
- cli generation · agent native tooling · software automation
- Use cases
- orchestration · image generation · video generation
- Runs
- Runs locally
- Pricing
- Free
What cli-anything says it does
40+ production harnesses (GIMP, Blender, LibreOffice, OBS, ComfyUI, Ollama, Godot, QGIS, …), 2,461 passing tests, Click CLIs with REPL + `--json` output.
Prefer the registry first — building is the fallback, not the default.
npx skills add https://github.com/akillness/oh-my-skills --skill cli-anythingAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 26 |
|---|---|
| repo stars | ★ 40 |
| Last updated | August 4, 2026 |
| Repository | akillness/oh-my-skills ↗ |
What it does
Let AI agents control real desktop and server software through structured Click CLIs by installing, discovering, or generating agent-native harnesses.
Who is it for?
Letting an agent control real software (image/video/3D/office/GIS/game engines) through a CLI instead of screenshots.
Skip if: Designing a domain-specific agent team, browsing Claude plugins generally, or plain web scraping.
When should I use this skill?
You want an agent to drive real desktop or server software through a CLI rather than RPA or GUI automation.
What you get
Agents control real software through structured, validated Click CLIs with REPL and JSON output.
- installed CLI harnesses
- generated Click CLI harness with REPL and JSON output
By the numbers
- 40+ production harnesses
- 2,461 passing tests
- 7-phase generation pipeline
Files
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/ usecli-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 # browse the registry
cli-hub search image # search by keyword
cli-hub info gimp # inspect one CLI
cli-hub install gimp # install from CLI-Hub
cli-hub launch gimp # run an installed CLI
cli-hub update gimp # update
cli-hub uninstall gimp # removeCLI-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 -yThen 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 # local source
/cli-anything https://github.com/blender/blender # GitHub repoThe 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 # broad gap analysis
/cli-anything:refine ./gimp "batch processing and filters" # focused
/cli-anything:test ./gimp # run tests, update TEST.md
/cli-anything:validate ./gimp # check against HARNESS.mdRefinement 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 # discoverable via --help/which
cli-anything-gimp --json layer add -n "BG" # structured output for agents
cli-anything-gimp # bare command → stateful REPLEvery 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:
# Project install (writes into .agents/skills/cli-anything/)
npx skills add https://github.com/akillness/jeo-skills --skill cli-anything
# Global install for every detected agent
npx skills add -g https://github.com/akillness/jeo-skills --skill cli-anything
# Target specific agents
npx skills add -g https://github.com/akillness/jeo-skills --skill cli-anything -a claude-code -a codex -yThe 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 browsingBest practices
1. Search the registry before generating — 40+ harnesses already exist; cli-hub search costs seconds, a 7-phase build costs a session. 2. Install the real backend — harnesses call actual software with zero compromise dependencies; tests fail (not skip) when backends are missing. 3. Use `--json` for agent consumption — every command supports it; human-readable tables are for debugging only. 4. Verify outputs, not exit codes — the methodology checks magic bytes, ZIP/OOXML structure, pixel/audio analysis; do the same with artifacts. 5. Run `/cli-anything:refine` iteratively — a single generation pass rarely covers all capabilities; each refine run is incremental. 6. Windows needs `bash` — install Git for Windows (bash + cygpath) or use WSL before running plugin commands.
References
- Upstream repo: <https://github.com/HKUDS/CLI-Anything>
- CLI-Hub (web): <https://hkuds.github.io/CLI-Anything/>
- Methodology SOP: `cli-anything-plugin/HARNESS.md`
- Quickstart: `cli-anything-plugin/QUICKSTART.md`
- Publishing guide: `cli-anything-plugin/PUBLISHING.md`
- Technical report: <https://arxiv.org/abs/2606.03854>
- Installer script: `scripts/install.sh`
- Command + platform reference: `references/commands.md`
- Adjacent skills:
../harness/SKILL.md,../ccpi-marketplace/SKILL.md,
../browser-harness/SKILL.md, ../scrapling/SKILL.md
- License: Apache-2.0 (see upstream
LICENSE)
{
"skill_name": "cli-anything",
"evals": [
{
"id": 1,
"prompt": "My agent needs to edit images with GIMP without clicking through the UI. What should I do?",
"expected_output": "A use-the-ecosystem routing: search CLI-Hub for an existing GIMP harness and install it, rather than generating a new harness or falling back to GUI automation.",
"assertions": [
"Output recommends `cli-hub search` / `cli-hub install gimp` (registry first) before any 7-phase generation.",
"Output mentions installing the upstream GIMP application alongside the harness.",
"Output does not propose screenshot/RPA-style GUI automation."
]
},
{
"id": 2,
"prompt": "Use cli-anything to make our internal Qt desktop tool agent-controllable. It is not in any registry.",
"expected_output": "A generate-harness routing: install the platform plugin and run the 7-phase pipeline against the tool's source, with refine/test/validate iteration afterward.",
"assertions": [
"Output checks or mentions the registry/CLI-Hub miss before generating.",
"Output sequences `/plugin install cli-anything` (or platform equivalent) then `/cli-anything <path>` with the 7-phase pipeline.",
"Output mentions `/cli-anything:refine`, `:test`, or `:validate` as the iteration step and notes source-code access as a prerequisite."
]
},
{
"id": 3,
"prompt": "I want to design a team of specialized agents with their own skills for my data pipeline project.",
"expected_output": "A route-out to the `harness` skill (agent-team architecture), since this is not a software CLI wrapper request.",
"assertions": [
"Output routes to `harness` instead of running cli-anything modes.",
"Output explains the boundary: cli-anything wraps software in CLIs; agent-team design belongs elsewhere.",
"Output does not install cli-anything-hub or start the 7-phase pipeline."
]
}
]
}
cli-anything command and platform reference
Upstream: <https://github.com/HKUDS/CLI-Anything> · Hub: <https://hkuds.github.io/CLI-Anything/>
CLI-Hub package manager (cli-hub)
| Command | Purpose |
|---|---|
pip install cli-anything-hub | Install the package manager |
cli-hub list | Browse the registry |
cli-hub search <keyword> | Search by keyword |
cli-hub info <name> | Inspect one CLI |
cli-hub install <name> | Install from CLI-Hub |
cli-hub update <name> | Update an install |
cli-hub uninstall <name> | Remove an install |
cli-hub launch <name> [args...] | Run an installed CLI |
v0.2.0+ supports public CLIs from multiple install sources (pip, npm, brew, bundled/system tools) via public_registry.json.
Agent meta-skill (autonomous discovery)
npx skills add HKUDS/CLI-Anything --skill cli-hub-meta-skill -g -y
# Per-harness skills are also listable:
npx skills add HKUDS/CLI-Anything --listAlso published on ClawHub, SkillHub, and SkillHub.cn.
Generator commands (run inside the agent platform)
| Command | Purpose |
|---|---|
/cli-anything <path-or-repo> | Build a complete CLI harness — all 7 phases |
/cli-anything:refine <path> [focus] | Gap analysis + incremental coverage expansion |
/cli-anything:test <path> | Run tests and update TEST.md |
/cli-anything:validate <path> | Validate against HARNESS.md standards |
/cli-anything:list [options] | List generated tools (Pi extension) |
7-phase pipeline: Analyze → Design → Implement (Click + REPL + JSON + undo/redo) → Plan Tests → Write Tests → Document (+ 6.5 SKILL.md generation via skill_generator.py) → Publish (setup.py, PATH).
Platform install matrix
| Platform | Install |
|---|---|
| Claude Code | /plugin marketplace add HKUDS/CLI-Anything → /plugin install cli-anything |
| Codex | git clone https://github.com/HKUDS/CLI-Anything.git && bash CLI-Anything/codex-skill/scripts/install.sh (→ ~/.codex/skills/cli-anything; PowerShell: install.ps1) |
| OpenCode | cp CLI-Anything/opencode-commands/*.md ~/.config/opencode/commands/ + cp CLI-Anything/cli-anything-plugin/HARNESS.md ~/.config/opencode/commands/ (older builds use command/) |
| OpenClaw | cp CLI-Anything/openclaw-skill/SKILL.md ~/.openclaw/skills/cli-anything/SKILL.md → @cli-anything build a CLI for ./gimp |
| Pi | bash CLI-Anything/.pi-extension/cli-anything/install.sh (→ ~/.pi/agent/extensions/; --uninstall to remove) |
| Hermes | bash CLI-Anything/hermes-skill/scripts/install.sh (→ $HERMES_HOME/skills/cli-anything-hermes) |
| Qodercli | bash CLI-Anything/qoder-plugin/setup-qodercli.sh (registers in ~/.qoder.json) |
| GitHub Copilot CLI | copilot plugin install ./cli-anything-plugin |
| Goose | Configure a CLI provider (e.g. Claude Code), then use the provider's commands |
Claude Code troubleshooting (Unknown skill: cli-anything): /reload-plugins → /help cli-anything → reinstall from marketplace → legacy form /cli-anything:cli-anything only on older builds. Windows: requires Git for Windows (bash + cygpath) or WSL.
Generated harness usage
cd <software>/agent-harness && pip install -e . # installs cli-anything-<name> on PATH
cli-anything-<name> --help # self-describing
cli-anything-<name> --json <cmd> # structured output for agents
cli-anything-<name> # bare command enters stateful REPL
# Tests (force-installed mode recommended for validation)
CLI_ANYTHING_FORCE_INSTALLED=1 python3 -m pytest cli_anything/<name>/tests/ -v -sHarness catalog (selected, 40+ total — 2,461 tests, 100% pass)
Creative/media: GIMP (107) · Blender (208) · Inkscape (202) · Audacity (161) · Krita · Kdenlive (155) · Shotcut (154) · Openscreen (101) · OBS Studio (153) · MuseScore (56) · VideoCaptioner (26) · Sketch (19) Office/knowledge: LibreOffice (158) · Zotero · Calibre (58) · Joplin (134) · Mubu (96) · Obsidian · NotebookLM (21) Diagrams/GIS/CAD: Draw.io (138) · Mermaid (10) · QGIS (22) · FreeCAD · 3MF (50) · CloudCompare (88) · CloudAnalyzer (14) AI/dev/infra: ComfyUI (70) · Ollama (98) · Exa (40) · n8n · Dify Workflow (11) · Mailchimp (303 cmds) · AdGuard Home (36) · WireMock · ETH2 QuickStart (18) · LLDB (27) · RenderDoc (59) · Nsight Graphics (51) · Unreal Insights (50) Games: Godot (24) · s&box (244) · Slay the Spire II Comms: Zoom (22) · Browser (DOMShell MCP)
Design principles (from HARNESS.md)
1. Authentic integration — generate valid project files (ODF, MLT XML, SVG), delegate rendering to the real application; interfaces TO software, not replacements. 2. Dual interaction — stateful REPL for agent sessions + subcommands for pipelines; bare command enters REPL. 3. Agent-native output — --json on every command; discovery via --help and which. 4. Zero-compromise backends — real software is a hard requirement; tests fail (not skip) when backends are missing. 5. Verify artifacts — magic bytes, ZIP/OOXML structure, pixel/audio analysis, duration checks — never trust exit code 0.
Limitations
- Harness generation needs frontier-class models; weaker models produce
incomplete CLIs.
- Works from source code; binary-only targets degrade substantially.
- One generation pass rarely covers everything — plan for
/cli-anything:refine.
#!/usr/bin/env bash
# cli-anything installer wrapper.
# Installs the CLI-Hub package manager (`cli-hub`) and optionally the
# agent-facing CLI-Hub meta-skill.
#
# Env knobs:
# CLI_ANYTHING_META_SKILL — "1" also installs the cli-hub-meta-skill for
# SKILL-compatible agents via `npx skills`
# CLI_ANYTHING_HUB_SPEC — pip requirement spec (default: cli-anything-hub)
# e.g. "cli-anything-hub==0.2.0" to pin
#
# Usage:
# bash scripts/install.sh
# CLI_ANYTHING_META_SKILL=1 bash scripts/install.sh
# CLI_ANYTHING_HUB_SPEC="cli-anything-hub==0.2.0" bash scripts/install.sh
set -euo pipefail
CLI_ANYTHING_HUB_SPEC="${CLI_ANYTHING_HUB_SPEC:-cli-anything-hub}"
echo "=== cli-anything installer ==="
echo "spec: ${CLI_ANYTHING_HUB_SPEC}"
echo "[1/2] Installing the CLI-Hub package manager"
if [ -n "${VIRTUAL_ENV:-}" ]; then
# Active venv: install into it
if command -v uv >/dev/null 2>&1; then
uv pip install --upgrade "${CLI_ANYTHING_HUB_SPEC}"
else
pip install --upgrade "${CLI_ANYTHING_HUB_SPEC}"
fi
elif command -v uv >/dev/null 2>&1; then
# No venv: isolated tool env keeps system/Homebrew Python untouched (PEP 668)
uv tool install --upgrade "${CLI_ANYTHING_HUB_SPEC}"
elif command -v pip3 >/dev/null 2>&1; then
pip3 install --upgrade "${CLI_ANYTHING_HUB_SPEC}" 2>/dev/null \
|| pip3 install --user --break-system-packages --upgrade "${CLI_ANYTHING_HUB_SPEC}"
else
echo "ERROR: neither uv nor pip is installed." >&2
echo " Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh" >&2
echo " Or pip: python3 -m ensurepip --upgrade" >&2
exit 1
fi
if command -v cli-hub >/dev/null 2>&1; then
echo "[2/2] cli-hub available: $(cli-hub --version 2>/dev/null || echo 'installed')"
else
echo "[2/2] package installed (cli-hub not on PATH yet — check your tool bin dir, e.g. ~/.local/bin)."
fi
if [ "${CLI_ANYTHING_META_SKILL:-0}" = "1" ]; then
echo ""
echo "=== Installing the CLI-Hub meta-skill for agents ==="
if command -v npx >/dev/null 2>&1; then
npx skills add HKUDS/CLI-Anything --skill cli-hub-meta-skill -g -y
else
echo "WARNING: npx not found — skipping meta-skill install." >&2
echo " Install Node.js, then run:" >&2
echo " npx skills add HKUDS/CLI-Anything --skill cli-hub-meta-skill -g -y" >&2
fi
fi
echo ""
echo "Done. Next:"
echo " cli-hub list # browse the registry"
echo " cli-hub search <keyword> # find a CLI for your software"
echo " cli-hub install <name> # install it (install the upstream app too)"
echo " To GENERATE a new harness, install the platform plugin instead:"
echo " Claude Code: /plugin marketplace add HKUDS/CLI-Anything && /plugin install cli-anything"
N:cli-anything
D: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`.
T:Bash|Read|Write|Edit|Glob|Grep|WebFetch
G:cli-anything|cli-hub|cli-anything-hub|agent-native cli|make software agent-native|cli harness generation|/cli-anything|harness refine|HKUDS cli
F:Claude|Codex|OpenCode|OpenClaw|Pi|Hermes|Copilot
S:
1:Choose the mode — use-ecosystem, empower-agents, generate-harness, or iterate-harness (registry first; building is the exception)
2:Use the ecosystem — `pip install cli-anything-hub` then `cli-hub search/install/launch`; install the upstream app too
3:Empower agents — `npx skills add HKUDS/CLI-Anything --skill cli-hub-meta-skill -g -y`
4:Generate — platform plugin (`/plugin install cli-anything`) then `/cli-anything <path-or-repo>` (7-phase pipeline)
5:Iterate — `/cli-anything:refine [focus]`, `:test`, `:validate` against HARNESS.md
6:Use the harness — `pip install -e .`, `--json` for agents, bare command for REPL
R:
harness:Use for agent-team architecture (not software wrappers)
browser-harness:Use for no-codebase GUI/browser targets
ccpi-marketplace:Use for general Claude plugin browsing
scrapling:Use for web scraping/extraction only
Related skills
FAQ
How do I install a ready-made harness?
Run pip install cli-anything-hub, then cli-hub search and cli-hub install the target CLI.
What if no harness exists?
Generate one from a local codebase or GitHub repo via the /cli-anything 7-phase pipeline.