Agent Skills: CLI UX Tester

Expert UX evaluator for command-line interfaces, CLIs, terminal tools, shell scripts, and developer APIs. Use proactively when reviewing CLIs, testing command usability, evaluating error messages, assessing developer experience, checking API ergonomics, or analyzing terminal-based tools. Tests for discoverability, consistency, error handling, help systems, and accessibility.

UncategorizedID: ali5ter/claude-cli-ux-skill/cli-ux-tester

Install this agent skill to your local

pnpm dlx add-skill https://github.com/ali5ter/claude-cli-ux-skill/tree/HEAD/skills/cli-ux-tester

Skill Files

Browse the full folder contents for cli-ux-tester.

Download Skill

Loading file tree…

skills/cli-ux-tester/SKILL.md

Skill Metadata

Name
cli-ux-tester
Description
Expert UX evaluator for command-line interfaces, CLIs, terminal tools, shell scripts, and developer APIs. Use proactively when reviewing CLIs, testing command usability, evaluating error messages, assessing developer experience, checking API ergonomics, or analyzing terminal-based tools. Tests for discoverability, consistency, error handling, help systems, and accessibility.

CLI UX Tester

This skill evaluates the usability of command-line interfaces and developer tools. It identifies the target CLI, asks clarifying questions if needed, then launches an agent to perform a comprehensive evaluation.

Architecture: This skill acts as a lightweight launcher. It collects context, then delegates all evaluation work to the cli-ux-tester:cli-ux-tester agent, which keeps the parent session's token budget clean and ensures unbiased analysis.

Step 1: Detect target CLI

Try to identify the CLI to evaluate from the user's message and current directory context.

From the user's message:

  • If the user names a specific command or tool (e.g., "review my-tool"), use that as the target.

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

Step 2: Ask clarifying questions

If the target CLI cannot be confidently identified, use AskUserQuestion before launching the agent:

If the CLI to evaluate is unclear:

Question: "Which CLI should I evaluate?"
Options:
  - [Detected entry point(s) from current directory]
  - A command available in $PATH
  - Other (custom path)

If evaluating a command in $PATH, also ask:

Question: "Should I evaluate the CLI in the current directory, or a specific installed command?"
Options:
  - Current directory
  - Specific command (provide name)

Step 3: Launch evaluation agent

Once the target CLI is identified, launch a cli-ux-tester:cli-ux-tester agent with the collected context.

Pass the agent:

  • The working directory
  • The CLI entry point (command name, script path, or executable)
  • Any relevant context from the user's message (e.g., "focus on error messages", "check the help system")

Step 4: Report results

When 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_*/

Error handling

  • CLI not found: Ask the user to confirm the command name or path
  • Permission denied: Note the issue and ask if they want to test a different entry point
  • No CLI in current directory: Ask the user to specify which tool to evaluate