cli-anything — скилл для Claude Code: CLI-обёртки для GUI-приложений
Строит Python-харнесс с Click-командами для любого GUI-приложения или репозитория. Генерирует REPL, тесты и документацию по методологии CLI-Anything.
npx skills add HKUDS/CLI-Anything --skill cli-anything -a claude-code
npx skills add HKUDS/CLI-Anything --skill codex-skill -a claude-codeЧто делает cli-anything
Скилл читает полную методологию из references/HARNESS.md внутри своей папки, затем создаёт структурированный Python-пакет с namespace cli_anything/<software>/. Харнесс работает в пяти режимах: build собирает новый CLI с нуля из локального пути или GitHub-репозитория, refine добавляет команды в существующий харнесс, test проверяет команды на реальном бэкенде, validate запускает чек-лист по структуре и качеству, list показывает установленные харнессы.
Выходной пакет включает Click-субкоманды для разового вызова, REPL-режим с ReplSkin, поддержку --json, --dry-run, откат и повтор операций там, где это умеет исходное ПО. Тесты пишутся сначала в TEST.md, потом в test_core.py и test_full_e2e.py; последний проверяет рендер и экспорт файлов, а не только exit-коды. Харнесс вызывает настоящий бэкенд, а не реимплементирует логику.
Методология хранится в vendored-документах внутри скилла; если их нет, скилл клонирует HKUDS/CLI-Anything и читает оттуда. Без доступа к полной методологии работает по сокращённым правилам — это повод проверить, что references/ на месте.
Какие задачи решает
- обернуть GUI-приложение командной строкой
- сгенерировать REPL и one-shot команды для любого софта
- протестировать CLI-харнесс на реальном бэкенде
- добавить команды в существующий CLI-Anything харнесс
- упаковать харнесс в namespace-пакет с документацией
Примеры запросов агенту
- Построй CLI-харнесс для `./gimp` по методологии CLI-Anything
- Дополни существующий харнесс в `./software` новыми командами
- Запусти тесты харнесса против реального бэкенда и обнови `TEST.md`
Как установить cli-anything
1Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill cli-anything -a claude-codenpx skills add HKUDS/CLI-Anything --skill codex-skill -a claude-code2Вручную: положить файлы
~/.claude/skills/codex-skill/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/codex-skill/
1Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill codex-skill -a codex2Вручную: положить файлы
.agents/skills/codex-skill/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill codex-skill -a cursor2Вручную: положить файлы
.cursor/skills/codex-skill/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install HKUDS/CLI-Anything codex-skill2Вручную: положить файлы
.github/skills/codex-skill/SKILL.md1Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill codex-skill -a gemini-cli2Командой платформы
gemini skills install https://github.com/HKUDS/CLI-Anything --path codex-skillВручную: положить файлы
.devin/skills/codex-skill/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add HKUDS/CLI-Anything --skill codex-skill -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора18
Весь набор →Похожие
Вопросы о cli-anything
Как установить cli-anything в Codex?
Выполни npx skills add HKUDS/CLI-Anything --skill codex-skill -a codex, файл скилла появится в .agents/skills/codex-skill/SKILL.md.
Что делает cli-anything?
Строит Python-харнесс с Click-командами для GUI-приложения или репозитория: генерирует структуру пакета, REPL, тесты, документацию и упаковывает всё в namespace cli_anything/.
Нужен ли доступ к реальному софту?
Да. Харнесс вызывает настоящий бэкенд целевого приложения, а не реимплементирует его логику; тесты проверяют результат работы реального процесса.
Исходный текст
SKILL.md · Apache-2.0
---
name: cli-anything
description: Use when the user wants Codex to build, refine, test, validate, or list CLI-Anything harnesses for GUI applications or source repositories. Adapts the full CLI-Anything methodology to Codex without changing the generated Python harness format.
---
# CLI-Anything for Codex
Use this skill when the user wants Codex to act like the `CLI-Anything` builder.
## Read the Full Methodology First
Before implementation, use the full methodology source of truth:
1. Read `references/HARNESS.md` relative to this skill directory.
2. Read the matching mode specification under `references/commands/`.
3. Read referenced files under `references/guides/` only when they apply to the target.
4. If the installed resources are unavailable and this skill is being used from a
`CLI-Anything` repository checkout, read `../cli-anything-plugin/HARNESS.md` and
the resources around it.
5. If neither local source is available, clone or download
`https://github.com/HKUDS/CLI-Anything` and use `cli-anything-plugin/HARNESS.md`.
6. Only if all full-methodology sources are unavailable, follow the condensed rules below.
The installer vendors the canonical resources from `cli-anything-plugin/` into this
skill so a normal Codex installation is self-contained.
## Resource Map
| Path | Purpose |
|------|---------|
| `references/HARNESS.md` | Complete methodology and quality rules |
| `references/commands/cli-anything.md` | Build-mode specification |
| `references/commands/refine.md` | Refine-mode specification |
| `references/commands/test.md` | Test-mode specification |
| `references/commands/validate.md` | Validation checklist |
| `references/commands/list.md` | Installed/generated harness discovery |
| `references/guides/` | On-demand implementation guidance |
| `scripts/repl_skin.py` | Copy into generated harnesses as `utils/repl_skin.py` |
| `scripts/preview_bundle.py` | Copy into preview-capable harnesses as `utils/preview_bundle.py` |
| `scripts/skill_generator.py` | Generate canonical and packaged CLI skills |
| `scripts/templates/SKILL.md.template` | Skill generation template used by `skill_generator.py` |
| `references/docs/PREVIEW_PROTOCOL.md` | Shared preview bundle protocol |
When reading vendored documents, apply these path remappings instead of resolving
plugin paths against the current working directory:
| Document reference | Installed skill path |
|--------------------|----------------------|
| `guides/...` | `references/guides/...` |
| `cli-anything-plugin/repl_skin.py` | `scripts/repl_skin.py` |
| `cli-anything-plugin/preview_bundle.py` | `scripts/preview_bundle.py` |
| `cli-anything-plugin/skill_generator.py` | `scripts/skill_generator.py` |
| `templates/SKILL.md.template` | `scripts/templates/SKILL.md.template` |
| `docs/PREVIEW_PROTOCOL.md` | `references/docs/PREVIEW_PROTOCOL.md` |
## Inputs
Accept either:
- A local source path such as `./gimp` or `/path/to/software`
- A GitHub repository URL
Derive the software name from the local directory name after cloning if needed.
## Modes
### Build
Read `references/commands/cli-anything.md`. Build a complete harness through source
analysis, architecture design, implementation, test planning, test implementation,
test documentation, CLI-specific `SKILL.md` generation, and local installation.
### Refine
Read `references/commands/refine.md`. Inventory current commands and tests, compare
them against the target software, then incrementally add high-impact capabilities
without removing existing commands unless the user requests a breaking change.
### Test
Read `references/commands/test.md`. Run the harness tests against the real backend,
verify installed-command subprocess coverage, and update `TEST.md` only with passing
results.
### Validate
Read `references/commands/validate.md`. Validate the harness against the complete
directory, implementation, test, documentation, packaging, and code-quality checklist.
### List
Read `references/commands/list.md`. Discover installed and generated CLI-Anything tools
and support human-readable or JSON output as requested.
## Condensed Fallback Rules
Use these only when the full methodology cannot be retrieved.
### Harness Structure
Produce:
```text
<software>/
└── agent-harness/
├── <SOFTWARE>.md
├── setup.py
└── cli_anything/
└── <software>/
├── README.md
├── __init__.py
├── __main__.py
├── <software>_cli.py
├── core/
├── utils/
└── tests/
```
### Required Behavior
- Prefer the real software backend over reimplementation.
- Provide one-shot Click subcommands and default REPL mode.
- Support `--json` machine-readable output.
- Add session state with undo/redo where the target supports it.
- Auto-save one-shot session mutations and support `--dry-run`.
- Use locked session-file writes to avoid concurrent JSON corruption.
- Copy and use the unified `ReplSkin`.
- Add truthful preview commands for software with meaningful visual or inspection state.
- Generate both canonical and packaged CLI-specific `SKILL.md` files.
### Testing
- Write `TEST.md` before test code.
- Keep `test_core.py` for unit coverage.
- Keep `test_full_e2e.py` for real-file workflows and real backend validation.
- Verify rendered/exported output programmatically, not only process exit codes.
- Test the installed `cli-anything-<software>` command via `_resolve_cli()`.
- Run release validation with `CLI_ANYTHING_FORCE_INSTALLED=1`.
### Packaging
- Use `find_namespace_packages(include=["cli_anything.*"])`.
- Keep `cli_anything/` as a namespace package without a top-level `__init__.py`.
- Expose `cli-anything-<software>` through `console_scripts`.
- Include the packaged CLI-specific `skills/SKILL.md`.
## Output Expectations
When reporting progress or final results, include:
- target software and source path
- files added or changed
- validation commands run
- open risks or backend limitations
© HKUDS · Apache-2.0 · HKUDS/CLI-Anything