
Cli Anything
Generate or refine a CLI-Anything harness so Codex can drive a specific app or repo from the terminal reliably.
Install
npx skills add https://github.com/hkuds/cli-anything --skill cli-anythingWhat is this skill?
- Default prompt: build, refine, test, or validate a harness for target software or a source repo
- Install scripts copy the skill into CODEX_HOME/skills with overwrite protection
- Supports Windows PowerShell and bash installers for Codex pickup after restart
- Focused on CLI-Anything harness lifecycle rather than arbitrary shell scripts
Adoption & trust: 1.5k installs on skills.sh; 42.3k GitHub stars; 1/3 security scanners passed (skills.sh audits).
Recommended Skills
Lark Drivelarksuite/cli
Lark Sharedlarksuite/cli
Lark Minuteslarksuite/cli
Tzstxixu-me/skills
Runcomfy Cliagentspace-so/runcomfy-agent-skills
Caveman Helpjuliusbrussee/caveman
Journey fit
Common Questions / FAQ
Is Cli Anything safe to install?
skills.sh reports 1 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Cli Anything
interface: display_name: "CLI-Anything" short_description: "Build or refine CLI-Anything harnesses from Codex." default_prompt: "Use CLI-Anything to build, refine, test, or validate a harness for the user's target software or source repository." $ErrorActionPreference = "Stop" $scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path $skillDir = Split-Path -Parent $scriptDir $codexHome = if ($env:CODEX_HOME) { $env:CODEX_HOME } elseif ($env:USERPROFILE) { Join-Path $env:USERPROFILE ".codex" } else { throw "CODEX_HOME is not set and USERPROFILE is unavailable." } $destRoot = Join-Path $codexHome "skills" $destDir = Join-Path $destRoot "cli-anything" New-Item -ItemType Directory -Path $destRoot -Force | Out-Null if (Test-Path $destDir) { Write-Error "Refusing to overwrite existing skill: $destDir`nRemove it manually if you want to reinstall." } Copy-Item -Path $skillDir -Destination $destDir -Recurse Write-Host "Installed Codex skill to: $destDir" Write-Host "Restart Codex to pick up the new skill." #!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SKILL_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)" DEST_ROOT="${CODEX_HOME:-$HOME/.codex}/skills" DEST_DIR="${DEST_ROOT}/cli-anything" mkdir -p "${DEST_ROOT}" if [[ -e "${DEST_DIR}" ]]; then echo "Refusing to overwrite existing skill: ${DEST_DIR}" >&2 echo "Remove it manually if you want to reinstall." >&2 exit 1 fi cp -R "${SKILL_DIR}" "${DEST_DIR}" echo "Installed Codex skill to: ${DEST_DIR}" echo "Restart Codex to pick up the new skill." --- name: cli-anything description: Use when the user wants Codex to build, refine, test, or validate a CLI-Anything harness for a GUI application or source repository. Adapts the 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. 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. ## 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 Use when the user wants a new harness. Produce this structure: ```text <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: - 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 - documents usage and tests ## Backend Rules Prefer the real software backend over reimplementation. Wrap the actu