# tui-validate

Скилл снимает скриншот терминального интерфейса через freeze и оценивает его по критериям с помощью LLM. Пригодится после правок в TUI, чтобы поймать сломанную вёрстку.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 3186
- Автор: mikeyobrien
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/mikeyobrien/ralph-orchestrator/tree/HEAD/.claude/skills/tui-validate/SKILL.md
- Обновлён: 2026-10-15
- HTML: https://affpapa.org/nevibecode/skills/tui-validate

## Что делает

Скилл берёт вывод терминального приложения и проверяет его по заданным критериям. Источником может быть файл с ANSI-выводом, команда, живая сессия `tmux` или просто текст в буфере. Снимок делает `freeze` из Charmbracelet, дальше результат оценивает LLM: смотрит на расположение блоков, наличие нужных элементов и иерархию, а не сверяет строки посимвольно. Поэтому мелкие сдвиги форматирования проверку не ломают.

Есть готовые наборы критериев: `ralph-header`, `ralph-footer`, `ralph-full` и общий `tui-basic`. Можно задать и своё описание того, что должно быть на экране. Режим проверки выбирается через `judge_mode`: `semantic` разбирает смысл и структуру, `strict` дополнительно требует точного наличия контента, `visual` работает с PNG и оценивает картинку целиком. Формат снимка задаётся в `output_format` — `svg`, `png` или `text`.

Перед запуском нужен установленный `freeze`: `brew install charmbracelet/tap/freeze`. Для захвата живого интерфейса понадобится ещё и `tmux`. Без `freeze` скилл не снимет скриншот, так что проверьте `freeze --version` до первого прогона.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mikeyobrien/ralph-orchestrator --skill tui-validate -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/tui-validate/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/tui-validate/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mikeyobrien/ralph-orchestrator --skill tui-validate -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/tui-validate/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mikeyobrien/ralph-orchestrator --skill tui-validate -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/tui-validate/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install mikeyobrien/ralph-orchestrator tui-validate
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/tui-validate/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add mikeyobrien/ralph-orchestrator --skill tui-validate -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/mikeyobrien/ralph-orchestrator --path .claude/skills/tui-validate
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/tui-validate/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add mikeyobrien/ralph-orchestrator --skill tui-validate -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/mikeyobrien/ralph-orchestrator/tree/HEAD/.claude/skills/tui-validate/SKILL.md

## Когда брать
- снять скриншот терминального интерфейса после правок
- проверить, что шапка и футер TUI отрисовались на своих местах
- поймать сломанные символы и артефакты рендеринга
- сравнить вид живого приложения в tmux с ожидаемым
- сделать снимок экрана для документации и заодно проверить его

## Примеры запросов агенту
- /tui-validate file:test_output.txt criteria:ralph-header
- /tui-validate tmux:ralph-session criteria:ralph-full save_screenshot:true
- /tui-validate command:"myapp --help" criteria:tui-basic output_format:png

## Похожие
- [control-cli](https://affpapa.org/nevibecode/skills/control-cli.md) — скилл · 2400 установок
- [tui-design](https://affpapa.org/nevibecode/skills/tui-design.md) — скилл · 1300 установок
- [ratatui-tui](https://affpapa.org/nevibecode/skills/ratatui-tui.md) — скилл · 722 установки
- [terminal-control](https://affpapa.org/nevibecode/skills/terminal-control.md) — скилл · 505 установок
- [terminal-screenshot](https://affpapa.org/nevibecode/skills/terminal-screenshot.md) — скилл · 433 установки
- [opentui](https://affpapa.org/nevibecode/skills/opentui.md) — скилл · 64500 установок

Из того же набора: [mikeyobrien/ralph-orchestrator](https://affpapa.org/nevibecode/by/mikeyobrien/ralph-orchestrator.md) — 4 карточки

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
