Agent skill
tui-debug-in-pane
Use when you need to reproduce or debug TUI rendering issues (garbled output, broken streaming, layout corruption) by running ralph in a tmux split pane and capturing live output.
Install this agent skill to your Project
npx add-skill https://github.com/mikeyobrien/ralph-orchestrator/tree/main/.claude/skills/tui-debug-in-pane
Metadata
Additional technical details for this skill
- internal
- YES
SKILL.md
tui-debug-in-pane
Debug TUI rendering bugs by launching ralph in a tmux split pane and capturing live output. The split keeps your main pane free for inspection commands.
When to Use
- Reproducing garbled or corrupted TUI output from a specific provider
- Investigating streaming rendering issues that only appear live
- Capturing TUI state for bug reports or diagnostics
Quick Reference
| Task | Command |
|---|---|
| Identify current pane | tmux display-message -p '#{session_name}:#{window_index}.#{pane_index}' |
| Create split pane | tmux split-window -h -t SESSION:WINDOW -c /path/to/repo |
| List panes | tmux list-panes -t SESSION:WINDOW |
| Fix shell in pane | tmux send-keys -t PANE "exec /path/to/fish" Enter |
| Send command | tmux send-keys -t PANE "command" Enter |
| Capture output | tmux capture-pane -t PANE -p -S -60 |
| Quit TUI | tmux send-keys -t PANE q |
| Force stop | tmux send-keys -t PANE C-c |
| Kill split pane | tmux kill-pane -t PANE |
Procedure
1. Create the Split Pane
tmux display-message -p '#{session_name}:#{window_index}.#{pane_index}'
tmux split-window -h -t SESSION:WINDOW -c /path/to/repo
tmux list-panes -t SESSION:WINDOW
2. Fix Shell Environment
Split panes inherit the tmux server's default shell (bash), not the parent's. Tools like pi need fish (mise/Node).
tmux send-keys -t PANE "exec /nix/store/km9w9r1p4nl92y5fp4vfwsjymjig4axl-fish-3.7.1/bin/fish" Enter
tmux send-keys -t PANE "which pi && pi --version" Enter
3. Clean Up Before Running
rm -f .ralph/loop.lock
git worktree prune
4. Launch Ralph
# Prefer release binary (faster startup)
tmux send-keys -t PANE "target/release/ralph run -c CONFIG.yml -p 'prompt' --max-iterations N" Enter
# Or with cargo (must specify --bin for this workspace)
tmux send-keys -t PANE "cargo run --bin ralph -- run -c CONFIG.yml -p 'prompt' --max-iterations N" Enter
5. Capture and Analyze
sleep 20 # Pi/Kiro take 15-30s to start streaming
tmux capture-pane -t PANE -p -S -60
ls -lt .ralph/diagnostics/logs/ | head -5
6. Clean Up
tmux send-keys -t PANE q
tmux send-keys -t PANE C-c
tmux kill-pane -t PANE
Common Mistakes
- Shell mismatch: Split panes get bash by default. If tools fail with "command not found", switch to fish with
exec /path/to/fish. - Stale loop lock: If
.ralph/loop.lockexists, ralph spawns worktree loops instead of running normally. Always delete it first. - Wrong backend in TUI header: Without
cli.backend: piin the config, ralph uses claude regardless of hat settings. - Missing hat
namefield: HatConfig requiresname; omitting it causes a config parse error. - Premature capture: Pi and Kiro take 15-30s before streaming text appears. Capture too early and you see an empty content area.
- Ghost keystrokes: If the TUI already exited, pressing
qprepends it to your next command. Check if the TUI is still running before sending quit keys.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
complex-test-skill
A directory-style test skill for smoke testing
test-driven-development
Unified TDD skill with three input modes — from spec, from task, or from description. Enforces test-first development using repository patterns, with proptest guidance and backpressure integration.
tmux-terminal
Interactive terminal control via tmux for TUI apps, prompts, and long-running CLI workflows.
pr-demo
Use when creating animated demos (GIFs) for pull requests or documentation. Covers terminal recording with asciinema and conversion to GIF/SVG for GitHub embedding.
pdd
Transforms a rough idea into a detailed design document with implementation plan. Follows Prompt-Driven Development — iterative requirements clarification, research, design, and planning.
playwriter
Browser automation via Playwriter (remorses) using persistent Chrome sessions and the full Playwright Page API.
Didn't find tool you were looking for?