tui-tester

Expert guidance for testing Gemini CLI behavior and visual output using terminal automation.

npx skills add https://github.com/google-gemini/gemini-cli --skill tui-tester

TUI Tester Skill

This skill provides the operational manual for verifying Gemini CLI behavioral changes and visual output using terminal automation.

Core Responsibilities

  • Verify Behavior: Confirm that code changes result in the expected terminal interactions.
  • Visual Validation: Ensure the TUI renders correctly across different terminal sizes and states.
  • Regression Testing: Use automation to prevent breaking existing interactive workflows.

Critical Protocol

When performing TUI testing, you must adhere to these strict rules:

1. Initialization

YOUR ABSOLUTE FIRST ACTION MUST BE: Activate the agent-tui skill. This provides the underlying tools needed for terminal automation.

2. Environment Setup (macOS / Parallel Safe)

Ensure the global daemon is running and the live preview is open:

if ! agent-tui sessions >/dev/null 2>&1; then
  tmux kill-session -t agent-tui 2>/dev/null || true
  agent-tui daemon stop 2>/dev/null || true
  rm -f /tmp/agent-tui*
  tmux new-session -d -s agent-tui 'agent-tui daemon start --foreground > /tmp/agent-tui-daemon.log 2>&1'
  sleep 1
fi
agent-tui live start --open

3. Session Management

  • Session IDs: Always use the session_id returned by agent-tui run for subsequent interactions.
  • Atomic Execution: Execute exactly one command per turn. Do not pipeline actions.
  • The Loop: Action -> Wait -> Screenshot -> Verify -> Next Action.

4. Gemini CLI Specifics

  • Build First: Always run npm run build or npm run build:all before testing local changes.
  • Bypass Trust: Set GEMINI_CLI_TRUST_WORKSPACE=true to avoid focus-stealing modals.
  • Isolate Config: Use GEMINI_CLI_HOME to prevent interference with your personal settings.

Workflow Example

# Start the CLI
env GEMINI_CLI_TRUST_WORKSPACE=true agent-tui run node packages/cli/dist/index.js

# Wait for the prompt
agent-tui wait "│" --assert

# Send a command
agent-tui type "/help"
agent-tui press Enter

# Verify output
agent-tui wait "Available Commands" --assert

Error Recovery

If a wait times out, take a fresh screenshot to diagnose the state. If you see os error 61, restart the daemon using the tmux method.

More skills from google-gemini

greeter
google-gemini
A friendly greeter skill
official
code-reviewer
google-gemini
Automated code review for local changes and remote pull requests with structured analysis across correctness, maintainability, and security. Supports both local file system changes (staged and unstaged) and remote PRs (by number or URL) with automatic GitHub CLI checkout Analyzes code across seven dimensions: correctness, maintainability, readability, efficiency, security, edge case handling, and test coverage Runs optional preflight verification suites (e.g., npm run preflight ) to catch...
official
review-duplication
google-gemini
Use this skill during code reviews to proactively investigate the codebase for duplicated functionality, reinvented wheels, or failure to reuse existing…
official
reconciliation
google-gemini
Reconcile loaded expenses against the pre-parsed invoice database, flagging discrepancies like amount mismatches, missing invoices, and merchant mismatches…
official
gemini-api-cli
google-gemini
Guide for using the Gemini API CLI tool. Use when you need to interact with the Gemini API via the command line, manage agents, or generate media (images,…
official
agent-tui
google-gemini
Main Agents: Do NOT use this skill directly. If you need to test the TUI, invoke the `tui_tester` subagent. Drive terminal UI (TUI) applications…
official
async-pr-review
google-gemini
Trigger this skill when the user wants to start an asynchronous PR review, run background checks on a PR, or check the status of a previously started async PR…
official
behavioral-evals
google-gemini
Guidance for creating, running, fixing, and promoting behavioral evaluations. Use when verifying agent decision logic, debugging failures, debugging prompt…
official