From tuivision
Guided TUI automation and visual testing workflow. Use when testing terminal applications, validating TUI layouts, or automating interactive CLI tools.
How this skill is triggered — by the user, by Claude, or both
Slash command
/tuivision:tui-testThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill guides you through testing terminal user interfaces using tuivision's MCP tools.
This skill guides you through testing terminal user interfaces using tuivision's MCP tools.
The tuivision MCP server provides these tools:
| Tool | Purpose |
|---|---|
spawn_tui | Start a TUI app in a virtual terminal |
send_input | Send keystrokes (text, arrows, ctrl+c, etc.) |
get_screen | Get terminal state as text or structured data |
get_screenshot | Render terminal to PNG or SVG image |
resize_session | Change terminal dimensions |
list_sessions | Show all active sessions |
close_session | Clean up a session |
spawn_tui command="htop" cols=120 rows=40
Returns a session_id for subsequent operations.
For Bubble Tea / Charm apps (Go TUI frameworks), add TTY compatibility flags:
spawn_tui command="./my-bubbletea-app" cols=120 rows=40 use_script=true answer_queries=true
use_script: Wraps in script command for /dev/tty accessanswer_queries: Auto-responds to ANSI terminal queriesAfter spawning, give the app time to initialize:
Send input using send_input:
# Type text
send_input session_id="..." input="hello world"
# Special keys
send_input session_id="..." key="enter"
send_input session_id="..." key="ctrl+c"
send_input session_id="..." key="up"
# Sequence of keys
send_input session_id="..." keys=["tab", "tab", "enter"]
Special keys supported:
up, down, left, right, home, end, pageup, pagedownenter, tab, backspace, delete, escapectrl+c, ctrl+d, ctrl+z, ctrl+lf1 through f12Get terminal content:
# Quick text view
get_screen session_id="..." format="text"
# With cursor position
get_screen session_id="..." format="compact"
# Full cell data (colors, attributes)
get_screen session_id="..." format="full"
Take screenshots for visual inspection:
# PNG screenshot (returned as base64 image)
get_screenshot session_id="..." format="png"
# SVG for scalable output
get_screenshot session_id="..." format="svg" font_size=16
Always close sessions when done:
close_session session_id="..."
get_screen with format="text"get_screen returning empty/errorget_screen format="full" to verify color/attribute rendering.ctrl+c or q before close_session for graceful app shutdown.use_script=true and answer_queries=true for Go TUI apps.1. spawn_tui command="htop" cols=120 rows=40
2. [wait 200ms]
3. get_screenshot session_id="..." format="png"
4. send_input session_id="..." key="q"
5. close_session session_id="..."
1. spawn_tui command="vim test.txt" cols=80 rows=24
2. send_input session_id="..." key="i" # insert mode
3. send_input session_id="..." input="Hello, World!"
4. send_input session_id="..." key="escape"
5. get_screen session_id="..." format="text"
6. send_input session_id="..." keys=[":","q","!","enter"]
7. close_session session_id="..."
Bubble Tea apps (Go) require TTY compatibility flags:
1. spawn_tui command="./my-bubbletea-app" cols=80 rows=24 use_script=true answer_queries=true
2. [wait 500ms for app to initialize]
3. get_screenshot session_id="..." format="png"
4. send_input session_id="..." key="down"
5. get_screen session_id="..." format="text"
6. send_input session_id="..." key="q"
7. close_session session_id="..."
Why these flags? Bubble Tea queries terminal capabilities (cursor position, colors) before rendering. Without responses, the app hangs waiting. use_script provides /dev/tty access, and answer_queries auto-responds to ANSI queries.
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub mistakeknot/interagency-marketplace --plugin tuivision