.agents/skills/opentui/SKILL.md
Comprehensive OpenTUI skill for building terminal user interfaces. Covers the core imperative API, React reconciler, and Solid reconciler. Use for any TUI development task including components, layout, keyboard handling, animations, and testing.
npx skillsauth add alexismanuel/dotfiles opentuiInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Consolidated skill for building terminal user interfaces with OpenTUI. Use decision trees below to find the right framework and components, then load detailed references.
Follow these rules in all OpenTUI code:
create-tui for new projects. See framework README.md quick starts.create-tui options must come before arguments. bunx create-tui -t react my-app works, bunx create-tui my-app -t react does NOT.process.exit() directly. Use renderer.destroy() (see core/gotchas.md).components/text-display.md).Framework references follow a 5-file pattern. Cross-cutting concepts are single-file guides.
Each framework in ./references/<framework>/ contains:
| File | Purpose | When to Read |
|------|---------|--------------|
| README.md | Overview, when to use, quick start | Always read first |
| api.md | Runtime API, components, hooks | Writing code |
| configuration.md | Setup, tsconfig, bundling | Configuring a project |
| patterns.md | Common patterns, best practices | Implementation guidance |
| gotchas.md | Pitfalls, limitations, debugging | Troubleshooting |
Cross-cutting concepts in ./references/<concept>/ have README.md as the entry point.
README.md for your chosen frameworkapi.md + components/<category>.mdconfiguration.mdlayout/README.mdgotchas.md + testing/README.md./references/react/README.md # Start here for React
./references/react/api.md # React components and hooks
./references/solid/configuration.md # Solid project setup
./references/components/inputs.md # Input, Textarea, Select docs
./references/core/gotchas.md # Core debugging tips
OpenTUI runs on Bun and uses Zig for native builds. Read ./references/core/gotchas.md for runtime requirements and build guidance.
Which framework?
├─ I want full control, maximum performance, no framework overhead
│ └─ core/ (imperative API)
├─ I know React, want familiar component patterns
│ └─ react/ (React reconciler)
├─ I want fine-grained reactivity, optimal re-renders
│ └─ solid/ (Solid reconciler)
└─ I'm building a library/framework on top of OpenTUI
└─ core/ (imperative API)
Display content?
├─ Plain or styled text -> components/text-display.md
├─ Container with borders/background -> components/containers.md
├─ Scrollable content area -> components/containers.md (scrollbox)
├─ ASCII art banner/title -> components/text-display.md (ascii-font)
├─ Code with syntax highlighting -> components/code-diff.md
├─ Diff viewer (unified/split) -> components/code-diff.md
└─ Line numbers with diagnostics -> components/code-diff.md
User input?
├─ Single-line text field -> components/inputs.md (input)
├─ Multi-line text editor -> components/inputs.md (textarea)
├─ Select from a list (vertical) -> components/inputs.md (select)
├─ Tab-based selection (horizontal) -> components/inputs.md (tab-select)
└─ Custom keyboard shortcuts -> keyboard/README.md
Layout?
├─ Flexbox-style layouts (row, column, wrap) -> layout/README.md
├─ Absolute positioning -> layout/patterns.md
├─ Responsive to terminal size -> layout/patterns.md
├─ Centering content -> layout/patterns.md
└─ Complex nested layouts -> layout/patterns.md
Animations?
├─ Timeline-based animations -> animation/README.md
├─ Easing functions -> animation/README.md
├─ Property transitions -> animation/README.md
└─ Looping animations -> animation/README.md
Input handling?
├─ Keyboard events (keypress, release) -> keyboard/README.md
├─ Focus management -> keyboard/README.md
├─ Paste events -> keyboard/README.md
├─ Mouse events -> components/containers.md
└─ Text selection -> components/text-display.md
Testing?
├─ Snapshot testing -> testing/README.md
├─ Interaction testing -> testing/README.md
├─ Test renderer setup -> testing/README.md
└─ Debugging tests -> testing/README.md
Troubleshooting?
├─ Runtime errors, crashes -> <framework>/gotchas.md
├─ Layout issues -> layout/README.md + layout/patterns.md
├─ Input/focus issues -> keyboard/README.md
└─ Repro + regression tests -> testing/README.md
core/gotchas.mdcomponents/text-display.mdkeyboard/README.mdlayout/README.mdtesting/README.mdFor component naming differences and text modifiers, see components/README.md.
| Framework | Entry File | Description |
|-----------|------------|-------------|
| Core | ./references/core/README.md | Imperative API, all primitives |
| React | ./references/react/README.md | React reconciler for declarative TUI |
| Solid | ./references/solid/README.md | SolidJS reconciler for declarative TUI |
| Concept | Entry File | Description |
|---------|------------|-------------|
| Layout | ./references/layout/README.md | Yoga/Flexbox layout system |
| Components | ./references/components/README.md | Component reference by category |
| Keyboard | ./references/keyboard/README.md | Keyboard input handling |
| Animation | ./references/animation/README.md | Timeline-based animations |
| Testing | ./references/testing/README.md | Test renderer and snapshots |
| Category | Entry File | Components |
|----------|------------|------------|
| Text & Display | ./references/components/text-display.md | text, ascii-font, styled text |
| Containers | ./references/components/containers.md | box, scrollbox, borders |
| Inputs | ./references/components/inputs.md | input, textarea, select, tab-select |
| Code & Diff | ./references/components/code-diff.md | code, line-number, diff |
Repository: https://github.com/anomalyco/opentui Core Docs: https://github.com/anomalyco/opentui/tree/main/packages/core/docs Examples: https://github.com/anomalyco/opentui/tree/main/packages/core/src/examples Awesome List: https://github.com/msmps/awesome-opentui
development
Generate GitLab merge request descriptions from git commits with automatic categorization and Jira integration.
development
This skill should be used when validating that an implementation plan was correctly executed. It verifies success criteria, runs tests, identifies deviations, and presents structured completion options including MR creation or discard.
development
This skill should be used when reviewing code changes in a branch against main/master/develop. It analyzes commits, integrates JIRA ticket and MR context when available, and produces a structured code review using Conventional Comments format.
development
This skill should be used when conducting comprehensive codebase research to answer questions, understand architecture, or prepare context for implementation planning. It spawns parallel sub-agents and synthesizes findings into a structured research document.