New to Claude Skills? Learn how to install them →

Chkuds on GitHub

CLI-Anything for Reasonix

Free

Build and validate CLI harnesses for GUI applications.

by hkuds46.9k stars on hkuds/cli-anything
4 views
Updated Aug 3, 2026
Get this skill

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 source

1. Install with the skills CLI

npx skills add hkuds/cli-anything/reasonix-skill --agent claude-code

2. 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 hkuds

CLI-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:

  1. If the current workspace is the CLI-Anything repository, read cli-anything-plugin/HARNESS.md.
  2. If Reasonix is running from this adapter directory, also check ../cli-anything-plugin/HARNESS.md.
  3. If neither local file is available, clone or download cli-anything-plugin from https://github.com/HKUDS/CLI-Anything/tree/main/cli-anything-plugin, then use HARNESS.md and the resources around it from that folder.
  4. Only if local and network retrieval both fail, follow the condensed rules below.

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.

Reasonix Tool Bindings

Reasonix agents build harnesses by combining these built-in tools:

Reasonix ToolRole in Harness Workflow
bashRun shell commands, install packages, execute CLI tools, run tests, clone repos
write_fileGenerate Python files (Click CLI, backend modules, tests, setup.py)
edit_fileMake targeted edits to generated code (single replacement)
multi_editApply multiple atomic edits to a single file in one pass
read_fileRead target software source files, existing harness code, test results
grepSearch for patterns across the target software codebase (APIs, CLI tools, data models)
globFind files matching patterns in the source tree (*.py, *.xml, *.json, etc.)
lsList directory contents to understand project structure
mcp__codegraph__search / mcp__codegraph__contextOptional code graph analysis when CodeGraph is enabled (Reasonix strips the codegraph_ raw prefix, so the model-visible names omit it)
web_fetchFetch 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_steps is 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
  • --json machine-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.py for unit coverage
  • test_full_e2e.py for 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.py entry point
  • supports JSON output
  • has a REPL default path
  • has matching canonical and package-local SKILL.md files
  • 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> through console_scripts
  • Include cli_anything.<software>/skills/SKILL.md in package data

Workflow

  1. Acquire the source tree locally (clone or use existing path).
  2. Analyze architecture, data model, existing CLIs, and GUI-to-API mappings.
  3. Design command groups and state model.
  4. Implement the harness.
  5. Write TEST.md, then tests, then run them.
  6. Update README usage docs and generate both skills/cli-anything-<software>/SKILL.md and cli_anything/<software>/skills/SKILL.md.
  7. 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