.claude/skills/tui-design/SKILL.md
Create distinctive, production-grade terminal user interfaces. Use when building TUI components with ratatui, CLI output styling, or xterm.js terminal rendering. Triggers: 'design TUI', 'terminal UI', 'TUIデザイン', 'ターミナルUI', 'ratatui widget'
npx skillsauth add akiojin/gwt tui-designInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Create distinctive, production-grade terminal user interfaces with high design quality. Use this skill when building TUI components, CLI tools, or terminal-based interfaces. Generate creative, polished code that avoids generic terminal aesthetics.
frontend-design skill insteadBefore coding, understand the context and commit to a BOLD aesthetic direction:
Choose a clear conceptual direction and execute it with precision. A dense information dashboard and a zen single-focus interface both work — the key is intentionality, not intensity.
Choose border styles that match your aesthetic:
┌─┐│└┘ — Clean, modern╔═╗║╚╝ — Bold, formal, retro-mainframe╭─╮│╰╯ — Soft, friendly, modern┏━┓┃┗┛ — Strong, industrial┄┆ — Light, airy, informal+-+| — Retro, universal compatibility█▀▄▌▐ — Chunky, bold, brutalist◢◣◤◥, ●○◐◑, ▲▼◀▶ for unique framesAvoid defaulting to simple single-line boxes. Consider asymmetric borders, double-thick headers, or decorative corners like ◆, ◈, ✦, ⬡.
Commit to a cohesive palette. Terminal color strategies:
Create atmosphere with:
░▒▓█Palette examples (invent your own):
#ff00ff, electric cyan #00ffff, deep purple #1a0a2e background#ffb000 on black, like vintage CRTsThe terminal is ALL typography. Make it count:
H E A D E R→ • ◆ ★ ⚡ λ ∴ ≡ ⌘- with ▸ ◉ ✓ ⬢ › or themed symbolsASCII Art Styles:
Block: ███████╗██╗██╗ ███████╗
Slant: /___ / / // / / ____/
Small: ╔═╗┌─┐┌─┐
Minimal: [ HEADER ]
Break free from single-column output:
Terminals support dynamic content:
|/-\. Use Braille patterns ⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏, dots ⣾⣽⣻⢿⡿⣟⣯⣷, custom sequences▓░, █▒, [=====> ], or creative alternatives like ◐◓◑◒▁▂▃▄▅▆▇█ for inline mini-charts├── └── │ for hierarchies● green, ○ empty, ◐ partial, ✓ complete, ✗ failed[████████░░] with percentageAdd character without clutter:
───── ═════ •••••• ░░░░░░ ≋≋≋≋≋≋▶ SECTION, [ SECTION ], ─── SECTION ───, ◆ SECTION· ∙ ░NEVER use generic terminal aesthetics like:
[INFO], [ERROR] prefixes without styling---- dividers| Framework | Language | Notes | |-----------|----------|-------| | ratatui | Rust | gwt terminal rendering | | xterm.js v6 | TypeScript | gwt GUI terminal emulation (WebView) | | Rich, Textual | Python | General purpose | | Bubbletea, Lipgloss | Go | General purpose | | Ink, Blessed | Node.js | General purpose |
\x1b[1m Bold
\x1b[3m Italic
\x1b[4m Underline
\x1b[31m Red foreground
\x1b[38;2;R;G;Bm True color
\x1b[2J Clear screen
The terminal is a canvas with unique constraints and possibilities. Don't just print text — craft an experience.
Match implementation complexity to the aesthetic vision. A dense monitoring dashboard needs elaborate panels and live updates. A minimal CLI needs restraint, precision, and perfect alignment. Elegance comes from executing the vision well.
tools
Create distinctive, production-grade terminal user interfaces. Use when building TUI components with ratatui, CLI output styling, or xterm.js terminal rendering. Triggers: 'design TUI', 'terminal UI', 'TUIデザイン', 'ターミナルUI', 'ratatui widget'
testing
Semantic search over SPEC Issues (GitHub Issue cache at ~/.gwt/cache/issues/) using vector embeddings. Use when searching for existing specs, finding related specs, checking for duplicate specs, or determining which spec owns a scope. Mandatory preflight before gwt-discussion when the work may need a SPEC owner. Use when user says 'search specs', 'find related specs', 'check for duplicate specs', or asks which spec owns a scope.
testing
Mandatory preflight before gwt-discussion, gwt-register-issue, and gwt-fix-issue. Use proactively before creating any SPEC or Issue owner or before reusing an existing one. Searches SPEC Issues, GitHub Issues, and project files via ChromaDB. Triggers: 'search', 'find related', 'check duplicates'.
business
Use when the user wants to register new work from a bug report, idea, or task description and an existing GitHub Issue number is not already known.