К основному содержанию
скилл CX Codex

tui-debug-in-pane — скилл для Claude Code: что делает и установка

Запускает ralph в сплит-панели tmux для воспроизведения багов интерфейса и захвата живого потока вывода. Оставляет основную панель свободной для проверок.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add mikeyobrien/ralph-orchestrator --skill tui-debug-in-pane -a claude-code
Открыть на GitHub

Что делает tui-debug-in-pane

Скилл изолирует отладку текстового интерфейса в отдельном терминальном окне. Он определяет координаты текущей сессии через tmux display-message, открывает горизонтальный сплит с помощью tmux split-window и отправляет туда команды запуска ralph. Это защищает основную консоль от искажения разметки, если TUI зависнет или сломает поток данных.

Перед стартом процесса очищается файл .ralph/loop.lock и выполняется git worktree prune. Так как сплит наследует серверный bash, окружение переключается на fish, чтобы утилиты вроде pi имели доступ к путям Node и mise. Программа запускается через скомпилированный бинарник target/release/ralph либо команду cargo run --bin ralph.

Для проверки стриминга скилл выдерживает паузу в 20 секунд и считывает последние 60 строк экрана командой tmux capture-pane. Без предварительного удаления старого .ralph/loop.lock ralph начнёт плодить циклы воркдеревьев вместо нормального запуска.

Какие задачи решает

  • воспроизвести сбои и артефакты рендеринга TUI
  • сохранить буфер терминального стриминга для баг-репорта
  • изолировать нестабильный процесс в отдельном сплите tmux
  • проверить логи ralph без блокировки рабочей консоли

Примеры запросов агенту

  • Запусти отладку TUI ralph в сплит-панели tmux с конфигом dev.yml
  • Воспроизведи сбой рендеринга стриминга в tmux и сними дамп экрана
  • Открой ralph в сплите tmux, подожди 20 секунд и проверь логи диагностики

Как установить tui-debug-in-pane

1Через Skills CLI (Vercel)

npx skills add mikeyobrien/ralph-orchestrator --skill tui-debug-in-pane -a claude-code

2Вручную: положить файлы

~/.claude/skills/tui-debug-in-pane/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/tui-debug-in-pane/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о tui-debug-in-pane

Как установить tui-debug-in-pane в Claude Code?

Выполните команду npx skills add mikeyobrien/ralph-orchestrator --skill tui-debug-in-pane -a claude-code в терминале.

Зачем запускать отладку именно в сплит-панели tmux?

Это оставляет основное окно свободным для ручной диагностики. При зависании интерфейса сессию можно остановить клавишей q или сочетанием C-c через tmux send-keys, после чего закрыть сплит командой tmux kill-pane.

Почему для бэкенда pi требуется переключать шелл на fish?

Новая панель tmux по умолчанию получает bash, где могут отсутствовать нужные переменные окружения. Вызов exec с путём к fish обеспечивает видимость исполняемого файла pi.

Исходный текст

SKILL.md · MIT
---
name: tui-debug-in-pane
description: 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.
metadata:
  internal: true
---

# 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

```bash
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).

```bash
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

```bash
rm -f .ralph/loop.lock
git worktree prune
```

### 4. Launch Ralph

```bash
# 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

```bash
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

```bash
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.

© mikeyobrien · MIT · mikeyobrien/ralph-orchestrator

Похожие скиллы

Все скиллы по теме «Настройка агента: память, контекст, субагенты» →
setup-matt-pocock-skills Matt Pocock Скилл настраивает репозиторий для инженерных скиллов Matt Pocock: задаёт трекер задач, метки триажа и расположение доменной документации. Запустите его перед первым использованием остальных скиллов. 1 052 851установок ask-matt Matt Pocock Помогает выбрать подходящий скилл или рабочий поток из набора Matt Pocock. Пригодится, когда непонятно, с чего начать задачу: от идеи до разбора бага. 766 587установок to-tickets Matt Pocock Разбивает план, спецификацию или переписку на небольшие сквозные задачи и отмечает, какие из них блокируют остальные. Пригодится, когда нужно согласовать порядок работы до публикации задач в трекере. 711 230установок writing-plans Jesse Vincent Скилл превращает требования к многошаговой задаче в подробный план реализации до начала работы с кодом. Пригодится, когда исполнителю нужно зафиксировать файлы, интерфейсы и проверки. CX Codex 282 859установок caveman-review JuliusBrussee Пишет замечания к коду одной строкой: место, проблема, исправление. Пригодится, когда ревью диффа или PR надо пройти быстро и без воды. CX Codex +1 411 800установок caveman-compress JuliusBrussee Сжимает CLAUDE.md, списки задач и другие текстовые файлы в краткий формат, сохраняя читаемую резервную копию. CX Codex +1 411 500установок

Из того же набора16

tui-validate Скилл снимает скриншот терминального интерфейса через freeze и оценивает его по критериям с помощью LLM. Пригодится после правок в TUI, чтобы поймать сломанную вёрстку. CX Codex +1 ★ 3 189звёзд репо tmux-terminal Скилл управляет интерактивными терминальными сессиями через tmux: отправляет клавиши, считывает вывод и оставляет процессы работать между шагами. Пригодится для TUI и долгих CLI-задач. CX Codex +1 ★ 3 189звёзд репо test-driven-development Скилл ведёт агента по циклу RED → GREEN → REFACTOR и заставляет писать тесты раньше кода. Пригодится, когда нужно разложить спеку или задачу на проверяемые тесты. CX Codex +1 ★ 3 189звёзд репо review-pr Запускает оркестрацию ralph для ревью пуллреквеста: клонирует код в отдельный worktree, гоняет тесты и собирает отчёт в Markdown. CX Codex +1 ★ 3 189звёзд репо release-bump Проведёт релиз ralph-orchestrator по шагам: поднять версию, собрать, прогнать тесты, поставить тег. Пригодится, когда фиксы уже в коммитах и пора публиковать. CX Codex +1 ★ 3 189звёзд репо pr-demo Записывает терминал через asciinema и превращает запись в GIF или SVG, который можно вставить в описание PR. CX Codex +1 ★ 3 189звёзд репо playwriter Управляет запущенным браузером Chrome через Playwright API, сохраняя куки и авторизацию. Помогает тестировать веб-интерфейсы без повторного логина. CX Codex +1 ★ 3 189звёзд репо pdd pdd превращает сырую идею в требования, исследование, дизайн и план реализации. Скилл нужен, когда перед кодом требуется согласовать детали и артефакты. CX Codex +1 ★ 3 189звёзд репо

Спонсоры проекта

Компании, которые помогают держать аналитику открытой