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

terminal-ui — скилл для Claude Code: правила TUI на Ink и Clack

Скилл с 42 правилами для терминальных интерфейсов на TypeScript: рендеринг, ввод с клавиатуры, промпты. Пригодится, когда пишете CLI на Ink или Clack.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add pproenca/dot-skills --skill terminal-ui -a claude-code
Открыть на GitHub

Что делает terminal-ui

Скилл terminal-ui — это набор из 42 правил по восьми категориям для тех, кто делает терминальные интерфейсы на TypeScript. Внутри — рекомендации по рендерингу и выводу, обработке клавиатурного ввода, паттернам компонентов, состоянию и жизненному циклу, дизайну промптов, UX и обратной связи, конфигурации CLI и совместимости. Правила разбиты по приоритету: рендеринг и ввод помечены как критические, дальше идут компоненты и состояние, затем промпты, UX, конфигурация и совместимость.

Каждое правило лежит отдельным файлом в references/ с пояснениями и примерами кода. Есть шаблон для добавления новых правил в assets/templates/_template.md и полный скомпилированный документ AGENTS.md. Скилл срабатывает на задачах с TUI-компонентами, CLI-промптами, рендерингом в терминале и обработкой ввода.

Скилл заточен под Ink и Clack — если ваш CLI собран на других библиотеках, часть правил придётся адаптировать. Установка идёт через npx skills add или gh skill install в зависимости от платформы.

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

  • собрать интерактивный CLI-промпт на Clack без мерцания
  • настроить обработку клавиатурного ввода в Ink
  • разложить TUI-компоненты по flexbox-сетке
  • убрать лишние перерисовки терминала при анимации
  • добавить понятные сообщения об ошибках и следующие шаги в CLI

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

  • помоги спроектировать интерактивный промпт на Clack для выбора окружения
  • проверь мой Ink-компонент на мерцание при обновлении списка
  • как правильно обработать нажатия клавиш в терминальном интерфейсе

Как установить terminal-ui

1Через Skills CLI (Vercel)

npx skills add pproenca/dot-skills --skill terminal-ui -a claude-code

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

~/.claude/skills/terminal-ui/SKILL.md

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

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

Вопросы о terminal-ui

Как установить terminal-ui в Claude?

Выполните npx skills add pproenca/dot-skills --skill terminal-ui -a claude-code. Скилл появится в ~/.claude/skills/terminal-ui/SKILL.md.

Что делает terminal-ui?

Даёт агенту 42 правила по восьми категориям для терминальных интерфейсов на TypeScript: рендеринг, ввод, компоненты, состояние, промпты, UX, конфигурация и совместимость.

С какими библиотеками работает terminal-ui?

Правила написаны под Ink и Clack. Для других TUI-библиотек их придётся пересматривать.

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

SKILL.md · MIT
---
name: terminal-ui
description: Terminal User Interface (TUI) performance and UX guidelines for TypeScript applications using Ink and Clack. This skill should be used when building CLI tools, interactive terminal prompts, or developer tooling with TUI components. Triggers on tasks involving TUI components, CLI prompts, terminal rendering, keyboard input handling, or developer tooling.
---

# DevEx Developer Experience TUI Best Practices

Comprehensive developer experience guide for building TypeScript terminal user interfaces using Ink (React for CLIs) and Clack prompts. Contains 42 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

## When to Apply

Reference these guidelines when:
- Building CLI tools with interactive prompts using @clack/prompts
- Creating React-based terminal UIs with Ink
- Handling keyboard input and user interactions
- Optimizing terminal rendering and preventing flicker
- Designing developer-friendly CLI experiences

## Rule Categories by Priority

| Priority | Category | Impact | Prefix |
|----------|----------|--------|--------|
| 1 | Rendering & Output | CRITICAL | `render-` |
| 2 | Input & Keyboard | CRITICAL | `input-` |
| 3 | Component Patterns | HIGH | `tuicomp-` |
| 4 | State & Lifecycle | HIGH | `tuistate-` |
| 5 | Prompt Design | MEDIUM-HIGH | `prompt-` |
| 6 | UX & Feedback | MEDIUM | `ux-` |
| 7 | Configuration & CLI | MEDIUM | `tuicfg-` |
| 8 | Robustness & Compatibility | LOW-MEDIUM | `robust-` |

## Quick Reference

### 1. Rendering & Output (CRITICAL)

- `render-single-write` - Batch Terminal Output in Single Write
- `render-overwrite-dont-clear` - Overwrite Content Instead of Clear and Redraw
- `render-synchronized-output` - Use Synchronized Output Protocol for Animations
- `render-60fps-baseline` - Target 60fps for Smooth Animation
- `render-partial-updates` - Update Only Changed Regions
- `render-escape-sequence-batching` - Defer ANSI Escape Code Generation to Final Output

### 2. Input & Keyboard (CRITICAL)

- `input-useinput-hook` - Use useInput Hook for Keyboard Handling
- `input-immediate-feedback` - Provide Immediate Visual Feedback for Input
- `input-modifier-keys` - Handle Modifier Keys Correctly
- `input-isactive-focus` - Use isActive Option for Focus Management
- `input-escape-routes` - Always Provide Escape Routes

### 3. Component Patterns (HIGH)

- `tuicomp-box-flexbox` - Use Box Component with Flexbox for Layouts
- `tuicomp-text-styling` - Use Text Component for All Visible Content
- `tuicomp-measure-element` - Use measureElement for Dynamic Sizing
- `tuicomp-static-for-logs` - Use Static Component for Log Output
- `tuicomp-percentage-widths` - Use Percentage Widths for Responsive Layouts
- `tuicomp-border-styles` - Use Border Styles for Visual Structure

### 4. State & Lifecycle (HIGH)

- `tuistate-useapp-exit` - Use useApp Hook for Application Lifecycle
- `tuistate-cleanup-effects` - Always Clean Up Effects on Unmount
- `tuistate-functional-updates` - Use Functional State Updates to Avoid Stale Closures
- `tuistate-usecallback-stable` - Stabilize Callbacks with useCallback
- `tuistate-usememo-expensive` - Memoize Expensive Computations with useMemo

### 5. Prompt Design (MEDIUM-HIGH)

- `prompt-group-flow` - Use Clack group() for Multi-Step Prompts
- `prompt-validation` - Validate Input Early with Descriptive Messages
- `prompt-cancellation` - Handle Cancellation Gracefully with isCancel
- `prompt-spinner-tasks` - Use Spinner and Tasks for Long Operations
- `prompt-custom-render` - Build Custom Prompts with @clack/core

### 6. UX & Feedback (MEDIUM)

- `ux-progress-indicators` - Show Progress for Operations Over 1 Second
- `ux-color-semantics` - Use Colors Semantically and Consistently
- `ux-error-messages` - Write Actionable Error Messages
- `ux-next-steps` - Show Next Steps After Completion
- `ux-intro-outro` - Use Intro and Outro for Session Framing

### 7. Configuration & CLI (MEDIUM)

- `tuicfg-sensible-defaults` - Provide Sensible Defaults for All Options
- `tuicfg-env-vars` - Support Standard Environment Variables
- `tuicfg-flags-over-args` - Prefer Flags Over Positional Arguments
- `tuicfg-help-system` - Implement Comprehensive Help System
- `tuicfg-json-output` - Support Machine-Readable Output Format

### 8. Robustness & Compatibility (LOW-MEDIUM)

- `robust-tty-detection` - Detect TTY and Adjust Behavior Accordingly
- `robust-signal-handling` - Handle Process Signals Gracefully
- `robust-exit-codes` - Use Meaningful Exit Codes
- `robust-terminal-restore` - Always Restore Terminal State on Exit
- `robust-graceful-degradation` - Degrade Gracefully for Limited Terminals

## How to Use

Read individual reference files for detailed explanations and code examples:

- [Section definitions](references/_sections.md) - Category structure and impact levels
- [Rule template](assets/templates/_template.md) - Template for adding new rules
- [render-single-write](references/render-single-write.md) - Example rule file
- [input-useinput-hook](references/input-useinput-hook.md) - Example rule file

## Full Compiled Document

For the complete guide with all rules expanded: `AGENTS.md`

© pproenca · MIT · pproenca/dot-skills

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

Всё по теме «Фронтенд и UI» →
ink vercel-labs Помогает создавать интерактивные терминальные интерфейсы из JSON-спецификаций через @json-render/ink. Пригодится при настройке TUI и каталогов компонентов для агентов. CX Codex +1 1 300установок tui-design hyperb1iss Скилл для проектирования TUI: раскладка панелей, цвета, навигация с клавиатуры и асинхронные состояния. Пригодится, если вы пишете терминальный дашборд или пикер. CX Codex +1 1 300установок terminal-control anomalyco Управляет интерактивными терминальными программами через termctrl: читает экран, отправляет ввод и ждёт нужный текст. Нужен для TUI, REPL и живых CLI-сессий. CX Codex +1 505установок rattles-terminal-spinners reason-machines Скилл для работы с rattles — минимальной Rust-библиотекой терминальных спиннеров. Пригодится, когда в CLI нужен индикатор загрузки без лишних зависимостей. CX Codex +1 497установок cass Dicklesworthstone Скилл учит агента искать по локальной истории кодинг-агентов через CLI cass: находит старые сессии, показывает нужную строку и отдаёт фрагмент в JSON. CX Codex +1 3 300установок terminal-screenshot daymade Рендерит вывод консольных команд с ANSI-цветами в PNG-изображение. Это нужно, чтобы агент мог визуально оценить контрастность тем и подсветку синтаксиса в терминале. CX Codex +1 433установок

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

expo-react-native-performance Набор из 42 правил оптимизации приложений на Expo и React Native. Помогает настроить запуск, списки на FlashList, анимации и рендеринг без ручного поиска узких мест. CX Codex +1 1 500установок framer-motion Скилл оптимизирует анимации Framer Motion в React: предотвращает лишние ререндеры, уменьшает размер бандла и настраивает переходы жестов или скролла. CX Codex +1 1 100установок msw Скилл с 45 правилами по MSW v2: настройка, хендлеры, интеграция с тестами, GraphQL. Пригодится, когда агент пишет или правит моки HTTP-запросов. CX Codex +1 842установок clean-code Скилл для ревью и рефакторинга: 48 правил из книги Роберта Мартина с современными поправками. Пригодится, когда агент пишет или разбирает код. CX Codex +1 842установок typescript-refactor Скилл с 47 правилами по рефакторингу TypeScript и React/TSX: типы, сужение, дженерики, современные фичи TS 6.0 и React 19. CX Codex +1 788установок react-refactor Скилл с 40 правилами архитектурного рефакторинга React-проектов. Помогает декомпозировать крупные компоненты, выносить хуки и наводить порядок в модулях. CX Codex +1 776установок shadcn Скилл с 58 правилами для shadcn/ui: подсказывает агенту, как правильно ставить компоненты, писать формы и не ломать доступность. CX Codex +1 724установок chrome-extension-ui Набор правил по интерфейсу расширений Chrome: где ставить popup, где side panel, как сделать доступную навигацию и понятные состояния загрузки. CX Codex +1 719установок

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

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