Agent skill

Terminal UI

by pproenca in pproenca/dot-skills

Terminal User Interface (TUI) performance and UX guidelines for TypeScript applications using Ink and Clack.

MITAuto-check passedFrontend & Design

Install Terminal UI

skills CLI
$ npx skills add pproenca/dot-skills --skill terminal-ui -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install pproenca/dot-skills terminal-ui --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/pproenca/dot-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/terminal-ui .claude/skills/terminal-ui && rm -rf skills-src

Use ~/.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/

Facts

Skill name
terminal-ui
GitHub stars
214
Token cost
~1.3k tokens
SKILL.md length
481 words
Files
48 (incl. references, assets)
Skills in repo
182
Repo updated
First seen
Licence
MIT

At a glance

Terminal User Interface (TUI) performance and UX guidelines for TypeScript applications using Ink and Clack.

  • Works in 8 steps: Rendering & Output (CRITICAL) → Input & Keyboard (CRITICAL) → Component Patterns (HIGH) → …
  • Tasks involving TUI components
  • SKILL.md covers When to Apply, Rule Categories by Priority, Quick Reference and How to Use, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Terminal UI is an agent skill from pproenca/dot-skills. Terminal User Interface (TUI) performance and UX guidelines for TypeScript applications using Ink and Clack. This skill should be used when building CLI tools, interactive terminal prompts, or developer tooling with TUI components. Triggers on tasks involving TUI components, CLI prompts, terminal rendering, keyboard input handling, or developer tooling.

Its SKILL.md is about 1.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 50 other files, including reference files and assets (for example `AGENTS.md`, `README.md` and `assets/templates/_template.md`).

It sits in Frontend & Design. It works with TypeScript. The repository describes itself as: A collection of AI agent skills following the Agent Skills open format. The licence is MIT.

When your agent uses it

  • Tasks involving TUI components
  • Terminal rendering
  • Keyboard input handling
  • Developer tooling

Example prompts

  • “/terminal-ui”

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Rendering & Output (CRITICAL)
  2. Input & Keyboard (CRITICAL)
  3. Component Patterns (HIGH)
  4. State & Lifecycle (HIGH)
  5. Prompt Design (MEDIUM-HIGH)
  6. UX & Feedback (MEDIUM)
  7. Configuration & CLI (MEDIUM)
  8. Robustness & Compatibility (LOW-MEDIUM)

What it can do on your machine

Read from SKILL.md and the folder at commit cf93c57. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Terminal UI loads about 1.3k tokens when it runs, and up to ~23k if it reads all its reference files. Until then it costs about 92 tokens; SKILL.md has 481 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~92
When it runs · the whole SKILL.md, loaded when a task matches
~1.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~23k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from pproenca/dot-skills at commit cf93c57, republished under its MIT licence (© pproenca). 481 words, ~1,296 tokens.

Download SKILL.mdSave it as .claude/skills/terminal-ui/SKILL.md (or your agent's skills folder). This skill also uses 47 other files; get the full folder from GitHub.
name
terminal-ui
description
Terminal User Interface (TUI) performance and UX guidelines for TypeScript applications using Ink and Clack. This skill should be used when building CLI tools, interactive terminal prompts, or developer tooling with TUI components. Triggers on tasks involving TUI components, CLI prompts, terminal rendering, keyboard input handling, or developer tooling.

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
Show full SKILL.md (188 more words)Show less
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:

Full Compiled Document

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

© pproenca, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 47 other files (references, assets) in skills/.curated/terminal-ui of pproenca/dot-skills.

  • SKILL.md
  • AGENTS.md
  • README.md
  • assets/templates/_template.md
  • metadata.json
  • references/_sections.md
  • references/input-escape-routes.md
  • references/input-immediate-feedback.md
  • references/input-isactive-focus.md
  • references/input-modifier-keys.md
  • references/input-useinput-hook.md
  • references/prompt-cancellation.md
  • references/prompt-custom-render.md
  • references/prompt-group-flow.md
  • references/prompt-spinner-tasks.md
  • references/prompt-validation.md
  • references/render-60fps-baseline.md
  • references/render-escape-sequence-batching.md
  • … and 30 more

Open the folder on GitHubat commit cf93c57

Compare with similar skills

Terminal UI 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.

Terminal UI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Terminal UI this skillpproenca/dot-skills214—~1.3kAutomated safety check: PassMIT
Web Artifacts Builderanthropics/skills180k40 repos~769Automated safety check: PassApache-2.0
Ink Tui Wizardnovuhq/novu40k—~1.9kAutomated safety check: PassMIT
Frontend Module Standardssiteboon/claudecodeui14k—~2.6kAutomated safety check: PassAGPL-3.0
Dify Component Writing Guidelanggenius/dify158k—~626Automated safety check: PassCustom licence
React Frontend Development Guidelinesdiet103/claude-code-infrastructure-showcase10k2 repos~2.9kAutomated safety check: PassMIT

Similar skills

  • Web Artifacts Builder

    anthropics/skills

    Official

    Builds multi-component claude.ai HTML artifacts as a small React, TypeScript and Tailwind project, then bundles it into one shareable HTML file.

    180k GitHub starsUsed in 40 repos~769 tokens
    Frontend & DesignAuto-check passed
  • Ink Tui Wizard

    novuhq/novu

    Build terminal user interfaces (TUIs) using Ink (React for CLIs) and @inkjs/ui with a reactive, session-driven wizard pattern.

    40k GitHub stars~1.9k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Frontend Module Standards

    siteboon/claudecodeui

    Enforces one repository's React and TypeScript module layout for code under src/: source-root imports, feature barrels, deliberate exports and no deep imports.

    14k GitHub stars~2.6k tokensUpdated 3 days ago
    Frontend & DesignAuto-check passed
  • Use when implementing or refactoring React/TypeScript components and the task requires decisions about component ownership, feature boundaries, state, data…

    158k GitHub stars~626 tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • React Frontend Development Guidelines

    diet103/claude-code-infrastructure-showcase

    Guidelines for React 18 and TypeScript apps covering Suspense data fetching, lazy loading, feature folders, MUI v7 styling, TanStack Router and performance.

    10k GitHub starsUsed in 2 repos~2.9k tokens
    Frontend & DesignAuto-check passed
  • Formik Form Patterns

    ChrisWiles/claude-code-showcase

    Shows how to build forms with Formik and Yup validation, including conditional rules, field helpers, GraphQL submission, edit forms and multi-step flows.

    6.1k GitHub starsUsed in 3 repos~2.1k tokens
    Frontend & DesignAuto-check passed

More from pproenca/dot-skills

All 182 skills in this repo
  • Audio Voice Recovery

    pproenca/dot-skills

    Audio forensics and voice recovery guidelines for CSI-level audio analysis.

    214 GitHub stars~3.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Codemod React Pipeline

    pproenca/dot-skills

    Guided, scripted pipeline for running JSX/TSX/React codemods safely across large legacy codebases.

    214 GitHub stars~1.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Dev Rfc

    pproenca/dot-skills

    Create well-structured RFCs and technical proposals for software projects.

    214 GitHub stars~3.8k tokensUpdated 1 mo ago
    Auto-check passed
  • Dx Harness

    pproenca/dot-skills

    Developer-experience friction auditing and fixing — slow onboarding, repeated manual setup steps, missing bootstrap/reset/seed scripts, undiscoverable conventions.

    214 GitHub stars~1.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Language Spec Author

    pproenca/dot-skills

    Turn a rough idea for a language into a complete, implementable specification — a DSL, query, config/data, template, or protocol language — by interviewing the author dimension by dimension until…

    214 GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Python Pep Author

    pproenca/dot-skills

    Drafting Python Enhancement Proposals (PEPs) — proposing a Python language feature, a standard library change, an interoperability standard, or an informational/process document for the Python…

    214 GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Terminal UI

What does Terminal UI do?

Terminal User Interface (TUI) performance and UX guidelines for TypeScript applications using Ink and Clack. Terminal UI is an agent skill from pproenca/dot-skills. Terminal User Interface (TUI) performance and UX guidelines for TypeScript applications using Ink and Clack.

When should I use Terminal UI?

Terminal UI fits situations like: tasks involving TUI components; terminal rendering; keyboard input handling; developer tooling.

How do I install Terminal UI in Claude Code?

Run `npx skills add pproenca/dot-skills --skill terminal-ui -a claude-code`. Or copy the skill folder (skills/.curated/terminal-ui in pproenca/dot-skills) into .claude/skills/terminal-ui in your project. Claude Code loads it when a task matches its description.

How do I install Terminal UI in Codex?

Run `npx skills add pproenca/dot-skills --skill terminal-ui -a codex`. Or copy the skill folder (skills/.curated/terminal-ui in pproenca/dot-skills) into .agents/skills/terminal-ui in your project. Codex loads it when a task matches its description.

Can I use Terminal UI in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add pproenca/dot-skills --skill terminal-ui -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/terminal-ui, .gemini/skills/terminal-ui, .github/skills/terminal-ui and .opencode/skills/terminal-ui in your project.

What does Terminal UI need to run?

SKILL.md names no scripts, command-line tools or credentials: Terminal UI is instructions for the agent only.

Does Terminal UI access the network?

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.

Is Terminal UI safe to install?

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.

What licence does Terminal UI use?

Terminal UI is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Terminal UI use?

About 1.3k tokens (SKILL.md is roughly 5.2k 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 22k tokens, read only when the agent opens those files.

What are the alternatives to Terminal UI?

Skills that share tags, products or a category with Terminal UI: Web Artifacts Builder (anthropics/skills, 180k stars), Ink Tui Wizard (novuhq/novu, 40k stars), Frontend Module Standards (siteboon/claudecodeui, 14k stars) and Dify Component Writing Guide (langgenius/dify, 158k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Terminal UI?

pproenca (a GitHub user) maintains it in pproenca/dot-skills, which has 214 GitHub stars. The repository holds 182 skills in this directory. The repository was last updated on August 15, 2026.

Source: pproenca/dot-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.