
CLI-Anything for Reasonix
FreeBuild and validate CLI harnesses for GUI applications.
Free · Opens the source repo
What CLI-Anything for Reasonix does
CLI-Anything for Reasonix is a specialized skill designed to facilitate the creation and validation of Command Line Interface (CLI) harnesses for GUI applications or source repositories. This skill adapts the CLI-Anything methodology specifically for Reasonix, ensuring that the generated Python harness maintains compatibility with the expected format. Users can leverage this skill to automate the process of building, refining, testing, and validating their CLI harnesses, streamlining their development workflows.
The skill operates by utilizing a series of built-in Reasonix tools that automate various tasks throughout the harness creation process. Users can start by providing a local source path or a GitHub repository URL, from which the skill will derive the necessary software name. The workflow is divided into several phases, including analysis, design, implementation, testing, and packaging, ensuring a comprehensive approach to harness development. Each phase employs different Reasonix tools, such as bash for executing shell commands, write_file for generating Python files, and read_file for inspecting existing code and test results.
CLI-Anything for Reasonix is particularly beneficial for developers and designers who need to create robust CLI interfaces for their applications without manually coding each component. By following the structured workflow laid out by the skill, users can efficiently produce a well-architected harness that adheres to best practices while minimizing the potential for errors. This skill is ideal for those who are already familiar with Reasonix and want to leverage its capabilities to enhance their CLI development processes.
However, users should ensure that their max_steps configuration in reasonix.toml is set appropriately to allow for sufficient tool-call rounds during the harness build. This skill is best suited for projects that require a new harness or an existing one to be refined, but it may not be the right choice for users looking for a simple command-line tool without the need for a structured harness.
When to use it
Use this skill when you need to create or refine a CLI harness for a GUI application or a source repository.
When not to use it
This skill may not be suitable for projects that do not require a structured CLI harness or for users unfamiliar with Reasonix.
What you can build with it
Creating a New CLI Harness
Use this skill to generate a new CLI harness for your GUI application, automating the setup process.
Refining an Existing Harness
Leverage this skill to analyze and enhance an existing CLI harness, adding features and improving functionality.
Testing CLI Functionality
Utilize this skill to run tests on your CLI harness, ensuring it meets quality standards before deployment.
How to install CLI-Anything for Reasonix
View source1. Install with the skills CLI
npx skills add hkuds/cli-anything/reasonix-skill --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by hkudsCLI-Anything for Reasonix
Use this skill when the user wants Reasonix to act like the CLI-Anything builder.
Before implementation, use the full methodology source of truth when available:
- If the current workspace is the
CLI-Anythingrepository, readcli-anything-plugin/HARNESS.md. - If Reasonix is running from this adapter directory, also check
../cli-anything-plugin/HARNESS.md. - If neither local file is available, clone or download
cli-anything-pluginfromhttps://github.com/HKUDS/CLI-Anything/tree/main/cli-anything-plugin, then useHARNESS.mdand the resources around it from that folder. - Only if local and network retrieval both fail, follow the condensed rules below.
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.
Reasonix Tool Bindings
Reasonix agents build harnesses by combining these built-in tools:
| Reasonix Tool | Role in Harness Workflow |
|---|---|
bash | Run shell commands, install packages, execute CLI tools, run tests, clone repos |
write_file | Generate Python files (Click CLI, backend modules, tests, setup.py) |
edit_file | Make targeted edits to generated code (single replacement) |
multi_edit | Apply multiple atomic edits to a single file in one pass |
read_file | Read target software source files, existing harness code, test results |
grep | Search for patterns across the target software codebase (APIs, CLI tools, data models) |
glob | Find files matching patterns in the source tree (*.py, *.xml, *.json, etc.) |
ls | List directory contents to understand project structure |
mcp__codegraph__search / mcp__codegraph__context | Optional code graph analysis when CodeGraph is enabled (Reasonix strips the codegraph_ raw prefix, so the model-visible names omit it) |
web_fetch | Fetch documentation, API references, or remote files from the web |
Recommended Workflow with Reasonix Tools
Phase 1 (Analysis) — Use ls + glob to survey the source tree, grep to find API surfaces and CLI entry points, and read_file to inspect key files. When CodeGraph is enabled and its tools are available, use mcp__codegraph__search and mcp__codegraph__context for deeper symbol and architecture analysis.
Phase 2-3 (Design & Implementation) — Use write_file to create new harness files, edit_file / multi_edit to refine generated code, and bash to run pip install -e . for installation.
Phase 4-6 (Testing) — Use bash to run pytest and capture results, read_file to inspect test output, and write_file to update TEST.md.
Phase 7 (Packaging) — Use write_file for setup.py, bash for pip install -e . and which cli-anything-<software> verification.
Step Budget
A full harness build typically requires 25–40 tool-call rounds (architecture inspection, 10+ file writes, installation, and multiple test runs). When invoked via run_skill, the subagent inherits a step budget derived from the parent agent's agent.max_steps setting in reasonix.toml:
- If
max_steps = 0(the default, meaning unlimited), the subagent also runs with no step cap — this is the recommended configuration for the CLI-Anything workflow. - If
max_stepsis set to a finite value, the subagent receives half that budget (minimum 5), which may truncate a complex build before completion.
Users who have configured a finite max_steps should ensure it is set to 0 or a sufficiently high value (e.g., 64 or more) before running a CLI-Anything build, so the subagent has enough rounds to complete all seven phases.
Modes
Build
Use when the user wants a new harness.
Produce this structure:
<repo-root>/
├── skills/
│ └── cli-anything-<software>/
│ └── SKILL.md
└── <software>/
└── agent-harness/
├── <SOFTWARE>.md
├── setup.py
└── cli_anything/
└── <software>/
├── README.md
├── __init__.py
├── __main__.py
├── <software>_cli.py
├── core/
├── utils/
├── tests/
└── skills/
└── SKILL.md
Implement a stateful Click CLI with:
- one-shot subcommands
- REPL mode as the default when no subcommand is given
--jsonmachine-readable output- session state with undo/redo where the target software supports it
Refine
Use when the harness already exists.
First inventory current commands and tests, then do gap analysis against the target software. Prefer:
- high-impact missing features
- easy wrappers around existing backend APIs or CLIs
- additions that compose well with existing commands
Do not remove existing commands unless the user explicitly asks for a breaking change.
Test
Plan tests before writing them. Keep both:
test_core.pyfor unit coveragetest_full_e2e.pyfor workflow and backend validation
When possible, test the installed command via subprocess using cli-anything-<software> rather than only module imports.
Validate
Check that the harness:
- uses the
cli_anything.<software>namespace package layout - has an installable
setup.pyentry point - supports JSON output
- has a REPL default path
- has matching canonical and package-local
SKILL.mdfiles - documents usage and tests
Backend Rules
Prefer 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.
Packaging Rules
- 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
cli_anything.<software>/skills/SKILL.mdin package data
Workflow
- Acquire the source tree locally (clone or use existing path).
- Analyze architecture, data model, existing CLIs, and GUI-to-API mappings.
- Design command groups and state model.
- Implement the harness.
- Write
TEST.md, then tests, then run them. - Update README usage docs and generate both
skills/cli-anything-<software>/SKILL.mdandcli_anything/<software>/skills/SKILL.md. - Verify local installation with
pip install -e .
Existing Harnesses (Reference)
For an up-to-date list of supported harnesses and their backend patterns, locate registry.json at the CLI-Anything repository root when it is available.
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
Frequently asked questions about CLI-Anything for Reasonix
Similar skills
Rhino 3D Scripting
Streamline your Rhinoceros 3D scripting tasks.
MVVM Toolkit
Streamline ViewModel development with source generators.
FreeCAD Scripts
Generate Python scripts for FreeCAD automation and modeling.
Azure Architecture Builder
Design and deploy Azure infrastructure using natural language.
Command Development
Streamline your command creation for Claude Code.
Create Cowork Plugin
Easily build and package plugins through guided sessions.
