What problem does it solve? When no Base UI primitive exists for a component you need — such as Breadcrumb, Rating, Tag Input, Calendar, or Data Table — building one from scratch means getting ARIA roles, keyboard navigation, focus management, controlled/uncontrolled state, and form integration right, which is easy to get wrong. ## Core Features & Use Cases - Decision Gate: Determines whether to wrap an existing Base UI primitive, compose from primitives, adopt a headless library (react-aria, cmdk, embla, dnd-kit), or build from scratch. - Four Component Templates: Provides complete TypeScript implementations for presentational, interactive, form-control, and composite components, including useControllableState and useRovingFocus hooks. - ARIA and Keyboard References: Maps components to correct ARIA roles and state attributes, and documents keyboard patterns including roving tabindex, aria-activedescendant, grid navigation, and typeahead. - Use Case: You need a Rating component with arrow-key adjustment, slider ARIA semantics, and hover preview. Follow the Interactive Template to produce a component with controlled/uncontrolled value, Home/End support, and disabled/readOnly states. ## Quick Start Ask the assistant to build a new Tag Input component from scratch with keyboard support and form submission using the build-primitive skill.