From cli-ux-tester
Expert UX evaluator for CLIs, terminal tools, and developer APIs. Use when reviewing command usability, error messages, help systems, or developer experience.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cli-ux-tester:cli-ux-testerThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill evaluates the usability of command-line interfaces and developer tools. It identifies the target CLI,
This skill evaluates the usability of command-line interfaces and developer tools. It identifies the target CLI, asks clarifying questions if needed, runs three evaluation agents in parallel, then passes the collected results to a synthesizer agent to produce artifacts.
Architecture: The skill spawns all evaluation sub-agents directly (one Explore agent and two test agents in
parallel). This works around the platform constraint that sub-agents cannot spawn further sub-agents. The
cli-ux-tester:cli-ux-tester agent acts as a pure synthesizer — it receives the pre-collected test data and
produces the scored report and artifacts.
Try to identify the CLI to evaluate from the user's message and current directory context.
From the user's message:
From the current directory:
# Check for executable entry points
ls -la *.sh bin/ scripts/ 2>/dev/null | head -20
# Check for package.json with a bin field (Node.js CLI)
cat package.json 2>/dev/null | grep -A5 '"bin"'
# Check for Python CLI setup
cat setup.py pyproject.toml 2>/dev/null | grep -A5 'console_scripts\|entry_points' | head -20
# Check for Go main package
ls main.go cmd/ 2>/dev/null
# Check README for CLI name and usage
head -50 README.md 2>/dev/null
Skip this step if the target CLI was already identified from the user's message in Step 1.
Otherwise, ask exactly one AskUserQuestion using the appropriate form below:
Entry point(s) detected in current directory → ask which to evaluate:
Question: "Which CLI should I evaluate?"
Options:
- [Each detected entry point]
- A different installed command (provide the name)
- A different path (provide the path)
No entry points detected → ask the user to specify:
Question: "Which CLI tool should I evaluate?"
Options:
- An installed command available in $PATH (provide the name)
- A path to an executable (provide the path)
Proceed directly to Step 3 with whatever the user provides.
Locate the reference files first:
**/testing-checklist.md) to find testing-checklist.md; note the path**/test-scenarios.md) to find test-scenarios.md; note the pathThen spawn these three agents simultaneously, substituting the actual {cli_command} and {working_dir}:
Explore agent — codebase mapping:
subagent_type: Explore
prompt: "Map the {cli_command} CLI codebase in {working_dir}. Find: all commands and subcommands,
help text locations, error handling code, version output, README and docs files, entry point(s),
flag/argument parsing. Return a structured summary: command tree, key file locations, patterns
observed."
Test agent A — discovery and help:
subagent_type: general-purpose
prompt: "Test {cli_command}'s help system and discoverability (run from {working_dir}).
Run: {cli_command} --help, {cli_command} -h, {cli_command} help, {cli_command} (no args),
{cli_command} --version, {cli_command} -v, {cli_command} version, {cli_command} invalid-subcommand,
{cli_command} --invalid-flag. For each subcommand found, also run: {cli_command} subcommand --help.
Capture exact output. Note: what works, what fails, what's missing."
Test agent B — error handling and consistency:
subagent_type: general-purpose
prompt: "Test {cli_command}'s error handling and consistency (run from {working_dir}).
Run: commands with missing required args, invalid flag values, nonexistent files, wrong syntax.
Check whether flag names are consistent across subcommands (--verbose always means the same thing).
Check exit codes with echo $?. Capture exact outputs. Note every inconsistency."
Wait for all three agents to complete and collect their full outputs before proceeding.
Once all evaluation results are collected, launch the cli-ux-tester:cli-ux-tester agent.
Pass:
testing-checklist.mdtest-scenarios.mdWhen the agent completes, inform the user:
✅ Evaluation complete!
📁 Results saved to: {timestamped_directory}
📊 Overall score: {overall_score}/5
🔍 Top issues: {brief_summary}
Clean up with: rm -rf CLI_UX_EVALUATION_*/
npx claudepluginhub ali5ter/claude-plugins --plugin cli-ux-testerGuides the design, implementation, review, and testing of CLI tools including flags, config precedence, terminal UX, error handling, and documentation.
Designs CLI surfaces including args/flags/subcommands/help/output/errors/config for new tools. Audits existing CLIs for consistency, composability, and agent ergonomics.
Scores a generated CLI against the Steinberger bar scoring tool and compares two CLIs side-by-side. Requires Go and the cli-printing-press binary.