About opentui-design
A reference skill for building and troubleshooting CLI interfaces with OpenTUI and SolidJS. It covers component design, input and mouse behavior, navigation, state, testing, and performance.
Key features
- 01OpenTUI component patterns
- 02Keyboard input handling
- 03Mouse event guidance
- 04Multi-screen navigation
- 05SolidJS state and hooks
- 06Layout, testing, and performance
Use cases
- 01Building CLI screens and components
- 02Diagnosing input behavior
- 03Adding screen navigation
- 04Improving CLI responsiveness
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ akiojin/ skills --skill opentui-designAfter installing, type/opentui-designin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/component-patterns.mdhooks-guide.mdinput-handling.mdmouse-handling.mdmulti-screen-navigation.mdopentui-gotchas.mdperformance-optimization.mdresponsive-layout.mdstate-management.mdtesting-patterns.mdDetails
From the project READMEOpenTUI Design Skill
Description
Comprehensive toolkit for designing and implementing CLI applications with OpenTUI and SolidJS.
When to Use
- Building new CLI screens or components with OpenTUI
- Debugging input handling issues
- Implementing screen navigation
- Handling mouse events and limitations
- Optimizing CLI performance
Key References
input-handling.md- Key input patterns and propagation preventionmouse-handling.md- Mouse events and Selection API limitationsopentui-gotchas.md- Common issues and workaroundscomponent-patterns.md- Component structure and compositionmulti-screen-navigation.md- Screen transition patternsstate-management.md- SolidJS state patternshooks-guide.md- OpenTUI hooks referenceperformance-optimization.md- Performance best practicesresponsive-layout.md- Terminal layout patternstesting-patterns.md- Testing CLI components
Critical Knowledge
Key Propagation Prevention
When navigating between screens with Enter key, the same keypress can propagate to the new screen. Always use:
key.preventDefault()at the source- Initial frame delay at the destination
focusedprop control on interactive elements
SolidJS Reactivity
Never destructure props - always access via props.xxx to maintain reactivity.
Mouse Limitations
OpenTUI's Selection API (useSelectionHandler) does not reliably work. Set useMouse: false to allow OS-level copy, but this disables wheel scroll.