Color Audit
rome-os/rome
Audit a design system's color palette against measurable color-science disciplines — WCAG/APCA contrast of declared token pairs, perceptual (OKLCH) ramp uniformity, color-blindness safety of…
This skill should be used when designing terminal user interfaces, creating TUI layouts, choosing TUI color schemes, implementing keyboard navigation, building terminal dashboards, or working with…
$ npx skills add pass-agent/loomkin --skill tui-design -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install pass-agent/loomkin tui-design --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/pass-agent/loomkin.git skills-src && mkdir -p .claude/skills && cp -r skills-src/apps/cli/.agents/skills/tui-design .claude/skills/tui-design && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "tui-design" agent skill from https://github.com/pass-agent/loomkin/tree/main/apps/cli/.agents/skills/tui-design into .claude/skills/tui-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tui-design", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/pass-agent/loomkin/tree/main/apps/cli/.agents/skills/tui-designType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add pass-agent/loomkin --skill tui-design -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install pass-agent/loomkin tui-design --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pass-agent/loomkin.git skills-src && mkdir -p .agents/skills && cp -r skills-src/apps/cli/.agents/skills/tui-design .agents/skills/tui-design && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tui-design" agent skill from https://github.com/pass-agent/loomkin/tree/main/apps/cli/.agents/skills/tui-design into .agents/skills/tui-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tui-design", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pass-agent/loomkin --skill tui-design -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install pass-agent/loomkin tui-design --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pass-agent/loomkin.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/apps/cli/.agents/skills/tui-design .cursor/skills/tui-design && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "tui-design" agent skill from https://github.com/pass-agent/loomkin/tree/main/apps/cli/.agents/skills/tui-design into .cursor/skills/tui-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tui-design", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/pass-agent/loomkin.git --path apps/cli/.agents/skills/tui-design--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add pass-agent/loomkin --skill tui-design -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install pass-agent/loomkin tui-design --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pass-agent/loomkin.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/apps/cli/.agents/skills/tui-design .gemini/skills/tui-design && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "tui-design" agent skill from https://github.com/pass-agent/loomkin/tree/main/apps/cli/.agents/skills/tui-design into .gemini/skills/tui-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tui-design", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install pass-agent/loomkin tui-designInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add pass-agent/loomkin --skill tui-design -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/pass-agent/loomkin.git skills-src && mkdir -p .github/skills && cp -r skills-src/apps/cli/.agents/skills/tui-design .github/skills/tui-design && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "tui-design" agent skill from https://github.com/pass-agent/loomkin/tree/main/apps/cli/.agents/skills/tui-design into .github/skills/tui-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tui-design", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add pass-agent/loomkin --skill tui-design -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install pass-agent/loomkin tui-design --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/pass-agent/loomkin.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/apps/cli/.agents/skills/tui-design .opencode/skills/tui-design && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "tui-design" agent skill from https://github.com/pass-agent/loomkin/tree/main/apps/cli/.agents/skills/tui-design into .opencode/skills/tui-design/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tui-design", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
tui-designThis skill should be used when designing terminal user interfaces, creating TUI layouts, choosing TUI color schemes, implementing keyboard navigation, building terminal dashboards, or working with…
Tui Design is an agent skill from pass-agent/loomkin. This skill should be used when designing terminal user interfaces, creating TUI layouts, choosing TUI color schemes, implementing keyboard navigation, building terminal dashboards, or working with any TUI framework. Activates on mentions of TUI design, terminal UI, Ratatui layout, Ink components, Textual widgets, Bubbletea views, terminal color palette, keybinding design, panel layout, split panes, terminal dashboard, box-drawing characters, sparklines, progress bars, modal dialogs, focus management, or terminal…
Its SKILL.md is about 5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/app-patterns.md` and `references/visual-catalog.md`).
It sits in Frontend & Design, covering Accessibility and Theming and dark mode. The repository describes itself as: What if AI agents could form teams as fluidly as humans? Spawn specialists in milliseconds, share discoveries in real-time, review each other's work, and remember everything… The licence is MIT.
9 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f769ae7. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are dot).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Tui Design loads about 5k tokens when it runs, and up to ~10k if it reads all its reference files. Until then it costs about 136 tokens; SKILL.md has 2,058 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from pass-agent/loomkin at commit f769ae7, republished under its MIT licence (© pass-agent). 2,058 words, ~4,998 tokens.
.claude/skills/tui-design/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Universal design patterns for building exceptional terminal user interfaces. Framework-agnostic — works with Ratatui, Ink, Textual, Bubbletea, or any TUI toolkit.
Core philosophy: TUIs earn their power through spatial consistency, keyboard fluency, and information density that respects human attention. Design for the expert's speed without abandoning the beginner's discoverability.
digraph tui_design {
rankdir=TB;
"What are you building?" [shape=diamond];
"Select layout paradigm" [shape=box];
"Design interaction model" [shape=box];
"Define visual system" [shape=box];
"Validate against anti-patterns" [shape=box];
"Ship it" [shape=doublecircle];
"What are you building?" -> "Select layout paradigm";
"Select layout paradigm" -> "Design interaction model";
"Design interaction model" -> "Define visual system";
"Define visual system" -> "Validate against anti-patterns";
"Validate against anti-patterns" -> "Ship it";
}Choose your primary layout based on what you're building:
| App Type | Paradigm | Examples |
|---|---|---|
| File manager | Miller Columns | yazi, ranger |
| Git / DevOps tool | Persistent Multi-Panel | lazygit, lazydocker |
| System monitor | Widget Dashboard | btop, bottom, oxker |
| Data browser / K8s | Drill-Down Stack | k9s, diskonaut |
| SQL / HTTP client | IDE Three-Panel | harlequin, posting |
| Shell augmentation | Overlay / Popup | atuin, fzf |
| Log / event viewer | Header + Scrollable List | htop, tig |
All panels visible simultaneously. Focus shifts between them. Users build spatial memory — "branches are always top-left."
┌─ Status ──┬─────────── Detail ──────────┐
├─ Files ───┤ │
│ > file.rs │ diff content here... │
│ main.rs │ │
├─ Branches ┤ │
│ * main │ │
│ feat/x │ │
├─ Commits ─┤ │
│ abc1234 │ │
└───────────┴──────────────────────────────┘
[q]uit [c]ommit [p]ush [?]helpWhen to use: Multi-faceted tools where users need simultaneous context (git clients, container managers, monitoring). Key rule: Panels maintain fixed positions across sessions. Never rearrange without user action.
Three-pane past/present/future navigation. Parent directory (left), current (center), preview (right).
┌── Parent ──┬── Current ──┬── Preview ────────┐
│ .. │ > config/ │ port: 8080 │
│ src/ │ lib/ │ host: localhost │
│ > config/ │ main.rs │ log_level: debug │
│ tests/ │ mod.rs │ db_url: postgres://│
└────────────┴─────────────┴───────────────────┘When to use: Hierarchical data navigation (file systems, tree structures, nested configs). Key rule: Preview pane content adapts to selection type — code gets highlighting, images render, directories show contents.
Enter descends, Esc ascends. Browser-like navigation through hierarchical data.
When to use: Deep hierarchies where showing all levels simultaneously is impractical (Kubernetes resources, database schemas).
Key rule: Always show the current navigation path as a breadcrumb. Provide :resource command-mode for direct jumps.
Self-contained widget panels with independent data. All information visible at once, no navigation required.
┌─── CPU ──────────────┬─── Memory ──────────┐
│ ▁▂▃▅▇█▇▅▃▂▁▂▃▅▇ │ ████████░░ 78% │
│ core0: 45% core1: 67%│ 12.4G / 16.0G │
├─── Network ──────────┼─── Disk ────────────┤
│ ▲ 1.2 MB/s ▼ 340KB/s│ /: 67% /home: 45% │
├─── Processes ────────┴─────────────────────┤
│ PID USER CPU% MEM% CMD │
│ 1234 root 23.4 4.5 postgres │
└─────────────────────────────────────────────┘When to use: Monitoring, real-time status, system dashboards. Key rule: Each widget is self-contained with its own title. Use braille/block characters for high-density data.
Sidebar (left), editor/main (center), detail/output (bottom). Tab bar along top.
When to use: Editing-focused tools (SQL clients, HTTP tools, config editors). Key rule: Sidebar toggles with a single key. Center panel supports tabs. Bottom panel can expand to full height.
TUI appears on demand over the shell, disappears after use.
When to use: Shell augmentations (history search, file picker, command palette). Key rule: Configurable height. Return selection to the caller. Never disrupt scrollback.
Fixed header with meters/stats, scrollable data below, function bar at bottom.
When to use: Single-list tools with metadata (process viewers, log viewers, sorted listings). Key rule: The header creates a natural "overview then detail" reading flow. Sort by the most actionable dimension by default.
Terminals resize. Your TUI must handle it gracefully.
| Strategy | When |
|---|---|
| Proportional split | Panels maintain percentage ratios on resize |
| Priority collapse | Less important panels hide first below minimum width |
| Stacking | Panels collapse to title-only bars, active one expands (zellij pattern) |
| Breakpoint modes | Switch layout entirely below a threshold (e.g., multi-panel → single panel) |
| Minimum size gate | Display "terminal too small" if below usable minimum |
Rules:
SIGWINCH gracefully.| App Complexity | Recommended Model |
|---|---|
| Single-purpose, <20 actions | Direct keybinding (every key = action) |
| Multi-view, complex | Vim-style modes + contextual footer |
| IDE-like, many features | Command palette + tabs + vim motions |
| Data browser | Drill-down + fuzzy search + : command mode |
Design keybindings in four progressive layers:
| Layer | Keys | Audience | Always show? |
|---|---|---|---|
| L0: Universal | Arrow keys, Enter, Esc, q | Everyone | Yes (footer) |
| L1: Vim motions | hjkl, /, ?, :, gg, G | Intermediate | Yes (footer) |
| L2: Actions | Single mnemonics: d(elete), c(ommit), p(ush) | Regular users | On ? help |
| L3: Power | Composed commands, macros, custom bindings | Power users | Docs only |
Keybinding conventions (lingua franca):
j/k — move down/uph/l — move left/right (or collapse/expand)/ — search? — help overlay: — command modeq — quit (or Esc to go back one level)Enter — select / confirm / drill inTab — switch focus between panelsSpace — toggle selectiong/G — jump to top/bottomNever bind: Ctrl+C (interrupt), Ctrl+Z (suspend), Ctrl+\ (quit signal). These belong to the terminal.
The universal pattern: press /, type query, results filter live.
n/N — next/previous matchEsc — dismiss search' prefix for exact match| Tier | Trigger | Content | Audience |
|---|---|---|---|
| Always visible | Footer bar | 3-5 essential shortcuts | Everyone |
| On demand | ? key | Full keybinding overlay for current context | Regular users |
| Documentation | --help, man page | Complete reference | Power users |
Footer format: [q]uit [/]search [?]help [Tab]focus [Enter]select
Context-sensitive footers update based on the active panel or mode. Show only what's actionable right now.
| Action Severity | Pattern |
|---|---|
| Reversible | Just do it, show brief confirmation in status bar |
| Moderate (delete file) | Inline "Press y to confirm" |
| Severe (drop database) | Modal dialog requiring resource name input |
| Irreversible batch | --dry-run flag + explicit confirmation |
Design for graceful degradation across all three tiers:
| Tier | Escape Sequence | Colors | Strategy |
|---|---|---|---|
| 16 ANSI | \033[31m | 16 (relative) | Foundation. Terminal theme controls appearance. |
| 256 Color | \033[38;5;{n}m | 256 (16 relative + 240 fixed) | Extended palette. Fixed colors may clash with themes. |
| True Color | \033[38;2;{r};{g};{b}m | 16.7M (absolute) | Full control. Requires COLORTERM=truecolor. |
Detection hierarchy:
$COLORTERM = truecolor or 24bit → true color$TERM contains 256color → 256 colors$NO_COLOR is set → disable all colorGolden rule: Your TUI must be usable in 16-color mode. True color enhances — it never creates the hierarchy.
Define colors by function, not appearance. Map semantics to actual colors through your theme:
| Slot | Purpose | Typical Dark Theme |
|---|---|---|
fg.default | Body text | Off-white (#c0caf5) |
fg.muted | Secondary text, metadata | Gray (#565f89) |
fg.emphasis | Headers, focused items | Bright white (#e0e0e0) |
bg.base | Primary background | Near-black (#1a1b26) |
bg.surface | Panel/widget backgrounds | Slightly lighter (#24283b) |
bg.overlay | Popup/dialog backgrounds | Lighter still (#414868) |
bg.selection | Selected item highlight | Distinct (#364a82) |
accent.primary | Interactive elements, focus | Brand color (#7aa2f7) |
accent.secondary | Supporting interactions | Complementary (#bb9af7) |
status.error | Errors, deletions | Red (#f7768e) |
status.warning | Warnings, caution | Yellow (#e0af68) |
status.success | Success, additions | Green (#9ece6a) |
status.info | Informational | Cyan (#7dcfff) |
Never hardcode hex values in widget code. Always reference semantic slots.
Color is one tool among several. Use them in combination:
| Technique | Effect | Use For |
|---|---|---|
| Bold (SGR 1) | Increases visual weight | Headers, labels, active items |
| Dim (SGR 2) | Decreases visual weight | Metadata, timestamps, secondary info |
| Italic (SGR 3) | Semantic distinction | Comments, types, annotations |
| Underline (SGR 4) | Links, actionable items | Clickable elements, URLs |
| Reverse (SGR 7) | Swaps fg/bg | Selection highlight (always works!) |
| Strikethrough (SGR 9) | Negation | Deleted items, deprecated features |
Hierarchy recipe: 80% of content in fg.default. Headers in bold + fg.emphasis. Metadata in dim + fg.muted. Status in their semantic colors. Accents for interactive elements only.
Create depth without borders by layering background lightness:
bg.base (darkest) → bg.surface → bg.overlay (lightest)Each step ~5-8% lighter in dark themes. The eye perceives depth from the contrast gradient. This reduces the need for box-drawing borders while maintaining clear visual zones.
Follow the Base16 pattern: define 16 named color slots, map them semantically:
Ship a dark theme by default. Detect light/dark terminal via OSC escape query or terminal-light crate. Provide at least one light variant. Respect NO_COLOR.
| Element | Characters | Resolution | Use For |
|---|---|---|---|
| Full blocks | █▉▊▋▌▍▎▏ | 8 steps/cell | Progress bars, bar charts |
| Shade blocks | ░▒▓█ | 4 densities | Heatmaps, density plots |
| Braille | ⠁⠂⠃...⣿ (U+2800-U+28FF) | 2x4 dots/cell | High-res line graphs, scatter plots |
| Sparkline | ▁▂▃▄▅▆▇█ | 8 heights | Inline mini-charts |
| Widget | Pattern | Tips |
|---|---|---|
| Progress bar | [████████░░░░] 67% | Show percentage + ETA. Color gradient green→yellow→red by urgency. |
| Sparkline | ▁▂▃▅▇█▇▅▃▂ | Perfect for inline time-series in headers/status bars. |
| Gauge | CPU [██████████░░] 83% | Label + bar + value. Color by threshold. |
| Table | Sortable columns, zebra stripes | Align numbers right, text left. Truncate with …. |
| Tree | ├── , └── , │ guides | Indent 2-4 chars per level. Expand/collapse with Enter. |
| Diff | Green + lines, red - lines | Word-level highlighting within changed lines elevates quality. |
| Log | Colored level, timestamp, message | TRACE=dim, DEBUG=cyan, INFO=default, WARN=yellow, ERROR=red, FATAL=red+bold. |
| Context | Spinner | Interval |
|---|---|---|
| Default / modern | Braille dots ⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏ | 80ms |
| Minimal | Line -|/ | 130ms |
| Heavy processing | Blocks ▖▘▝▗ | 100ms |
| Fun / branded | Custom frames | 70-100ms |
Use spinners for indeterminate operations. Progress bars for determinate. Show spinners only after 200ms delay to avoid flash on fast operations.
Three layers, all required for smooth TUI rendering:
CSI ? 2026 h ... CSI ? 2026 l for atomic terminal renderwrite() syscall| Situation | Animation | Duration |
|---|---|---|
| View transition | Fade or slide | 100-200ms |
| Selection change | Instant highlight | 0ms (never animate) |
| Data loading | Spinner or skeleton | Until complete |
| Success feedback | Brief flash/checkmark | 1-2 seconds |
| Panel resize | Immediate reflow | 0ms |
| Chart data update | Smooth value transition | 200-500ms |
Rule: Animations must never delay user input. If the user presses a key during a transition, cancel it and respond immediately.
Keyboard-first, mouse-optional — Every feature accessible via keyboard. Mouse enhances but never replaces. Shift+click must bypass mouse capture for text selection.
Spatial consistency — Panels stay in fixed positions. Users build mental maps. Never rearrange without explicit user action. Tabs provide stable landmarks.
Progressive disclosure — Show 5 essential shortcuts in the footer. Full help behind ?. Complete reference in docs. The floor is accessible, the ceiling is unlimited.
Async everything — Never freeze the UI. File operations, network requests, scans all run in the background with progress indication. Cancel with Esc.
Semantic color — Color encodes meaning, not decoration. If you removed all color, the interface should still be usable through layout, typography, and symbols.
Contextual intelligence — Keybindings update per panel. Status bars reflect current state. Help shows what's actionable right now, not everything ever.
Design in layers — Start monochrome (usable?). Add 16 ANSI colors (readable?). Layer true color (beautiful?). Each tier must stand independently.
Validate your design against these ranked pitfalls (ordered by real-world complaint frequency):
| # | Anti-Pattern | Fix |
|---|---|---|
| 1 | Colors break on different terminals | Use 16 ANSI colors as foundation. Test 3+ emulators + light/dark themes. |
| 2 | Flickering / full redraws | Double buffer + synchronized output + batched writes. Overwrite, never clear. |
| 3 | Undiscoverable keybindings | Context-sensitive footer + ? help overlay + Which-Key-style hints. |
| 4 | Broken on Windows / WSL | Test on Windows Terminal. Avoid advanced Unicode beyond box-drawing. |
| 5 | Unicode rendering inconsistency | Stick to box-drawing + block elements. Restrict emoji to Unicode 9.0. |
| 6 | Terminal multiplexer incompatibility | Test inside tmux and zellij. Mouse capture must not break selection. |
| 7 | No accessibility support | Respect NO_COLOR, provide monochrome mode, never color-only meaning. |
| 8 | Blocking UI during operations | Show feedback within 100ms. Use async + spinners + progress bars. |
| 9 | Modal confusion | Always show current mode in status bar. Cursor shape changes per mode. |
| 10 | Over-decorated chrome | Borders and colors serve content, not ego. The content IS the interface. |
Before shipping, verify:
NO_COLOR environment variableShift+click)Ctrl+C / SIGINT (restores terminal state)For Unicode character reference tables and border style gallery, see visual-catalog.md. For real-world TUI app design analysis and inspiration, see app-patterns.md.
© pass-agent, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in apps/cli/.agents/skills/tui-design of pass-agent/loomkin.
Open the folder on GitHubat commit f769ae7
Tui Design next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Tui Design this skillpass-agent/loomkin | 181 | — | ~5k | Automated safety check: Pass | MIT | |
| Color Auditrome-os/rome | 725 | — | ~2.7k | Automated safety check: Pass | MIT | |
| Ant Designkqcoxn/MaaPipelineEditor | 408 | 1 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Better Colorstrycompai/crm | 11k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Data-Dense Dashboard Designerplugin87/ux-ui-agent-skills | 1.5k | — | ~2.6k | Automated safety check: Pass | MIT | |
| Material Design 3 UI/UX Guideskydashnet/material-design-3-ui-skill | 130 | — | ~3k | Automated safety check: Pass | MIT |
rome-os/rome
Audit a design system's color palette against measurable color-science disciplines — WCAG/APCA contrast of declared token pairs, perceptual (OKLCH) ramp uniformity, color-blindness safety of…
kqcoxn/MaaPipelineEditor
Decision guide for antd 6.x, Ant Design Pro 5/ProComponents, Ant Design X v2, and the offline @ant-design/cli.
trycompai/crm
OKLCH color space and color usage for web projects. An agent skill from trycompai/crm.
plugin87/ux-ui-agent-skills
Lays out dense analytics or trading-terminal screens in banded sections with hand-drawn SVG charts, instead of a wall of identical stat cards.
skydashnet/material-design-3-ui-skill
Guides designing, reviewing or implementing interfaces that follow Google's Material Design 3 system: semantic tokens, component states, adaptive layout and accessibility.
AgriciDaniel/claude-blog
Generate dark-mode-compatible inline SVG data visualization charts for blog posts.
pass-agent/loomkin
A skill your agent uses when building terminal user interfaces with React Ink - interactive CLI apps, terminal dashboards, progress displays, or keyboard-driven TUI components.
pass-agent/loomkin
Build and maintain interactive Node.js/Bun CLIs with Clack (@clack/prompts and @clack/core).
pass-agent/loomkin
Specialized knowledge for writing modern high-quality CSS. An agent skill from pass-agent/loomkin.
pass-agent/loomkin
Expert in Elixir, Phoenix Framework, and OTP. An agent skill from pass-agent/loomkin.
pass-agent/loomkin
Audit and clean up knowledge base state — archive completed work, fix inconsistencies
pass-agent/loomkin
Process a meeting transcript — extract decisions, action items, and key discussion points into structured vault entries
Categories
This skill should be used when designing terminal user interfaces, creating TUI layouts, choosing TUI color schemes, implementing keyboard navigation, building terminal dashboards, or working with…. Tui Design is an agent skill from pass-agent/loomkin. This skill should be used when designing terminal user interfaces, creating TUI layouts, choosing TUI color schemes, implementing keyboard navigation, building terminal dashboards, or working with any TUI framework.
Tui Design fits situations like: tasks that involve Accessibility; tasks that involve Theming and dark mode.
Run `npx skills add pass-agent/loomkin --skill tui-design -a claude-code`. Or copy the skill folder (apps/cli/.agents/skills/tui-design in pass-agent/loomkin) into .claude/skills/tui-design in your project. Claude Code loads it when a task matches its description.
Run `npx skills add pass-agent/loomkin --skill tui-design -a codex`. Or copy the skill folder (apps/cli/.agents/skills/tui-design in pass-agent/loomkin) into .agents/skills/tui-design in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pass-agent/loomkin --skill tui-design -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tui-design, .gemini/skills/tui-design, .github/skills/tui-design and .opencode/skills/tui-design in your project.
SKILL.md names no scripts, command-line tools or credentials: Tui Design is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Tui Design is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 5k tokens (SKILL.md is roughly 20k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Tui Design: Color Audit (rome-os/rome, 725 stars), Ant Design (kqcoxn/MaaPipelineEditor, 408 stars), Better Colors (trycompai/crm, 11k stars) and Data-Dense Dashboard Designer (plugin87/ux-ui-agent-skills, 1.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
pass-agent (a GitHub organization) maintains it in pass-agent/loomkin, which has 181 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on May 17, 2026.
Source: pass-agent/loomkin on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.