Skip to content
cccskills
FreePublished on GitHub

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.

The English summary is being prepared. Showing the original description.

See how to install

Files included (1)

  • SKILL.md3.2 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

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

TaskCommand
Identify current panetmux display-message -p '#{session_name}:#{window_index}.#{pane_index}'
Create split panetmux split-window -h -t SESSION:WINDOW -c /path/to/repo
List panestmux list-panes -t SESSION:WINDOW
Fix shell in panetmux send-keys -t PANE "exec /path/to/fish" Enter
Send commandtmux send-keys -t PANE "command" Enter
Capture outputtmux capture-pane -t PANE -p -S -60
Quit TUItmux send-keys -t PANE q
Force stoptmux send-keys -t PANE C-c
Kill split panetmux 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.lock exists, ralph spawns worktree loops instead of running normally. Always delete it first.
  • Wrong backend in TUI header: Without cli.backend: pi in the config, ralph uses claude regardless of hat settings.
  • Missing hat name field: HatConfig requires name; 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 q prepends it to your next command. Check if the TUI is still running before sending quit keys.

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Guides implementation of code tasks using test-driven development in an Explore, Plan, Code, Commit workflow. Acts as a Technical Implementation Partner and TDD Coach — following existing patterns, avoiding over-engineering, and producing idiomatic, modern code.

The English summary is being prepared. Showing the original description.

mikeyobrien/ralph-orchestrator3.2KUpdated Oct 16, 2026

Generates structured .code-task.md files from descriptions or PDD implementation plans. Auto-detects input type, creates properly formatted tasks with Given-When-Then acceptance criteria.

The English summary is being prepared. Showing the original description.

mikeyobrien/ralph-orchestrator3.2KUpdated Oct 16, 2026

Use when testing Ralph's hat collection presets, validating preset configurations, or auditing the preset library for bugs and UX issues.

The English summary is being prepared. Showing the original description.

mikeyobrien/ralph-orchestrator3.2KUpdated Oct 16, 2026

Lists all code tasks in the repository with their status, dates, and metadata. Useful for getting an overview of pending work or finding specific tasks.

The English summary is being prepared. Showing the original description.

mikeyobrien/ralph-orchestrator3.2KUpdated Oct 16, 2026

pdd

Free

Transforms a rough idea into a detailed design document with implementation plan. Follows Prompt-Driven Development — iterative requirements clarification, research, design, and planning.

The English summary is being prepared. Showing the original description.

mikeyobrien/ralph-orchestrator3.2KUpdated Oct 16, 2026

Browser automation via Playwriter (remorses) using persistent Chrome sessions and the full Playwright Page API.

The English summary is being prepared. Showing the original description.

mikeyobrien/ralph-orchestrator3.2KUpdated Oct 16, 2026

See all skills by mikeyobrien

Report a problem with this skill