スキル一覧に戻る
ingpoc

terminal-ui-design

by ingpoc

5🍴 0📅 2026年1月2日
GitHubで見るManusで実行

SKILL.md


name: terminal-ui-design description: Use when creating CLI tools, terminal user interfaces (TUI), or any command-line applications. Load for terminal UI design, ASCII art, color schemes, box drawing characters, and polished terminal output. Also use for refactoring boring CLIs into distinctive experiences. keywords: terminal, cli, tui, ascii, ansi, console, command-line, rich, textual, bubbletea

Terminal UI Design

Create distinctive, production-grade terminal interfaces with intentional aesthetics. Don't just print text—craft an experience.

Quick Start

Before coding, choose a bold aesthetic direction:

StyleVibeColorsBorders
CyberpunkNeon, futuristicHot pink #ff00ff, cyan #00ffff, purple #1a0a2eBlock █▀▄
Amber TerminalVintage CRT#ffb000 on blackDouble ╔═╗
Minimalist ZenClean, focusedNord palette, cool bluesRounded ╭─╮
Retro MainframeCorporate, formalGreen on blackASCII-only +-+
Synthwave80s nostalgiaPurple, pink gradientsHeavy ┏━┓
Monochrome BrutalistStark, boldSingle color + intensityHeavy ┏━┓

Pick ONE direction and execute it with precision.

Design Thinking Checklist

QuestionDecision Point
PurposeWhat problem? Who uses it? What workflow?
TonePick extreme: cyberpunk, zen, retro, maximalist, playful
ConstraintsPython Rich, Go bubbletea, Rust ratatui, ANSI codes?
DifferentiationWhat makes this UNFORGETTABLE?

Box Drawing & Borders

Choose borders that match your aesthetic:

Single:     ┌─────┐ │   └─────┘  Clean, modern
Double:     ╔═════╗ ║   ╚═════╝  Bold, formal, retro
Rounded:    ╭─────╮ │   ╰─────╯  Soft, friendly
Heavy:      ┏─────┓ ┃   ┗─────┛  Strong, industrial
Dashed:     ┄┄┄┄┄┄ ┆              Light, airy
ASCII:      +-----+ |   +-----+  Retro, universal
Block:      █▀▀▀▀█ ▄   ▀▀▀▀▀    Chunky, brutalist

Pro tip: Use decorative corners: ◆ ◈ ✦ ⬡ ◢◣◤◥

Color Strategies

StrategyWhen to UseTechnique
ANSI 16Universal compatibilityClassic palette, craft unique combos
256-colorRich but portableGradients, subtle variations
True colorModern terminalsFull spectrum, smooth transitions
MonochromeElegant constraintSingle color, vary intensity

Create atmosphere:

  • Background color blocks for sections
  • Gradient fills: ░▒▓█
  • Semantic color (avoid cliché red=bad, green=good)
  • Reverse video for emphasis
  • Dim for secondary, bold for primary

Typography

The terminal is ALL typography:

TechniqueEffectExample
ASCII art headersDramatic introfiglet style banners
Text weightHierarchyBold, dim, normal
DecorationEmphasisUnderline, italic, strikethrough
Letter spacingHeadersH E A D E R
CaseVoiceALL CAPS headers, lowercase body
Unicode symbolsRichness→ • ◆ ★ ⚡ λ ∴ ≡ ⌘ ✓ ✗
Custom bulletsPersonality▸ ◉ ✓ ⬢ › instead of -
Block:    ███████╗██╗██╗     ███████╗
Slant:    /___  / / // /     / ____/
Small:    ╔═╗┌─┐┌─┐
Minimal:  [ HEADER ]

Layout & Spatial Composition

Break free from single-column output:

ElementUsage
Panels & WindowsDistinct regions with borders
ColumnsSide-by-side information
TablesAligned data, Unicode table chars
WhitespaceGenerous padding, breathing room
DensityMatch purpose—dense dashboards, sparse wizards
HierarchyVisual distinction: primary, secondary, chrome
AsymmetryOff-center titles, weighted layouts

Motion & Animation

ElementExamples
Spinners⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏, ⣾⣽⣻⢿⡿⣟⣯⣷
Progress bars▓░, █▒, [=====> ], ◐◓◑◒
Typing effectsCharacter-by-character reveal
TransitionsWipe effects, fade with color intensity
Live updatesStreaming data, real-time charts

Data Display

TypeTechnique
Sparklines▁▂▃▄▅▆▇█ inline mini-charts
Bar chartsHorizontal bars with block chars
TablesSmart sizing, alternating rows, aligned nums
Trees├── └── │ hierarchies
Status● green, ○ empty, ◐ partial, ✓ complete
Gauges[████████░░] with percentage

Decorative Elements

Dividers:   ───── ═════ •••••• ░░░░░░ ≋≋≋≋≋≋
Sections:   ▶ SECTION, [ SECTION ], ─── SECTION ───, ◆ SECTION
Textures:   · ∙ ░ patterns for backgrounds
Icons:       (if Nerd Fonts available)

Anti-Patterns to Avoid

❌ Avoid✅ Instead
Plain unformatted textStyled output with intent
Default colorsCohesive palette
Generic [INFO] prefixesStyled prefixes with icons
Simple ---- dividersUnicode dividers ───── ═════
Walls of textStructured panels and sections
Generic progressCreative spinners and bars
Boring helpFormatted, aligned help text
Inconsistent spacingPrecise alignment

Library Quick Reference

LanguageLibraries
PythonRich, Textual, curses, prompt_toolkit
GoBubbletea, Lipgloss
RustRatatui
Node.jsInk, Blessed, cliui
PureANSI escape codes

ANSI Escape Codes

\x1b[1m       Bold
\x1b[3m       Italic
\x1b[4m       Underline
\x1b[31m      Red foreground
\x1b[38;2;R;G;Bm  True color (RGB)
\x1b[2J       Clear screen
\x1b[H        Cursor home

Implementation Pattern

  1. Choose aesthetic first (cyberpunk, zen, retro, etc.)
  2. Define palette (2-3 colors + background)
  3. Select border style (single, double, rounded, block)
  4. Create reusable components (panel, table, status)
  5. Apply consistently across all output

Resources

FileWhen to Load
references/box-drawing.mdNeed border character reference
references/ansi-codes.mdNeed escape code reference
references/color-palettes.mdNeed pre-defined palettes

Exit Criteria (Code Verified)

  • Output has intentional aesthetic (not generic)
  • Cohesive color palette used throughout
  • Borders and typography match chosen style
  • No plain text without formatting
  • Anti-patterns avoided

スコア

総合スコア

50/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です