Install
$ agentstack add skill-pproenca-dot-skills-terminal-ui ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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
| Priority | Category | Impact | Prefix | |----------|----------|--------|--------| | 1 | Rendering & Output | CRITICAL | render- | | 2 | Input & Keyboard | CRITICAL | input- | | 3 | Component Patterns | HIGH | tuicomp- | | 4 | State & Lifecycle | HIGH | tuistate- | | 5 | Prompt Design | MEDIUM-HIGH | prompt- | | 6 | UX & Feedback | MEDIUM | ux- | | 7 | Configuration & CLI | MEDIUM | tuicfg- | | 8 | Robustness & Compatibility | LOW-MEDIUM | robust- |
Quick Reference
1. Rendering & Output (CRITICAL)
render-single-write- Batch Terminal Output in Single Writerender-overwrite-dont-clear- Overwrite Content Instead of Clear and Redrawrender-synchronized-output- Use Synchronized Output Protocol for Animationsrender-60fps-baseline- Target 60fps for Smooth Animationrender-partial-updates- Update Only Changed Regionsrender-escape-sequence-batching- Defer ANSI Escape Code Generation to Final Output
2. Input & Keyboard (CRITICAL)
input-useinput-hook- Use useInput Hook for Keyboard Handlinginput-immediate-feedback- Provide Immediate Visual Feedback for Inputinput-modifier-keys- Handle Modifier Keys Correctlyinput-isactive-focus- Use isActive Option for Focus Managementinput-escape-routes- Always Provide Escape Routes
3. Component Patterns (HIGH)
tuicomp-box-flexbox- Use Box Component with Flexbox for Layoutstuicomp-text-styling- Use Text Component for All Visible Contenttuicomp-measure-element- Use measureElement for Dynamic Sizingtuicomp-static-for-logs- Use Static Component for Log Outputtuicomp-percentage-widths- Use Percentage Widths for Responsive Layoutstuicomp-border-styles- Use Border Styles for Visual Structure
4. State & Lifecycle (HIGH)
tuistate-useapp-exit- Use useApp Hook for Application Lifecycletuistate-cleanup-effects- Always Clean Up Effects on Unmounttuistate-functional-updates- Use Functional State Updates to Avoid Stale Closurestuistate-usecallback-stable- Stabilize Callbacks with useCallbacktuistate-usememo-expensive- Memoize Expensive Computations with useMemo
5. Prompt Design (MEDIUM-HIGH)
prompt-group-flow- Use Clack group() for Multi-Step Promptsprompt-validation- Validate Input Early with Descriptive Messagesprompt-cancellation- Handle Cancellation Gracefully with isCancelprompt-spinner-tasks- Use Spinner and Tasks for Long Operationsprompt-custom-render- Build Custom Prompts with @clack/core
6. UX & Feedback (MEDIUM)
ux-progress-indicators- Show Progress for Operations Over 1 Secondux-color-semantics- Use Colors Semantically and Consistentlyux-error-messages- Write Actionable Error Messagesux-next-steps- Show Next Steps After Completionux-intro-outro- Use Intro and Outro for Session Framing
7. Configuration & CLI (MEDIUM)
tuicfg-sensible-defaults- Provide Sensible Defaults for All Optionstuicfg-env-vars- Support Standard Environment Variablestuicfg-flags-over-args- Prefer Flags Over Positional Argumentstuicfg-help-system- Implement Comprehensive Help Systemtuicfg-json-output- Support Machine-Readable Output Format
8. Robustness & Compatibility (LOW-MEDIUM)
robust-tty-detection- Detect TTY and Adjust Behavior Accordinglyrobust-signal-handling- Handle Process Signals Gracefullyrobust-exit-codes- Use Meaningful Exit Codesrobust-terminal-restore- Always Restore Terminal State on Exitrobust-graceful-degradation- Degrade Gracefully for Limited Terminals
How to Use
Read individual reference files for detailed explanations and code examples:
- [Section definitions](references/_sections.md) - Category structure and impact levels
- [Rule template](assets/templates/_template.md) - Template for adding new rules
- [render-single-write](references/render-single-write.md) - Example rule file
- [input-useinput-hook](references/input-useinput-hook.md) - Example rule file
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: pproenca
- Source: pproenca/dot-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.