Terminal User Interface (TUI) performance and UX guidelines for TypeScript applications using Ink and Clack. Use this skill when building CLI tools, interactive terminal prompts, or developer tooling that includes TUI components. It triggers on tasks involving TUI components, CLI prompts, terminal rendering, keyboard input handling, or developer tooling.
Comprehensive developer experience guide for building TypeScript terminal user interfaces using Ink (React for CLIs), @clack/prompts, and @clack/core.
This skill provides 42 performance and UX optimization rules for TUI development, organized by impact from critical to incremental.
developer-experience-tui/
├── SKILL.md # Entry point with quick reference
├── AGENTS.md # Compiled comprehensive guide
├── metadata.json # Version, org, references
├── README.md # This file
└── rules/
├── _sections.md # Category definitions
├── render-*.md # Rendering optimization rules (6)
├── input-*.md # Input handling rules (5)
├── comp-*.md # Component pattern rules (6)
├── state-*.md # State management rules (5)
├── prompt-*.md # Prompt design rules (5)
├── ux-*.md # UX feedback rules (5)
├── config-*.md # Configuration rules (5)
└── robust-*.md # Robustness rules (5)
pnpm install
pnpm build
pnpm validate
{prefix}-{description}.md| Prefix | Category | Impact |
|--------|----------|--------|
| render- | Rendering & Output | CRITICAL |
| input- | Input & Keyboard | CRITICAL |
| comp- | Component Patterns | HIGH |
| state- | State & Lifecycle | HIGH |
| prompt- | Prompt Design | MEDIUM-HIGH |
| ux- | UX & Feedback | MEDIUM |
| config- | Configuration & CLI | MEDIUM |
| robust- | Robustness & Compatibility | LOW-MEDIUM |
---
title: Rule Title Here
impact: CRITICAL|HIGH|MEDIUM-HIGH|MEDIUM|LOW-MEDIUM|LOW
impactDescription: Brief quantified impact (e.g., "eliminates flicker")
tags: prefix, keyword1, keyword2
---
## Rule Title Here
Brief explanation of WHY this matters (1-3 sentences).
**Incorrect (problem description):**
\`\`\`typescript
// Bad example with comments explaining the cost
\`\`\`
**Correct (solution description):**
\`\`\`typescript
// Good example with minimal diff from incorrect
\`\`\`
Reference: [Source](https://example.com)
Rules follow the pattern: {prefix}-{description}.md
prefix: Category identifier (3-7 lowercase chars)description: Kebab-case description of the ruleExamples:
render-single-write.mdinput-useinput-hook.mdprompt-group-flow.md| Level | Description | |-------|-------------| | CRITICAL | Must fix - causes major performance or UX issues | | HIGH | Should fix - significant improvement opportunity | | MEDIUM-HIGH | Recommended - noticeable improvement | | MEDIUM | Good practice - incremental improvement | | LOW-MEDIUM | Nice to have - polish and edge cases | | LOW | Optional - advanced optimization |
pnpm validate - Validate skill structure and contentpnpm build - Build AGENTS.md from rulesSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer