Create distinctive, production-grade terminal user interfaces with high design quality. Use this skill when building CLI tools, TUI applications, or terminal-based interfaces. Generate creative, polished code that avoids generic terminal aesthetics.
Design Thinking
Before coding, understand the context and commit to a BOLD aesthetic direction:
1- Purpose: What problem does this interface solve? Who uses it? What's the workflow?
2- Tone: Pick an extreme: hacker/cyberpunk, retro-computing (80s/90s), minimalist zen, maximalist dashboard, synthwave neon, monochrome brutalist, corporate mainframe, playful/whimsical, matrix-style, steampunk terminal, vaporwave, military/tactical, art deco, paper-tape nostalgic
3- Constraints: Technical requirements (Python Rich, Go bubbletea, Rust ratatui, Node.js blessed/ink, pure ANSI escape codes, ncurses)
4- Differentiation: What makes this UNFORGETTABLE? What's the one thing someone will remember about this terminal experience?
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.
Box Drawing & Borders
Choose border styles that match your aesthetic:
- Single line: ┌─┐│└┘ — Clean, modern
- Double line: ╔═╗║╚╝ — Bold, formal, retro-mainframe
- Rounded: ╭─╮│╰╯ — Soft, friendly, modern
- Heavy: ┏━┓┃┗┛ — Strong, industrial
- Dashed/Dotted: ┄┆ — Light, airy, informal
- ASCII only: +-+| — Retro, universal compatibility
- Block characters: █▀▄▌▐ — Chunky, bold, brutalist
- Custom Unicode: Mix symbols like ◢◣◤◥, ●○◐◑, ▲▼◀▶ for unique frames
Avoid defaulting to simple single-line boxes. Consider asymmetric borders, double-thick headers, or decorative corners like ◆, ◈, ✦, ⬡.
Color & Theme
Commit to a cohesive palette. Terminal color strategies:
- ANSI 16: Classic, universal. Craft distinctive combinations beyond default red/green/blue
- 256-color: Rich palettes. Use color gradients, subtle background variations
- True color (24-bit): Full spectrum. Gradient text, smooth color transitions
- Monochrome: Single color with intensity variations (dim, normal, bold, reverse). Elegant constraint
Create atmosphere with:
- Background color blocks for sections
- Gradient fills using block characters ░▒▓█
- Color-coded semantic meaning (but avoid cliché red=bad, green=good)
- Inverted/reverse video for emphasis
- Dim text for secondary information, bold for primary
Palette examples (invent your own):
- Cyberpunk: Hot pink #ff00ff, electric cyan #00ffff, deep purple #1a0a2e background
- Amber terminal: #ffb000 on black, like vintage CRTs
- Nord-inspired: Cool blues and muted greens on dark blue-gray
- Hot Dog Stand: Intentionally garish yellow/red (for playful/ironic UIs)
Typography & Text Styling
The terminal is ALL typography. Make it count:
- ASCII art headers: Use figlet-style banners, custom letterforms, or Unicode art
- Text weight: Bold, dim, normal — create visual hierarchy
- Text decoration: Underline, strikethrough, italic (where supported)
- Letter spacing: Simulate with spaces for headers: H E A D E R
- Case: ALL CAPS for headers, lowercase for body, mixed for emphasis
- Unicode symbols: Enrich text with → • ◆ ★ ⚡ λ ∴ ≡ ⌘
- Custom bullets: Replace - with ▸ ◉ ✓ ⬢ › or themed symbols
ASCII Art Styles:
Block: ███████╗██╗██╗ ███████╗
Slant: /___ / / // / / ____/
Small: ╔═╗┌─┐┌─┐
Minimal: [ HEADER ]
Layout & Spatial Composition
Break free from single-column output:
- Panels & Windows: Create distinct regions with borders
- Columns: Side-by-side information using careful spacing
- Tables: Align data meaningfully, use Unicode table characters
- Whitespace: Generous padding inside panels, breathing room between sections
- Density: Match to purpose — dashboards can be dense, wizards should be sparse
- Hierarchy: Clear visual distinction between primary content, secondary info, and chrome
- Asymmetry: Off-center titles, weighted layouts, unexpected alignments
Motion & Animation
Terminals support dynamic content:
- Spinners: Beyond basic |/-. Use Braille patterns ⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏, dots ⣾⣽⣻⢿⡿⣟⣯⣷, custom sequences
- Progress bars: ▓░, █▒, [=====> ], or creative alternatives like ◐◓◑◒
- Typing effects: Reveal text character-by-character for drama
- Transitions: Wipe effects, fade in/out with color intensity
- Live updates: Streaming data, real-time charts
Data Display
- Sparklines: ▁▂▃▄▅▆▇█ for inline mini-charts
- Bar charts: Horizontal bars with block characters
- Tables: Smart column sizing, alternating row colors, aligned numbers
- Trees: ├── └── │ for hierarchies
- Status indicators: ● green, ○ empty, ◐ partial, ✓ complete, ✗ failed
- Gauges: [████████░░] with percentage
Decorative Elements
- Add character without clutter:
- Dividers: ───── ═════ •••••• ░░░░░░ ≋≋≋≋≋≋
- Section markers: ▶ SECTION, [ SECTION ], ─── SECTION ───, ◆ SECTION
- Background textures: Patterns using light characters like · ∙ ░
- Icons: Nerd Font icons if available:
Anti-Patterns to Avoid
NEVER use generic terminal aesthetics like:
- Plain unformatted text output
- Default colors without intentional palette
- Basic [INFO], [ERROR] prefixes without styling
- Simple ---- dividers
- Walls of unstructured text
- Generic progress bars without personality
- Boring help text formatting
- Inconsistent spacing and alignment
Library Quick Reference
Python: Rich, Textual Go: Bubbletea, Lipgloss
Rust: Ratatui Node.js: Ink, Blessed
ANSI Escape Codes:
\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.
1---2name: terminal-ui-designer3description: Create distinctive, production-grade terminal user interfaces with high design quality. Use this skill when the user asks to build CLI tools, TUI applications, or terminal-based interfaces. Generates creative, polished code that avoids generic terminal aesthetics.4---56Create distinctive, production-grade terminal user interfaces with high design quality. Use this skill when building CLI tools, TUI applications, or terminal-based interfaces. Generate creative, polished code that avoids generic terminal aesthetics.78## Design Thinking910Before coding, understand the context and commit to a BOLD aesthetic direction:11121- Purpose: What problem does this interface solve? Who uses it? What's the workflow?132- Tone: Pick an extreme: hacker/cyberpunk, retro-computing (80s/90s), minimalist zen, maximalist dashboard, synthwave neon, monochrome brutalist, corporate mainframe, playful/whimsical, matrix-style, steampunk terminal, vaporwave, military/tactical, art deco, paper-tape nostalgic143- Constraints: Technical requirements (Python Rich, Go bubbletea, Rust ratatui, Node.js blessed/ink, pure ANSI escape codes, ncurses)154- Differentiation: What makes this UNFORGETTABLE? What's the one thing someone will remember about this terminal experience?1617Choose 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.1819## Box Drawing & Borders2021Choose border styles that match your aesthetic:2223- Single line: ┌─┐│└┘ — Clean, modern24- Double line: ╔═╗║╚╝ — Bold, formal, retro-mainframe25- Rounded: ╭─╮│╰╯ — Soft, friendly, modern26- Heavy: ┏━┓┃┗┛ — Strong, industrial27- Dashed/Dotted: ┄┆ — Light, airy, informal28- ASCII only: +-+| — Retro, universal compatibility29- Block characters: █▀▄▌▐ — Chunky, bold, brutalist30- Custom Unicode: Mix symbols like ◢◣◤◥, ●○◐◑, ▲▼◀▶ for unique frames3132Avoid defaulting to simple single-line boxes. Consider asymmetric borders, double-thick headers, or decorative corners like ◆, ◈, ✦, ⬡.3334## Color & Theme3536Commit to a cohesive palette. Terminal color strategies:3738- ANSI 16: Classic, universal. Craft distinctive combinations beyond default red/green/blue39- 256-color: Rich palettes. Use color gradients, subtle background variations40- True color (24-bit): Full spectrum. Gradient text, smooth color transitions41- Monochrome: Single color with intensity variations (dim, normal, bold, reverse). Elegant constraint4243Create atmosphere with:44- Background color blocks for sections45- Gradient fills using block characters ░▒▓█46- Color-coded semantic meaning (but avoid cliché red=bad, green=good)47- Inverted/reverse video for emphasis48- Dim text for secondary information, bold for primary4950Palette examples (invent your own):51- Cyberpunk: Hot pink #ff00ff, electric cyan #00ffff, deep purple #1a0a2e background52- Amber terminal: #ffb000 on black, like vintage CRTs53- Nord-inspired: Cool blues and muted greens on dark blue-gray54- Hot Dog Stand: Intentionally garish yellow/red (for playful/ironic UIs)5556## Typography & Text Styling5758The terminal is ALL typography. Make it count:59- ASCII art headers: Use figlet-style banners, custom letterforms, or Unicode art60- Text weight: Bold, dim, normal — create visual hierarchy61- Text decoration: Underline, strikethrough, italic (where supported)62- Letter spacing: Simulate with spaces for headers: H E A D E R63- Case: ALL CAPS for headers, lowercase for body, mixed for emphasis64- Unicode symbols: Enrich text with → • ◆ ★ ⚡ λ ∴ ≡ ⌘65- Custom bullets: Replace - with ▸ ◉ ✓ ⬢ › or themed symbols6667ASCII Art Styles:68Block: ███████╗██╗██╗ ███████╗69Slant: /___ / / // / / ____/70Small: ╔═╗┌─┐┌─┐71Minimal: [ HEADER ]7273## Layout & Spatial Composition7475Break free from single-column output:76- Panels & Windows: Create distinct regions with borders77- Columns: Side-by-side information using careful spacing78- Tables: Align data meaningfully, use Unicode table characters79- Whitespace: Generous padding inside panels, breathing room between sections80- Density: Match to purpose — dashboards can be dense, wizards should be sparse81- Hierarchy: Clear visual distinction between primary content, secondary info, and chrome82- Asymmetry: Off-center titles, weighted layouts, unexpected alignments8384## Motion & Animation8586Terminals support dynamic content:87- Spinners: Beyond basic |/-. Use Braille patterns ⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏, dots ⣾⣽⣻⢿⡿⣟⣯⣷, custom sequences88- Progress bars: ▓░, █▒, [=====> ], or creative alternatives like ◐◓◑◒89- Typing effects: Reveal text character-by-character for drama90- Transitions: Wipe effects, fade in/out with color intensity91- Live updates: Streaming data, real-time charts9293## Data Display94- Sparklines: ▁▂▃▄▅▆▇█ for inline mini-charts95- Bar charts: Horizontal bars with block characters96- Tables: Smart column sizing, alternating row colors, aligned numbers97- Trees: ├── └── │ for hierarchies98- Status indicators: ● green, ○ empty, ◐ partial, ✓ complete, ✗ failed99- Gauges: [████████░░] with percentage100101## Decorative Elements102103- Add character without clutter:104- Dividers: ───── ═════ •••••• ░░░░░░ ≋≋≋≋≋≋105- Section markers: ▶ SECTION, [ SECTION ], ─── SECTION ───, ◆ SECTION106- Background textures: Patterns using light characters like · ∙ ░107- Icons: Nerd Font icons if available: 108109## Anti-Patterns to Avoid110111NEVER use generic terminal aesthetics like:112113- Plain unformatted text output114- Default colors without intentional palette115- Basic [INFO], [ERROR] prefixes without styling116- Simple ---- dividers117- Walls of unstructured text118- Generic progress bars without personality119- Boring help text formatting120- Inconsistent spacing and alignment121122Library Quick Reference123Python: Rich, Textual Go: Bubbletea, Lipgloss124 Rust: Ratatui Node.js: Ink, Blessed125126ANSI Escape Codes:127\x1b[1m Bold128\x1b[3m Italic129\x1b[4m Underline130\x1b[31m Red foreground131\x1b[38;2;R;G;Bm True color132\x1b[2J Clear screen133134The terminal is a canvas with unique constraints and possibilities. Don't just print text—craft an experience.135136Match 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.