ratatui-tui — Claude Code skill: build Rust TUIs
Walks your agent through building terminal UIs with ratatui: project templates, widgets, layout, async events. Useful when the app lives in a terminal.
npx skills add blacktop/dotfiles --skill ratatui-tui -a claude-codeWhat ratatui-tui does
This skill covers ratatui 0.30.x and the way apps are put together in that line. It ships project templates at four levels: hello-world for a first look, simple-app for single-screen tools, async-app when you need background tasks or network calls, and component-app for multiple views with config and logging. You either copy a template into your project or generate one with cargo generate ratatui/templates.
The pattern it pushes is Elm Architecture: model, message, update, view. You get StatefulWidget examples for lists and tables, layout split with Layout::vertical and Layout::horizontal, and the built-in state types such as ListState and TableState. Async input runs through crossterm's EventStream combined with tokio::select!. Image support goes through ratatui-image 11.x, loading animation through tui-shimmer.
Upgrading from 0.29 is where things bite. block::Title is gone, layout::Alignment became HorizontalAlignment, and Flex::SpaceAround now follows flexbox semantics. Turning off ratatui's default-features also drops layout-cache, and layout performance falls off a cliff unless you re-enable it by hand. Worth checking your Cargo.toml before a release. Building needs Rust 1.88 as MSRV and edition 2024.
What it helps with
- scaffold a new ratatui TUI from a template
- add a scrollable list or table with selection state
- split the screen into regions with Layout
- handle keyboard and background events in one loop
- fix layout after moving from 0.29 to 0.30
Example prompts for the agent
- Create a new ratatui TUI from the simple-app template
- Add a scrollable table using TableState
- Rewrite the event loop with EventStream and tokio::select!
How to install ratatui-tui
1Skills CLI (Vercel)
npx skills add blacktop/dotfiles --skill ratatui-tui -a claude-code2Manually: put the files in place
~/.claude/skills/ratatui-tui/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/ratatui-tui/
1Skills CLI (Vercel)
npx skills add blacktop/dotfiles --skill ratatui-tui -a codex2Manually: put the files in place
.agents/skills/ratatui-tui/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add blacktop/dotfiles --skill ratatui-tui -a cursor2Manually: put the files in place
.cursor/skills/ratatui-tui/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install blacktop/dotfiles ratatui-tui2Manually: put the files in place
.github/skills/ratatui-tui/SKILL.md1Skills CLI (Vercel)
npx skills add blacktop/dotfiles --skill ratatui-tui -a gemini-cli2Platform CLI
gemini skills install https://github.com/blacktop/dotfiles --path ai/skills/ratatui-tuiManually: put the files in place
.devin/skills/ratatui-tui/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add blacktop/dotfiles --skill ratatui-tui -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about ratatui-tui
How do I install ratatui-tui in Claude?
Run npx skills add blacktop/dotfiles --skill ratatui-tui -a claude-code. The skill lands at ~/.claude/skills/ratatui-tui/SKILL.md.
What does ratatui-tui do?
It gives your agent instructions for building terminal UIs on ratatui 0.30.x: templates, widgets, layout, async events, images and loading animation.
Which ratatui version does it target?
0.30.x, with Rust 1.88 as MSRV and edition 2024. For the current patch release the skill suggests running cargo info ratatui.