cli-anything
hkuds/cli-anything
Build, refine, test, and validate CLI harnesses for GUI applications using the CLI-Anything methodology.
What is cli-anything?
CLI-Anything for Codex adapts the full CLI-Anything methodology to help you create Python-based command-line harnesses for GUI applications and source repositories. Use it when you need to build new harnesses, refine existing ones, run tests, validate quality, or discover installed tools.
- Build complete harnesses through source analysis, architecture design, implementation, and testing
- Refine existing harnesses by inventorying commands and incrementally adding high-impact capabilities
- Test harnesses against real backends and verify subprocess coverage
- Validate harnesses against comprehensive directory, implementation, test, documentation, and code-quality checklists
- Discover and list installed or generated CLI-Anything tools in human-readable or JSON format
How to install cli-anything
npx skills add https://github.com/hkuds/cli-anything --skill cli-anything- Access to the target GUI application or source repository (local path or GitHub URL)
- Python environment with Click framework support
- Understanding of the target software's capabilities and architecture
How to use cli-anything
- 1.Choose a mode: build (new harness), refine (extend existing), test (validate), validate (quality check), or list (discover tools)
- 2.For build mode: provide a local source path or GitHub repository URL; the skill will analyze the software and generate a complete harness
- 3.For refine mode: point to an existing harness; the skill will inventory current commands and suggest high-impact additions
- 4.For test mode: run the harness tests against the real backend and verify command coverage
- 5.For validate mode: run the comprehensive checklist against your harness directory and implementation
- 6.Consult the vendored methodology documents in references/ for detailed specifications and guidance
Use cases
- Create a CLI wrapper for a complex GUI application like GIMP to enable scriptable workflows
- Extend an existing harness with new commands that match recent software updates
- Validate a generated harness meets all quality standards before packaging and distribution
- Test a harness against real files and backends to ensure commands work correctly
- Inventory all installed CLI-Anything tools across your development environment
- Developers building CLI interfaces for GUI applications
- DevOps engineers automating workflows around desktop software
- Maintainers extending or validating existing CLI-Anything harnesses
- Teams standardizing CLI access to proprietary or complex tools
cli-anything FAQ
Build mode creates a complete new harness from scratch through source analysis and implementation. Refine mode works with an existing harness, inventories its current commands, and incrementally adds new capabilities without removing existing ones.
No. The skill vendors canonical resources from cli-anything-plugin/ so a normal Codex installation is self-contained. The skill will use local vendored documents first, then fall back to cloning the repository if needed.
Harnesses support both human-readable REPL mode and machine-readable --json output for integration with other tools and scripts.
Harnesses auto-save one-shot session mutations and support --dry-run mode. Session files use locked writes to prevent concurrent JSON corruption, and undo/redo is added where the target software supports it.
Run validate mode to check the harness against the complete quality checklist, then run test mode to verify all commands work against the real backend before packaging and distribution.
Full instructions (SKILL.md)
Source of truth, from hkuds/cli-anything.
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:
- Read
references/HARNESS.mdrelative to this skill directory. - Read the matching mode specification under
references/commands/. - Read referenced files under
references/guides/only when they apply to the target. - If the installed resources are unavailable and this skill is being used from a
CLI-Anythingrepository checkout, read../cli-anything-plugin/HARNESS.mdand the resources around it. - If neither local source is available, clone or download
https://github.com/HKUDS/CLI-Anythingand usecli-anything-plugin/HARNESS.md. - 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
./gimpor/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:
<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
--jsonmachine-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.mdfiles.
Testing
- Write
TEST.mdbefore test code. - Keep
test_core.pyfor unit coverage. - Keep
test_full_e2e.pyfor 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>throughconsole_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
Related skills
More from hkuds/cli-anything and the wider catalog.

cli-hub-meta-skill
Discover and install agent-native CLIs for creative, productivity, AI, and development workflows.

home-assistant-best-practices
Best practices for Home Assistant automations, helpers, scripts, and dashboards.

github-trending
Fetch and display GitHub trending repositories and developers with web scraping or Search API.

mobile-responsiveness
Build responsive, mobile-first web applications. Use when implementing responsive layouts, touch interactions, mobile navigation, or optimizing for various screen sizes. Triggers on responsive design, mobile-first, breakpoints, touch events, viewport.

mongodb
Work with MongoDB databases using best practices for schemas, queries, and aggregation pipelines.

owasp-security
Implement OWASP Top 10 secure coding practices to prevent common web vulnerabilities.