reka-ui

Provide reusable headless Vue 3 component primitives with WAI-ARIA compliance.

45|3|Updated Jan 20, 2026
One-click install
npx skills add https://github.com/Charles5277/nuxt-supabase-starter --skill reka-ui-charles5277
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: reka-ui
Source: https://github.com/Charles5277/nuxt-supabase-starter/tree/main/.claude/skills/reka-ui
Command: npx skills add https://github.com/Charles5277/nuxt-supabase-starter --skill reka-ui-charles5277

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Streamline building accessible, headless Vue components by providing a ready-to-use API surface, patterns, and a cohesive design language.

Core Features & Use Cases

  • Unstyled, accessible Vue 3 component primitives with WAI-ARIA compliance.
  • Supports composition patterns (asChild), controlled/uncontrolled state, and virtualization.
  • Integrates with Nuxt UI and other styling systems; easy migration from Radix Vue.
  • Use cases: rapid prototyping of dialogs, menus, forms, and complex interactions with reliable accessibility.

Quick Start

Install reka-ui in your project and start importing and using its headless, accessible Vue components immediately.

Frequently Asked Questions about reka-ui

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
What are headless Vue 3 component primitives and when do I need them?

Headless Vue 3 component primitives are unstyled, WAI-ARIA compliant UI elements. You need them when building complex, accessible interfaces that require custom styling without sacrificing keyboard navigation or screen reader support.

How do I build accessible dialogs and menus using unstyled Vue components?

You build accessible dialogs and menus by importing these unstyled Vue components to leverage built-in WAI-ARIA compliance. They handle complex interactions like focus trapping and state management, letting you focus purely on visual styling.

Can I use these headless Vue components with Nuxt UI and custom styling systems?

Yes, these headless Vue components integrate seamlessly with Nuxt UI and other custom styling systems. They provide unstyled primitives that accept your own CSS or component library styles without conflicting design tokens.

What is the best way to migrate from Radix Vue to a headless Vue composition pattern?

The best way to migrate from Radix Vue is utilizing the provided composition patterns like asChild and controlled state. This allows gradual replacement of components while maintaining your existing accessible interaction logic.

Do I need to manage state manually when building complex interfaces with unstyled Vue components?

No, you do not need to manage all state manually. These unstyled Vue components support both controlled and uncontrolled state management patterns, simplifying complex interactions while maintaining predictable behavior.

Why does virtualization matter when building accessible Vue component libraries?

Virtualization matters because it ensures smooth rendering of large lists within accessible Vue components. This prevents performance bottlenecks in complex interfaces while preserving WAI-ARIA compliance during rapid DOM updates.