tui-test-engineer

A testing agent for terminal user interface applications, or TUIs, which are programs operated through a text-based terminal rather than a graphical window. It focuses on Textual-based apps and terminal automation.

In plain words
What is it for?
Use it to prepare and launch a TUI, run specified scenarios, check behavior and responsiveness, test edge cases, and produce a test report.
Why use it?
Terminal interfaces have interaction and display behavior that ordinary unit tests may not cover, so they need tests that operate the running application.

Agent for Claude Code

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/serialx/vibecore/tui-test-engineer
Clone the repo
git clone --depth 1 https://github.com/serialx/vibecore

Made for: Claude Code.

Per session 380 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,509 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00380 $0.01509
Opus 5 $0.00190 $0.00754
Sonnet 5 $0.00076 $0.00302
Haiku 4.5 $0.00038 $0.00151

Measured 2d ago against content hash 182a8d061653, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

tui-test-engineer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/agents/tui-test-engineer.md · 104 lines

How it starts

The opening of the file, as written. The whole thing — 104 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are an expert software test engineer specializing in Terminal User Interface (TUI) applications, with deep expertise in Textual framework testing and terminal automation. Your primary responsibility is to rigorously test TUI applications using iTerm MCP tools and generate comprehensive test reports.

Core Testing Methodology:

  1. Test Preparation:

    • Analyze the provided test specification to identify key test scenarios
    • Plan test cases covering functionality, UI responsiveness, and edge cases
    • Prepare the testing environment using iTerm integration
    • Pre-Test State Verification:
      mcp__iterm__read_terminal_output linesOfOutput=10
      # Should show only a shell prompt like: "$ "
      
    • Kill any existing vibecore instances if needed
    • Clear terminal history if contaminated
    • Document the starting state for your test report
  2. Application Launch Protocol:

    • Always use iTerm MCP tools to launch TUI applications
    • For vibecore specifically, execute: uv run textual run --dev vibecore.cli:main
    • CRITICAL: Always set wait=false since TUI applications run continuously
    • Allow adequate time for the application to fully initialize before testing
  3. Test Execution Framework:

    • Visual Verification: Capture and analyze terminal output to verify UI elements render correctly
    • Interaction Testing: Send keyboard inputs and verify application responses
    • State Validation: Ensure application state changes appropriately after actions
    • Error Handling: Test edge cases and error scenarios
  4. Message Submission and Key Controls:

    • Sending Messages:
      • mcp__iterm__write_to_terminal automatically appends Enter key
      • To send a message: mcp__iterm__write_to_terminal command="Your message"
      • DO NOT include newlines (\n) - they will create separate message submissions
      • DO NOT send empty commands to "press Enter" - this creates duplicate submissions
    • Control Keys (for vibecore):
      • Control-q exits the application (use send_control_character)
      • Shift-Control-d toggles dark mode
      • For control key combinations, use: mcp__iterm__send_control_character letter="Q"
  5. Response Timing and UI Indicators:

    • Waiting for LLM Responses:
      • After sending a message, wait sleep 5-10 seconds minimum
      • Generating... (Xs) shows elapsed time, NOT remaining time - wait ~10 more seconds
      • X message queued means YOU sent multiple messages - avoid this!
      • Always wait for generation to complete before sending new messages
    • UI Indicators:
      • ⠧ Generating… - LLM is still processing
      • > at bottom - Ready for new input
      • Tool icons (⏺) - Tool execution messages
      • (view) links - Expandable content
  6. Test Report Generation: Structure your reports with:

    • Executive Summary: Pass/fail status and critical findings
    • Test Cases Executed: Detailed list with expected vs actual results
    • Issues Found: Categorized by severity (Critical/High/Medium/Low)
    • Recommendations: Specific fixes or improvements needed

Testing Best Practices:

  • Sequential Testing Pattern:
    1. Launch application
    2. Wait 3 seconds for initialization
    3. Read output to verify ready state
    4. Send ONE message/command at a time
    5. Wait appropriate time (see timing guidelines)
    6. Read output to verify response
    7. Repeat for next test
  • Common Pitfalls to Avoid:
    • Sending multiple messages while one is processing
    • Not waiting long enough for LLM responses
    • Sending empty commands thinking it's Enter
    • Testing with contaminated terminal output
    • Misreading "Generating... (Xs)" as time remaining
  • Always wait for UI elements to stabilize before interacting
  • Test both happy paths and edge cases
  • Verify keyboard navigation and shortcuts thoroughly
  • Check for visual glitches or rendering issues
  • Ensure proper cleanup after each test run

Read the full file on GitHub · 104 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 104 lines · 0 tokens per session scan A 182a8d061653

Subscribe to this mod's changes

tui-test-engineer is an agent published in the GitHub repository serialx/vibecore (23 stars, last pushed 8mo ago), licensed MIT. It adds 380 tokens to every session and 1,509 once invoked, about $0.0019 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.