Use when the user wants OpenClaw to build, refine, test, or validate a CLI-Anything harness for a GUI application or source repository. Adapts the CLI-Anything
复制下面这句话,粘贴给 Claude Code、Codex、Cursor 等 AI 编程工具,它会读取安装说明并在你确认后完成安装。
请阅读 https://ai.atlankj.com/install/asset/gh-macrocli-efd369165aa1 ,按照其中的说明把「cli-anything」安装到你(当前 AI 工具)中。执行前先告诉我将运行的命令和写入的位置,等我确认。
查看 AI 将读取的安装说明正在读取 GitHub 原文…
内容来自 GitHub 原始文件,由原作者维护。在 GitHub 查看
Use this skill when the user wants OpenClaw to act like the CLI-Anything builder.
If this skill is being used from inside the CLI-Anything repository, read ../cli-anything-plugin/HARNESS.md before implementation. That file is the full methodology source of truth. If it is not available, follow the condensed rules below.
Accept either:
./gimp or /path/to/softwareDerive the software name from the local directory name after cloning if needed.
Use when the user wants a new harness.
Produce this structure:
<software>/
└── agent-harness/
├── <SOFTWARE>.md
├── setup.py
└── cli_anything/
└── <software>/
├── README.md
├── __init__.py
├── __main__.py
├── <software>_cli.py
├── core/
├── utils/
└── tests/
Implement a stateful Click CLI with:
--json machine-readable outputUse when the harness already exists.
First inventory current commands and tests, then do gap analysis against the target software. Prefer:
Do not remove existing commands unless the user explicitly asks for a breaking change.
Plan tests before writing them. Keep both:
test_core.py for unit coveragetest_full_e2e.py for workflow and backend validationWhen possible, test the installed command via subprocess using cli-anything-<software> rather than only module imports.
Check that the harness:
cli_anything.<software> namespace package layoutsetup.py entry pointPrefer the real software backend over reimplementation. Wrap the actual executable or scripting interface in utils/<software>_backend.py when possible. Use synthetic reimplementation only when the project explicitly requires it or no viable native backend exists.
find_namespace_packages(include=["cli_anything.*"])cli_anything/ as a namespace package without a top-level __init__.pycli-anything-<software> through console_scriptsTEST.md, then tests, then run them.pip install -e .When reporting progress or final results, include: