[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M77V03FAYEEGADGD468725AM":3,"skill-same:01M77V03FAYEEGADGD468725AM":154},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":26,"commitSha":27,"skillDirectory":28,"forksCount":29,"repositoryHtmlUrl":30,"repositoryHomepageUrl":6,"ownerHtmlUrl":31,"ownerBlogUrl":32,"ownerDescription":6,"updatedAt":33,"install":34,"resources":47},"01M77V03FAYEEGADGD468725AM","opentui",null,"OpenTUI skill for building terminal user interfaces with the Core, React, or Solid APIs. Use for any TUI task including components, layout, keyboard and keymap handling, animations, and testing.","Reihantt6\u002Fsns-myagent","Reihantt6","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F219822095?v=4","01M77KK94PV8B7C2D9XWXNS8DJ","Mohamad Reihan tegar prasetya","01M77KK958QFMTHYXGXFV7KZ79",2,"MIT","https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002FSKILL.md",[],[],"2026-11-15 14:19:17",false,"---\ndescription: \"OpenTUI skill for building terminal user interfaces with the Core, React, or Solid APIs. Use for any TUI task including components, layout, keyboard and keymap handling, animations, and testing.\"\nmetadata: {\"references\":\"core, react, solid, components, layout, keyboard, keymap, animation, testing\"}\n---\n# OpenTUI Platform Skill\n\nConsolidated skill for building terminal user interfaces with OpenTUI. Use decision trees below to find the right framework and components, then load detailed references.\n\n## Critical Rules\n\n**Follow these rules in all OpenTUI code:**\n\n1. **Use `create-tui` for new projects.** See framework `REFERENCE.md` quick starts.\n2. **`create-tui` options must come before arguments.** `bunx create-tui -t react my-app` works, `bunx create-tui my-app -t react` does NOT.\n3. **Never call `process.exit()` directly.** Use `renderer.destroy()` (see `core\u002Fgotchas.md`).\n4. **Text styling requires nested tags in React\u002FSolid.** Use modifier elements, not props (see `components\u002Ftext-display.md`).\n\n## How to Use This Skill\n\n### Reference File Structure\n\nFramework references follow a 5-file pattern. Cross-cutting concepts are single-file guides.\n\nEach framework in `.\u002Freferences\u002F\u003Cframework>\u002F` contains:\n\n| File | Purpose | When to Read |\n|------|---------|--------------|\n| `REFERENCE.md` | Overview, when to use, quick start | **Always read first** |\n| `api.md` | Runtime API, components, hooks | Writing code |\n| `configuration.md` | Setup, tsconfig, bundling | Configuring a project |\n| `patterns.md` | Common patterns, best practices | Implementation guidance |\n| `gotchas.md` | Pitfalls, limitations, debugging | Troubleshooting |\n\nCross-cutting concepts in `.\u002Freferences\u002F\u003Cconcept>\u002F` have `REFERENCE.md` as the entry point.\n\n### Reading Order\n\n1. Start with `REFERENCE.md` for your chosen framework\n2. Then read additional files relevant to your task:\n   - Building components -> `api.md` + `components\u002F\u003Ccategory>.md`\n   - Setting up project -> `configuration.md`\n   - Layout\u002Fpositioning -> `layout\u002FREFERENCE.md`\n   - Keyboard\u002Finput handling -> `keyboard\u002FREFERENCE.md`\n   - Layered keybindings\u002Fcommands -> `keymap\u002FREFERENCE.md`\n   - Animations -> `animation\u002FREFERENCE.md`\n   - Troubleshooting -> `gotchas.md` + `testing\u002FREFERENCE.md`\n\n### Example Paths\n\n```\n.\u002Freferences\u002Freact\u002FREFERENCE.md           # Start here for React\n.\u002Freferences\u002Freact\u002Fapi.md              # React components and hooks\n.\u002Freferences\u002Fsolid\u002Fconfiguration.md    # Solid project setup\n.\u002Freferences\u002Fcomponents\u002Finputs.md      # Input, Textarea, Select docs\n.\u002Freferences\u002Fcore\u002Fgotchas.md           # Core debugging tips\n```\n\n### Runtime Notes\n\nOpenTUI runs on Bun and uses Zig for native builds. Read `.\u002Freferences\u002Fcore\u002Fgotchas.md` for runtime requirements and build guidance.\n\n## Quick Decision Trees\n\n### \"Which framework should I use?\"\n\n```\nWhich framework?\n├─ I want full control, maximum performance, no framework overhead\n│  └─ core\u002F (imperative API)\n├─ I know React, want familiar component patterns\n│  └─ react\u002F (React reconciler)\n├─ I want fine-grained reactivity, optimal re-renders\n│  └─ solid\u002F (Solid reconciler)\n└─ I'm building a library\u002Fframework on top of OpenTUI\n   └─ core\u002F (imperative API)\n```\n\n### \"I need to display content\"\n\n```\nDisplay content?\n├─ Plain or styled text -> components\u002Ftext-display.md\n├─ Container with borders\u002Fbackground -> components\u002Fcontainers.md\n├─ Scrollable content area -> components\u002Fcontainers.md (scrollbox)\n├─ Standalone scrollbar -> components\u002Fcontainers.md (scrollbar)\n├─ ASCII art banner\u002Ftitle -> components\u002Ftext-display.md (ascii-font)\n├─ QR code -> components\u002Ftext-display.md (qr-code, @opentui\u002Fqrcode)\n├─ Data table with borders\u002Fwrapping -> components\u002Fcode-diff.md (TextTable)\n├─ Code with syntax highlighting -> components\u002Fcode-diff.md\n├─ Diff viewer (unified\u002Fsplit, hunk nav) -> components\u002Fcode-diff.md\n├─ Line numbers with diagnostics -> components\u002Fcode-diff.md\n└─ Markdown content (streaming) -> components\u002Fcode-diff.md (markdown)\n```\n\n### \"I need user input\"\n\n```\nUser input?\n├─ Single-line text field -> components\u002Finputs.md (input)\n├─ Multi-line text editor -> components\u002Finputs.md (textarea)\n├─ Select from a list (vertical) -> components\u002Finputs.md (select)\n├─ Tab-based selection (horizontal) -> components\u002Finputs.md (tab-select)\n├─ Value slider -> components\u002Finputs.md (slider)\n├─ Declarative\u002Flayered keybindings -> keymap\u002FREFERENCE.md (@opentui\u002Fkeymap)\n└─ Custom keyboard shortcuts -> keyboard\u002FREFERENCE.md\n```\n\n### \"I need layout\u002Fpositioning\"\n\n```\nLayout?\n├─ Flexbox-style layouts (row, column, wrap) -> layout\u002FREFERENCE.md\n├─ Absolute positioning -> layout\u002Fpatterns.md\n├─ Responsive to terminal size -> layout\u002Fpatterns.md\n├─ Centering content -> layout\u002Fpatterns.md\n└─ Complex nested layouts -> layout\u002Fpatterns.md\n```\n\n### \"I need animations\"\n\n```\nAnimations?\n├─ Timeline-based animations -> animation\u002FREFERENCE.md\n├─ Easing functions -> animation\u002FREFERENCE.md\n├─ Property transitions -> animation\u002FREFERENCE.md\n└─ Looping animations -> animation\u002FREFERENCE.md\n```\n\n### \"I need to handle input\"\n\n```\nInput handling?\n├─ Keyboard events (keypress, release) -> keyboard\u002FREFERENCE.md\n├─ Layered bindings, commands, leader keys -> keymap\u002FREFERENCE.md\n├─ Focus management -> keyboard\u002FREFERENCE.md\n├─ Paste events -> keyboard\u002FREFERENCE.md\n├─ Mouse events -> components\u002Fcontainers.md\n├─ Text selection & copy-on-select -> keyboard\u002FREFERENCE.md (selection)\n└─ Clipboard (OSC 52) -> keyboard\u002FREFERENCE.md (clipboard)\n```\n\n### \"I need to test my TUI\"\n\n```\nTesting?\n├─ Snapshot testing -> testing\u002FREFERENCE.md\n├─ Interaction testing -> testing\u002FREFERENCE.md\n├─ Test renderer setup -> testing\u002FREFERENCE.md\n└─ Debugging tests -> testing\u002FREFERENCE.md\n```\n\n### \"I need platform capabilities (audio, notifications, SSH)\"\n\n```\nPlatform capability?\n├─ Play sound \u002F native audio -> core\u002Fapi.md (Audio)\n├─ Desktop notifications (OSC 9\u002F777\u002F99) -> core\u002Fapi.md (triggerNotification)\n├─ Custom stdin\u002Fstdout (PTY, xterm.js) -> core\u002Fapi.md (createCliRenderer)\n└─ Serve a TUI over SSH -> core\u002FREFERENCE.md (@opentui\u002Fssh)\n```\n\n### \"I need to debug\u002Ftroubleshoot\"\n\n```\nTroubleshooting?\n├─ Runtime errors, crashes -> \u003Cframework>\u002Fgotchas.md\n├─ Layout issues -> layout\u002FREFERENCE.md + layout\u002Fpatterns.md\n├─ Input\u002Ffocus issues -> keyboard\u002FREFERENCE.md\n└─ Repro + regression tests -> testing\u002FREFERENCE.md\n```\n\n### Troubleshooting Index\n\n- Terminal cleanup, crashes -> `core\u002Fgotchas.md`\n- Text styling not applying -> `components\u002Ftext-display.md`\n- Input focus\u002Fshortcuts -> `keyboard\u002FREFERENCE.md`\n- Layout misalignment -> `layout\u002FREFERENCE.md`\n- Flaky snapshots -> `testing\u002FREFERENCE.md`\n\nFor component naming differences and text modifiers, see `components\u002FREFERENCE.md`.\n\n## Product Index\n\n### Frameworks\n| Framework | Entry File | Description |\n|-----------|------------|-------------|\n| Core | `.\u002Freferences\u002Fcore\u002FREFERENCE.md` | Imperative API, all primitives |\n| React | `.\u002Freferences\u002Freact\u002FREFERENCE.md` | React reconciler for declarative TUI |\n| Solid | `.\u002Freferences\u002Fsolid\u002FREFERENCE.md` | SolidJS reconciler for declarative TUI |\n\n### Cross-Cutting Concepts\n| Concept | Entry File | Description |\n|---------|------------|-------------|\n| Layout | `.\u002Freferences\u002Flayout\u002FREFERENCE.md` | Yoga\u002FFlexbox layout system |\n| Components | `.\u002Freferences\u002Fcomponents\u002FREFERENCE.md` | Component reference by category |\n| Keyboard | `.\u002Freferences\u002Fkeyboard\u002FREFERENCE.md` | Low-level keyboard input handling |\n| Keymap | `.\u002Freferences\u002Fkeymap\u002FREFERENCE.md` | Declarative layered keybindings (`@opentui\u002Fkeymap`) |\n| Animation | `.\u002Freferences\u002Fanimation\u002FREFERENCE.md` | Timeline-based animations |\n| Testing | `.\u002Freferences\u002Ftesting\u002FREFERENCE.md` | Test renderer and snapshots |\n\n### Component Categories\n| Category | Entry File | Components |\n|----------|------------|------------|\n| Text & Display | `.\u002Freferences\u002Fcomponents\u002Ftext-display.md` | text, ascii-font, styled text, qr-code |\n| Containers | `.\u002Freferences\u002Fcomponents\u002Fcontainers.md` | box, scrollbox, scrollbar, borders |\n| Inputs | `.\u002Freferences\u002Fcomponents\u002Finputs.md` | input, textarea, select, tab-select, slider |\n| Code & Diff | `.\u002Freferences\u002Fcomponents\u002Fcode-diff.md` | code, line-number, diff, markdown, text-table |\n\n### Additional Packages\n| Package | Description | Docs |\n|---------|-------------|------|\n| `@opentui\u002Fkeymap` | Layered keybinding\u002Fcommand engine (Bun or Node, no FFI) | `.\u002Freferences\u002Fkeymap\u002FREFERENCE.md` |\n| `@opentui\u002Fqrcode` | QR code component | `.\u002Freferences\u002Fcomponents\u002Ftext-display.md` |\n| `@opentui\u002Fssh` | Serve a TUI over SSH | `.\u002Freferences\u002Fcore\u002FREFERENCE.md` |\n| `@opentui\u002Fthree` | Three.js WebGPU renderer (formerly `core\u002Fsrc\u002F3d`) | upstream `packages\u002Fthree` |\n| `@opentui\u002Fexamples` | Runnable examples (formerly `core\u002Fsrc\u002Fexamples`) | upstream `packages\u002Fexamples` |\n\nCore also ships a native **Audio** engine and OSC desktop **notifications** — see `.\u002Freferences\u002Fcore\u002Fapi.md`.\n\n## Resources\n\n**Repository**: https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopentui\n**Core Docs**: https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopentui\u002Ftree\u002Fmain\u002Fpackages\u002Fcore\u002Fdocs\n**Examples**: https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopentui\u002Ftree\u002Fmain\u002Fpackages\u002Fexamples\u002Fsrc\n**Awesome List**: https:\u002F\u002Fgithub.com\u002Fmsmps\u002Fawesome-opentui\n","# OpenTUI Platform Skill\n\nConsolidated skill for building terminal user interfaces with OpenTUI. Use decision trees below to find the right framework and components, then load detailed references.\n\n## Critical Rules\n\n**Follow these rules in all OpenTUI code:**\n\n1. **Use `create-tui` for new projects.** See framework `REFERENCE.md` quick starts.\n2. **`create-tui` options must come before arguments.** `bunx create-tui -t react my-app` works, `bunx create-tui my-app -t react` does NOT.\n3. **Never call `process.exit()` directly.** Use `renderer.destroy()` (see `core\u002Fgotchas.md`).\n4. **Text styling requires nested tags in React\u002FSolid.** Use modifier elements, not props (see `components\u002Ftext-display.md`).\n\n## How to Use This Skill\n\n### Reference File Structure\n\nFramework references follow a 5-file pattern. Cross-cutting concepts are single-file guides.\n\nEach framework in `.\u002Freferences\u002F\u003Cframework>\u002F` contains:\n\n| File | Purpose | When to Read |\n|------|---------|--------------|\n| `REFERENCE.md` | Overview, when to use, quick start | **Always read first** |\n| `api.md` | Runtime API, components, hooks | Writing code |\n| `configuration.md` | Setup, tsconfig, bundling | Configuring a project |\n| `patterns.md` | Common patterns, best practices | Implementation guidance |\n| `gotchas.md` | Pitfalls, limitations, debugging | Troubleshooting |\n\nCross-cutting concepts in `.\u002Freferences\u002F\u003Cconcept>\u002F` have `REFERENCE.md` as the entry point.\n\n### Reading Order\n\n1. Start with `REFERENCE.md` for your chosen framework\n2. Then read additional files relevant to your task:\n   - Building components -> `api.md` + `components\u002F\u003Ccategory>.md`\n   - Setting up project -> `configuration.md`\n   - Layout\u002Fpositioning -> `layout\u002FREFERENCE.md`\n   - Keyboard\u002Finput handling -> `keyboard\u002FREFERENCE.md`\n   - Layered keybindings\u002Fcommands -> `keymap\u002FREFERENCE.md`\n   - Animations -> `animation\u002FREFERENCE.md`\n   - Troubleshooting -> `gotchas.md` + `testing\u002FREFERENCE.md`\n\n### Example Paths\n\n```\n.\u002Freferences\u002Freact\u002FREFERENCE.md           # Start here for React\n.\u002Freferences\u002Freact\u002Fapi.md              # React components and hooks\n.\u002Freferences\u002Fsolid\u002Fconfiguration.md    # Solid project setup\n.\u002Freferences\u002Fcomponents\u002Finputs.md      # Input, Textarea, Select docs\n.\u002Freferences\u002Fcore\u002Fgotchas.md           # Core debugging tips\n```\n\n### Runtime Notes\n\nOpenTUI runs on Bun and uses Zig for native builds. Read `.\u002Freferences\u002Fcore\u002Fgotchas.md` for runtime requirements and build guidance.\n\n## Quick Decision Trees\n\n### \"Which framework should I use?\"\n\n```\nWhich framework?\n├─ I want full control, maximum performance, no framework overhead\n│  └─ core\u002F (imperative API)\n├─ I know React, want familiar component patterns\n│  └─ react\u002F (React reconciler)\n├─ I want fine-grained reactivity, optimal re-renders\n│  └─ solid\u002F (Solid reconciler)\n└─ I'm building a library\u002Fframework on top of OpenTUI\n   └─ core\u002F (imperative API)\n```\n\n### \"I need to display content\"\n\n```\nDisplay content?\n├─ Plain or styled text -> components\u002Ftext-display.md\n├─ Container with borders\u002Fbackground -> components\u002Fcontainers.md\n├─ Scrollable content area -> components\u002Fcontainers.md (scrollbox)\n├─ Standalone scrollbar -> components\u002Fcontainers.md (scrollbar)\n├─ ASCII art banner\u002Ftitle -> components\u002Ftext-display.md (ascii-font)\n├─ QR code -> components\u002Ftext-display.md (qr-code, @opentui\u002Fqrcode)\n├─ Data table with borders\u002Fwrapping -> components\u002Fcode-diff.md (TextTable)\n├─ Code with syntax highlighting -> components\u002Fcode-diff.md\n├─ Diff viewer (unified\u002Fsplit, hunk nav) -> components\u002Fcode-diff.md\n├─ Line numbers with diagnostics -> components\u002Fcode-diff.md\n└─ Markdown content (streaming) -> components\u002Fcode-diff.md (markdown)\n```\n\n### \"I need user input\"\n\n```\nUser input?\n├─ Single-line text field -> components\u002Finputs.md (input)\n├─ Multi-line text editor -> components\u002Finputs.md (textarea)\n├─ Select from a list (vertical) -> components\u002Finputs.md (select)\n├─ Tab-based selection (horizontal) -> components\u002Finputs.md (tab-select)\n├─ Value slider -> components\u002Finputs.md (slider)\n├─ Declarative\u002Flayered keybindings -> keymap\u002FREFERENCE.md (@opentui\u002Fkeymap)\n└─ Custom keyboard shortcuts -> keyboard\u002FREFERENCE.md\n```\n\n### \"I need layout\u002Fpositioning\"\n\n```\nLayout?\n├─ Flexbox-style layouts (row, column, wrap) -> layout\u002FREFERENCE.md\n├─ Absolute positioning -> layout\u002Fpatterns.md\n├─ Responsive to terminal size -> layout\u002Fpatterns.md\n├─ Centering content -> layout\u002Fpatterns.md\n└─ Complex nested layouts -> layout\u002Fpatterns.md\n```\n\n### \"I need animations\"\n\n```\nAnimations?\n├─ Timeline-based animations -> animation\u002FREFERENCE.md\n├─ Easing functions -> animation\u002FREFERENCE.md\n├─ Property transitions -> animation\u002FREFERENCE.md\n└─ Looping animations -> animation\u002FREFERENCE.md\n```\n\n### \"I need to handle input\"\n\n```\nInput handling?\n├─ Keyboard events (keypress, release) -> keyboard\u002FREFERENCE.md\n├─ Layered bindings, commands, leader keys -> keymap\u002FREFERENCE.md\n├─ Focus management -> keyboard\u002FREFERENCE.md\n├─ Paste events -> keyboard\u002FREFERENCE.md\n├─ Mouse events -> components\u002Fcontainers.md\n├─ Text selection & copy-on-select -> keyboard\u002FREFERENCE.md (selection)\n└─ Clipboard (OSC 52) -> keyboard\u002FREFERENCE.md (clipboard)\n```\n\n### \"I need to test my TUI\"\n\n```\nTesting?\n├─ Snapshot testing -> testing\u002FREFERENCE.md\n├─ Interaction testing -> testing\u002FREFERENCE.md\n├─ Test renderer setup -> testing\u002FREFERENCE.md\n└─ Debugging tests -> testing\u002FREFERENCE.md\n```\n\n### \"I need platform capabilities (audio, notifications, SSH)\"\n\n```\nPlatform capability?\n├─ Play sound \u002F native audio -> core\u002Fapi.md (Audio)\n├─ Desktop notifications (OSC 9\u002F777\u002F99) -> core\u002Fapi.md (triggerNotification)\n├─ Custom stdin\u002Fstdout (PTY, xterm.js) -> core\u002Fapi.md (createCliRenderer)\n└─ Serve a TUI over SSH -> core\u002FREFERENCE.md (@opentui\u002Fssh)\n```\n\n### \"I need to debug\u002Ftroubleshoot\"\n\n```\nTroubleshooting?\n├─ Runtime errors, crashes -> \u003Cframework>\u002Fgotchas.md\n├─ Layout issues -> layout\u002FREFERENCE.md + layout\u002Fpatterns.md\n├─ Input\u002Ffocus issues -> keyboard\u002FREFERENCE.md\n└─ Repro + regression tests -> testing\u002FREFERENCE.md\n```\n\n### Troubleshooting Index\n\n- Terminal cleanup, crashes -> `core\u002Fgotchas.md`\n- Text styling not applying -> `components\u002Ftext-display.md`\n- Input focus\u002Fshortcuts -> `keyboard\u002FREFERENCE.md`\n- Layout misalignment -> `layout\u002FREFERENCE.md`\n- Flaky snapshots -> `testing\u002FREFERENCE.md`\n\nFor component naming differences and text modifiers, see `components\u002FREFERENCE.md`.\n\n## Product Index\n\n### Frameworks\n| Framework | Entry File | Description |\n|-----------|------------|-------------|\n| Core | `.\u002Freferences\u002Fcore\u002FREFERENCE.md` | Imperative API, all primitives |\n| React | `.\u002Freferences\u002Freact\u002FREFERENCE.md` | React reconciler for declarative TUI |\n| Solid | `.\u002Freferences\u002Fsolid\u002FREFERENCE.md` | SolidJS reconciler for declarative TUI |\n\n### Cross-Cutting Concepts\n| Concept | Entry File | Description |\n|---------|------------|-------------|\n| Layout | `.\u002Freferences\u002Flayout\u002FREFERENCE.md` | Yoga\u002FFlexbox layout system |\n| Components | `.\u002Freferences\u002Fcomponents\u002FREFERENCE.md` | Component reference by category |\n| Keyboard | `.\u002Freferences\u002Fkeyboard\u002FREFERENCE.md` | Low-level keyboard input handling |\n| Keymap | `.\u002Freferences\u002Fkeymap\u002FREFERENCE.md` | Declarative layered keybindings (`@opentui\u002Fkeymap`) |\n| Animation | `.\u002Freferences\u002Fanimation\u002FREFERENCE.md` | Timeline-based animations |\n| Testing | `.\u002Freferences\u002Ftesting\u002FREFERENCE.md` | Test renderer and snapshots |\n\n### Component Categories\n| Category | Entry File | Components |\n|----------|------------|------------|\n| Text & Display | `.\u002Freferences\u002Fcomponents\u002Ftext-display.md` | text, ascii-font, styled text, qr-code |\n| Containers | `.\u002Freferences\u002Fcomponents\u002Fcontainers.md` | box, scrollbox, scrollbar, borders |\n| Inputs | `.\u002Freferences\u002Fcomponents\u002Finputs.md` | input, textarea, select, tab-select, slider |\n| Code & Diff | `.\u002Freferences\u002Fcomponents\u002Fcode-diff.md` | code, line-number, diff, markdown, text-table |\n\n### Additional Packages\n| Package | Description | Docs |\n|---------|-------------|------|\n| `@opentui\u002Fkeymap` | Layered keybinding\u002Fcommand engine (Bun or Node, no FFI) | `.\u002Freferences\u002Fkeymap\u002FREFERENCE.md` |\n| `@opentui\u002Fqrcode` | QR code component | `.\u002Freferences\u002Fcomponents\u002Ftext-display.md` |\n| `@opentui\u002Fssh` | Serve a TUI over SSH | `.\u002Freferences\u002Fcore\u002FREFERENCE.md` |\n| `@opentui\u002Fthree` | Three.js WebGPU renderer (formerly `core\u002Fsrc\u002F3d`) | upstream `packages\u002Fthree` |\n| `@opentui\u002Fexamples` | Runnable examples (formerly `core\u002Fsrc\u002Fexamples`) | upstream `packages\u002Fexamples` |\n\nCore also ships a native **Audio** engine and OSC desktop **notifications** — see `.\u002Freferences\u002Fcore\u002Fapi.md`.\n\n## Resources\n\n**Repository**: https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopentui\n**Core Docs**: https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopentui\u002Ftree\u002Fmain\u002Fpackages\u002Fcore\u002Fdocs\n**Examples**: https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopentui\u002Ftree\u002Fmain\u002Fpackages\u002Fexamples\u002Fsrc\n**Awesome List**: https:\u002F\u002Fgithub.com\u002Fmsmps\u002Fawesome-opentui\n",{"metadata":24,"description":7},{"references":25},"core, react, solid, components, layout, keyboard, keymap, animation, testing","main","58843b159d7a4050d6b785a98b908cce505c0b92","agent\u002Fskills\u002Fopentui",0,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent","https:\u002F\u002Fgithub.com\u002FReihantt6","reihsns.web.id","2026-08-19 20:08:18",{"source":8,"skillName":5,"commands":35,"prompt":45,"zipAvailable":46},[36,39,42],{"tool":37,"command":38},"npx","npx skills add Reihantt6\u002Fsns-myagent --skill opentui",{"tool":40,"command":41},"bunx","bunx skills add Reihantt6\u002Fsns-myagent --skill opentui",{"tool":43,"command":44},"pnpm","pnpm dlx skills add Reihantt6\u002Fsns-myagent --skill opentui","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002FSKILL.md",true,[48,54,58,62,66,70,74,78,82,86,90,94,98,102,106,110,114,118,122,126,130,134,138,142,146,150],{"path":49,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":52,"sourceHtmlUrl":53},"references\u002Fanimation\u002FREFERENCE.md","REFERENCE","参考文档",8613,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fanimation\u002FREFERENCE.md",{"path":55,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":56,"sourceHtmlUrl":57},"references\u002Fcomponents\u002Fcode-diff.md",16032,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fcomponents\u002Fcode-diff.md",{"path":59,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":60,"sourceHtmlUrl":61},"references\u002Fcomponents\u002Fcontainers.md",9863,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fcomponents\u002Fcontainers.md",{"path":63,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":64,"sourceHtmlUrl":65},"references\u002Fcomponents\u002Finputs.md",12059,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fcomponents\u002Finputs.md",{"path":67,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":68,"sourceHtmlUrl":69},"references\u002Fcomponents\u002FREFERENCE.md",4900,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fcomponents\u002FREFERENCE.md",{"path":71,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":72,"sourceHtmlUrl":73},"references\u002Fcomponents\u002Ftext-display.md",8112,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fcomponents\u002Ftext-display.md",{"path":75,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002Fcore\u002Fapi.md",15209,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fcore\u002Fapi.md",{"path":79,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":80,"sourceHtmlUrl":81},"references\u002Fcore\u002Fconfiguration.md",4642,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fcore\u002Fconfiguration.md",{"path":83,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fcore\u002Fgotchas.md",8452,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fcore\u002Fgotchas.md",{"path":87,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fcore\u002Fpatterns.md",8815,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fcore\u002Fpatterns.md",{"path":91,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fcore\u002FREFERENCE.md",5643,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fcore\u002FREFERENCE.md",{"path":95,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fkeyboard\u002FREFERENCE.md",14185,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fkeyboard\u002FREFERENCE.md",{"path":99,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Fkeymap\u002FREFERENCE.md",4786,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fkeymap\u002FREFERENCE.md",{"path":103,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":104,"sourceHtmlUrl":105},"references\u002Flayout\u002Fpatterns.md",8460,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Flayout\u002Fpatterns.md",{"path":107,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":108,"sourceHtmlUrl":109},"references\u002Flayout\u002FREFERENCE.md",6173,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Flayout\u002FREFERENCE.md",{"path":111,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":112,"sourceHtmlUrl":113},"references\u002Freact\u002Fapi.md",8217,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Freact\u002Fapi.md",{"path":115,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":116,"sourceHtmlUrl":117},"references\u002Freact\u002Fconfiguration.md",5994,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Freact\u002Fconfiguration.md",{"path":119,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":120,"sourceHtmlUrl":121},"references\u002Freact\u002Fgotchas.md",8454,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Freact\u002Fgotchas.md",{"path":123,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":124,"sourceHtmlUrl":125},"references\u002Freact\u002Fpatterns.md",9944,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Freact\u002Fpatterns.md",{"path":127,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":128,"sourceHtmlUrl":129},"references\u002Freact\u002FREFERENCE.md",4506,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Freact\u002FREFERENCE.md",{"path":131,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":132,"sourceHtmlUrl":133},"references\u002Fsolid\u002Fapi.md",9472,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fsolid\u002Fapi.md",{"path":135,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":136,"sourceHtmlUrl":137},"references\u002Fsolid\u002Fconfiguration.md",5854,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fsolid\u002Fconfiguration.md",{"path":139,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":140,"sourceHtmlUrl":141},"references\u002Fsolid\u002Fgotchas.md",8028,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fsolid\u002Fgotchas.md",{"path":143,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":144,"sourceHtmlUrl":145},"references\u002Fsolid\u002Fpatterns.md",11186,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fsolid\u002Fpatterns.md",{"path":147,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":148,"sourceHtmlUrl":149},"references\u002Fsolid\u002FREFERENCE.md",5167,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Fsolid\u002FREFERENCE.md",{"path":151,"resourceType":50,"resourceTypeDesc":51,"sizeBytes":152,"sourceHtmlUrl":153},"references\u002Ftesting\u002FREFERENCE.md",14991,"https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fopentui\u002Freferences\u002Ftesting\u002FREFERENCE.md",[155,162,169,176,183,190],{"skillNo":156,"name":157,"nameZh":6,"description":158,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":159,"categories":160,"keywords":161,"publishedAt":19},"01M77XDCYZ407XYMF2T4P6F7VT","youtube-transcript","Extract transcripts from YouTube videos. Use when the user asks for a transcript, subtitles, or captions of a YouTube video and provides a YouTube URL (youtube.com\u002Fwatch?v=, youtu.be\u002F, or similar). Supports output with or without timestamps.","https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fyoutube-transcript\u002FSKILL.md",[],[],{"skillNo":163,"name":164,"nameZh":6,"description":165,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":166,"categories":167,"keywords":168,"publishedAt":19},"01M77XD7PBC98J6MXGJJ2TJ8DX","youtube-thumbnail-design","YouTube thumbnail design with specific dimensions, contrast rules, and mobile preview optimization. Covers safe zones, text placement, face expression psychology, and A\u002FB testing. Use for: YouTube thumbnails, video cover images, click-through optimization. Triggers: youtube thumbnail, thumbnail design, video thumbnail, click through rate, ctr optimization, youtube cover, video cover image, thumbnail maker, thumbnail tips, youtube design, video preview image","https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fyoutube-thumbnail-design\u002FSKILL.md",[],[],{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":175,"publishedAt":19},"01M77XD2541C8HXJ6RHYZP4NGJ","youtube-short-maker","Make YouTube Shorts that hold attention with Pexo — vertical 9:16, fast-paced, hook in the first 3 seconds. Describe your topic and Pexo writes the script, generates the shots, picks the models, and assembles a finished Short with music and captions. Use for YouTube Shorts: \"youtube short\", \"make a youtube short\", \"shorts video\", \"short-form video\". NOT for long-form or landscape video.","https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fyoutube-short-maker\u002FSKILL.md",[],[],{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":19},"01M77XCXKVSYK7KTZ3PQBVVGFD","xcode-project-setup","Safely modifies Xcode projects (.pbxproj) to add Swift Packages and link files. Use this skill whenever an iOS project needs dependencies installed (e.g. Firebase, Alamofire).","https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fxcode-project-setup\u002FSKILL.md",[],[],{"skillNo":184,"name":185,"nameZh":6,"description":186,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":187,"categories":188,"keywords":189,"publishedAt":19},"01M77XCR1DV8ZQK2NHWKVY4EWX","x402","Set up Browser Use Cloud payments with x402 — pay per request from a crypto wallet (USDC on Base mainnet), no signup or API key. Two setups it works out up front — \"just use it\" (set up a wallet so you or Claude Code can run cloud browser tasks paid from the wallet — Claude writes and runs throwaway scripts, nothing touches your codebase) or \"build it in\" (install the SDK and write the key + code into your project). Walks through wallet setup, funding, .env, and a ~$1 test run. Use when the user asks about x402, pay-per-use, USDC payments, or wants Browser Use Cloud without an API key. For the free-tier signup (reverse-CAPTCHA → API key), use `browser-use cloud signup` or the `cloud` skill instead.","https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fx402\u002FSKILL.md",[],[],{"skillNo":191,"name":192,"nameZh":6,"description":193,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":194,"categories":195,"keywords":196,"publishedAt":19},"01M77XCMD3R3ZBZQQSW6E0793B","x-twitter-scraper","Build GitHub Copilot workflows with Xquik X API SDKs, REST endpoints, hosted Apify Actor runs, MCP tools, TweetClaw OpenClaw plugin installs, signed webhooks, tweet search, user lookup, follower exports, media actions, and agent automation.","https:\u002F\u002Fgithub.com\u002FReihantt6\u002Fsns-myagent\u002Fblob\u002Fmain\u002Fagent\u002Fskills\u002Fx-twitter-scraper\u002FSKILL.md",[],[]]