TUI-презентация прямо в Claude Code
Нужна была презентация про Claude Code. Для демонстрации Claude Code. По-моему, показывать слайды в PowerPoint — это как рассказывать про терминал в Word.
Проблема
Есть TUI-инструменты: presenterm, tui-slides, present. Ковырялся с presenterm минут сорок — конфиги, темы, отдельные markdown-файлы. А мне нужно было написать /presentation и поехать.
Claude Code умеет скиллы — папки с инструкциями, которые подгружаются по команде. Почему бы не сделать презентацию скиллом?
Решение
Написал Claude Code на Opus 4.5:
Агент создал SKILL.md со всеми слайдами, ASCII-арт заголовками и командами навигации в системном промпте. Заняло минуты три.
Первая версия выглядела красиво в редакторе. В терминале — поехала.
Unicode и его проблемы
Символы █, ╔, ║ имеют переменную ширину в разных шрифтах. Что ровно в VS Code — криво в iTerm. А в стандартном Terminal.app вообще каша.
Попробовал рамку из +---+. Рамка держится, ASCII-арт внутри плывёт. Потратил ещё полчаса на варианты — figlet-style, box-drawing, центрирование. Ничего стабильного.
Финальное решение
Получилось:
███████╗██╗ ██╗██╗██╗ ██╗ ███████╗
██╔════╝██║ ██╔╝██║██║ ██║ ██╔════╝
███████╗█████╔╝ ██║██║ ██║ ███████╗
╚════██║██╔═██╗ ██║██║ ██║ ╚════██║
███████║██║ ██╗██║███████╗███████╗███████║
╚══════╝╚═╝ ╚═╝╚═╝╚══════╝╚══════╝╚══════╝
Переиспользуемые промпты
.claude/skills/commit/SKILL.md
1. Посмотри git diff
2. Сгенерируй сообщение коммита
3. Сделай git commit
Вызов: /commit
Левое выравнивание работает везде. Рамки не нужны — Claude Code сам добавляет рамку вокруг code-блока.
Результат
Пишу /presentation — появляется меню. Ввожу номер — вижу слайд. Никаких переключений между окнами, никаких внешних инструментов.
10 слайдов в одном терминале: от контекстного окна до субагентов.
Бонус: презентация — часть репозитория. Клонирует кто-то проект — получает и её.
Источники
- presenterm — TUI markdown slideshow tool
- Terminal-Based Presentations — ITNEXT
- Extend Claude with skills — Claude Code Docs
- awesome-claude-skills — GitHub
Подписаться на обновления — @sereja_tech