Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
pproenca avatar

Terminal Ui

  • 693 installs
  • 186 repo stars
  • Updated July 24, 2026
  • pproenca/dot-skills

terminal-ui is a coding-agent best-practices skill that enforces Ink and Clack TUI performance and UX patterns across 42 rules in 8 categories for developers building TypeScript CLI tools and interactive terminal prompts

About

terminal-ui is a DevEx guide skill for TypeScript terminal user interfaces built with Ink (React for CLIs) and Clack prompts. It bundles 42 rules across 8 impact-prioritized categories to steer automated refactoring and code generation toward proven TUI patterns for CLI tools, interactive prompts, terminal rendering, and keyboard input handling. Developers reach for terminal-ui when building or reviewing developer tooling with TUI components and want consistent Ink and Clack conventions instead of ad hoc terminal UX. The skill triggers on tasks involving TUI components, CLI prompts, or developer-facing terminal experiences.

  • 42 rules across 8 priority-ordered categories for TUI development
  • Critical focus on Rendering & Output and Input & Keyboard handling
  • Component patterns, state management, and prompt design guidelines
  • Prevents common terminal rendering flicker and UX issues
  • Triggers automatically on tasks involving @clack/prompts or Ink React components

Terminal Ui by the numbers

  • 693 all-time installs (skills.sh)
  • Ranked #108 of 550 CLI & Terminal skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Jul 31, 2026 (Skillselion catalog sync)
npx skills add https://github.com/pproenca/dot-skills --skill terminal-ui

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs693
repo stars186
Security audit3 / 3 scanners passed
Last updatedJuly 24, 2026
Repositorypproenca/dot-skills

How do you build performant Ink and Clack TUIs?

Ensure their TypeScript CLI tools and interactive terminal experiences follow proven Ink and Clack best practices.

Who is it for?

TypeScript developers shipping CLI tools or agent-facing terminal prompts who want Ink and Clack guidance ranked by impact.

Skip if: Developers building Python Rich TUIs, non-interactive shell scripts, or GUI web apps should skip terminal-ui.

When should I use this skill?

The user builds or reviews TypeScript CLI tools, Ink components, Clack prompts, terminal rendering, or keyboard input handling.

What you get

Ink and Clack components refactored to prioritized TUI rules, improved keyboard handling, and consistent terminal prompt UX patterns.

  • refactored TUI components
  • Clack prompt flows
  • keyboard-handling patterns

By the numbers

  • 42 rules across 8 categories
  • Covers Ink and Clack TypeScript TUI patterns

Files

SKILL.mdMarkdownGitHub ↗

DevEx Developer Experience TUI Best Practices

Comprehensive developer experience guide for building TypeScript terminal user interfaces using Ink (React for CLIs) and Clack prompts. Contains 42 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.

When to Apply

Reference these guidelines when:

  • Building CLI tools with interactive prompts using @clack/prompts
  • Creating React-based terminal UIs with Ink
  • Handling keyboard input and user interactions
  • Optimizing terminal rendering and preventing flicker
  • Designing developer-friendly CLI experiences

Rule Categories by Priority

PriorityCategoryImpactPrefix
1Rendering & OutputCRITICALrender-
2Input & KeyboardCRITICALinput-
3Component PatternsHIGHtuicomp-
4State & LifecycleHIGHtuistate-
5Prompt DesignMEDIUM-HIGHprompt-
6UX & FeedbackMEDIUMux-
7Configuration & CLIMEDIUMtuicfg-
8Robustness & CompatibilityLOW-MEDIUMrobust-

Quick Reference

1. Rendering & Output (CRITICAL)

  • render-single-write - Batch Terminal Output in Single Write
  • render-overwrite-dont-clear - Overwrite Content Instead of Clear and Redraw
  • render-synchronized-output - Use Synchronized Output Protocol for Animations
  • render-60fps-baseline - Target 60fps for Smooth Animation
  • render-partial-updates - Update Only Changed Regions
  • render-escape-sequence-batching - Defer ANSI Escape Code Generation to Final Output

2. Input & Keyboard (CRITICAL)

  • input-useinput-hook - Use useInput Hook for Keyboard Handling
  • input-immediate-feedback - Provide Immediate Visual Feedback for Input
  • input-modifier-keys - Handle Modifier Keys Correctly
  • input-isactive-focus - Use isActive Option for Focus Management
  • input-escape-routes - Always Provide Escape Routes

3. Component Patterns (HIGH)

  • tuicomp-box-flexbox - Use Box Component with Flexbox for Layouts
  • tuicomp-text-styling - Use Text Component for All Visible Content
  • tuicomp-measure-element - Use measureElement for Dynamic Sizing
  • tuicomp-static-for-logs - Use Static Component for Log Output
  • tuicomp-percentage-widths - Use Percentage Widths for Responsive Layouts
  • tuicomp-border-styles - Use Border Styles for Visual Structure

4. State & Lifecycle (HIGH)

  • tuistate-useapp-exit - Use useApp Hook for Application Lifecycle
  • tuistate-cleanup-effects - Always Clean Up Effects on Unmount
  • tuistate-functional-updates - Use Functional State Updates to Avoid Stale Closures
  • tuistate-usecallback-stable - Stabilize Callbacks with useCallback
  • tuistate-usememo-expensive - Memoize Expensive Computations with useMemo

5. Prompt Design (MEDIUM-HIGH)

  • prompt-group-flow - Use Clack group() for Multi-Step Prompts
  • prompt-validation - Validate Input Early with Descriptive Messages
  • prompt-cancellation - Handle Cancellation Gracefully with isCancel
  • prompt-spinner-tasks - Use Spinner and Tasks for Long Operations
  • prompt-custom-render - Build Custom Prompts with @clack/core

6. UX & Feedback (MEDIUM)

  • ux-progress-indicators - Show Progress for Operations Over 1 Second
  • ux-color-semantics - Use Colors Semantically and Consistently
  • ux-error-messages - Write Actionable Error Messages
  • ux-next-steps - Show Next Steps After Completion
  • ux-intro-outro - Use Intro and Outro for Session Framing

7. Configuration & CLI (MEDIUM)

  • tuicfg-sensible-defaults - Provide Sensible Defaults for All Options
  • tuicfg-env-vars - Support Standard Environment Variables
  • tuicfg-flags-over-args - Prefer Flags Over Positional Arguments
  • tuicfg-help-system - Implement Comprehensive Help System
  • tuicfg-json-output - Support Machine-Readable Output Format

8. Robustness & Compatibility (LOW-MEDIUM)

  • robust-tty-detection - Detect TTY and Adjust Behavior Accordingly
  • robust-signal-handling - Handle Process Signals Gracefully
  • robust-exit-codes - Use Meaningful Exit Codes
  • robust-terminal-restore - Always Restore Terminal State on Exit
  • robust-graceful-degradation - Degrade Gracefully for Limited Terminals

How to Use

Read individual reference files for detailed explanations and code examples:

  • Section definitions - Category structure and impact levels
  • Rule template - Template for adding new rules
  • render-single-write - Example rule file
  • input-useinput-hook - Example rule file

Full Compiled Document

For the complete guide with all rules expanded: AGENTS.md

Related skills

How it compares

Pick terminal-ui for opinionated Ink and Clack TypeScript guidance; use framework docs alone when you only need API reference without prioritized UX rules.

FAQ

How many rules does terminal-ui include?

terminal-ui includes 42 rules organized across 8 categories, prioritized by impact to guide Ink and Clack TUI development, refactoring, and automated code generation in TypeScript CLI projects.

Which libraries does terminal-ui target?

terminal-ui targets TypeScript terminal user interfaces built with Ink for React-style CLI rendering and Clack for interactive prompts, covering performance, UX, and keyboard input handling.

Is Terminal Ui safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

CLI & Terminalintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.