radix-ui-design-system
sickn33/agentic-awesome-skills
Build accessible, unstyled design systems with Radix UI primitives and full customization control.
What is radix-ui-design-system?
Radix UI Design System provides headless React components for building production-grade, accessible UI libraries from scratch. Use it when you need complete control over styling and behavior, WCAG compliance, and complex interactive components like dialogs, dropdowns, and tabs.
- Provides unstyled, accessible React primitives (Dialog, Dropdown, Select, Tabs, etc.)
- Enables full CSS customization via CSS variables, Tailwind, or styled-components
- Implements compound component patterns for complex interactive UIs
- Handles keyboard navigation and ARIA attributes automatically
- Supports theming strategies for design system consistency
- Works with form libraries like React Hook Form for integrated form handling
How to install radix-ui-design-system
npx skills add https://github.com/sickn33/agentic-awesome-skills --skill radix-ui-design-system- React 16.8 or higher (hooks required)
- Node.js and npm/yarn for package installation
- Basic knowledge of React component composition
- CSS or Tailwind for styling primitives
How to use radix-ui-design-system
- 1.Install the skill via npx skills add
- 2.Import Radix UI primitives from @radix-ui packages (e.g., @radix-ui/react-dialog)
- 3.Wrap components with Root, Trigger, and Portal elements following compound patterns
- 4.Apply custom CSS classes to style primitives
- 5.Integrate with form libraries or state management as needed
- 6.Test keyboard navigation and screen reader compatibility
Use cases
- Creating a custom design system from scratch with brand-specific styling
- Building accessible component libraries for enterprise applications
- Implementing complex interactive features like command palettes or nested menus
- Migrating from pre-styled component libraries to unstyled primitives
- Setting up WCAG 2.1 AA/AAA compliant interfaces
- Frontend engineers building design systems
- React developers needing accessibility-first components
- Teams requiring full styling control and customization
- Projects with strict WCAG compliance requirements
- Developers migrating from styled component libraries
radix-ui-design-system FAQ
Use Radix UI when you need complete styling control and are building a custom design system. shadcn/ui and Mantine provide pre-styled components; Radix gives you unstyled primitives with full customization.
No, Radix UI is headless—it provides behavior and accessibility only. You style components yourself using CSS, Tailwind, CSS-in-JS, or any styling approach.
Yes, Radix UI handles ARIA attributes, keyboard navigation, and focus management automatically, supporting WCAG 2.1 AA/AAA compliance out of the box.
Yes, Radix UI has full TypeScript support with proper type definitions for all components and props.
Radix UI requires React 16.8 or higher due to its use of hooks. It does not support class components or older React versions.
Full instructions (SKILL.md)
Source of truth, from sickn33/agentic-awesome-skills.
name: radix-ui-design-system description: "Build accessible design systems with Radix UI primitives. Headless component customization, theming strategies, and compound component patterns for production-grade UI libraries." risk: safe source: self date_added: "2026-02-27"
Radix UI Design System
Build production-ready, accessible design systems using Radix UI primitives with full customization control and zero style opinions.
Detailed Guide
Read the detailed guide before executing this skill. It retains the complete procedure and reference material. Treat its safety, prerequisites, and validation requirements as mandatory. For focused work, load the relevant sections; for end-to-end work, read the guide completely.
When to Use This Skill
- Creating a custom design system from scratch
- Building accessible UI component libraries
- Implementing complex interactive components (Dialog, Dropdown, Tabs, etc.)
- Migrating from styled component libraries to unstyled primitives
- Setting up theming systems with CSS variables or Tailwind
- Need full control over component behavior and styling
- Building applications requiring WCAG 2.1 AA/AAA compliance
Do not use this skill when
- You need pre-styled components out of the box (use shadcn/ui, Mantine, etc.)
- Building simple static pages without interactivity
- The project doesn't use React 16.8+ (Radix requires hooks)
- You need components for frameworks other than React
Real-World Examples
Example 1: Command Palette (Combo Dialog)
import * as Dialog from '@radix-ui/react-dialog';
import { Command } from 'cmdk';
export function CommandPalette() {
const [open, setOpen] = useState(false);
useEffect(() => {
const down = (e: KeyboardEvent) => {
if (e.key === 'k' && (e.metaKey || e.ctrlKey)) {
e.preventDefault();
setOpen((open) => !open);
}
};
document.addEventListener('keydown', down);
return () => document.removeEventListener('keydown', down);
}, []);
return (
<Dialog.Root open={open} onOpenChange={setOpen}>
<Dialog.Portal>
<Dialog.Overlay className="fixed inset-0 bg-black/50" />
<Dialog.Content className="fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2">
<Command>
<Command.Input placeholder="Type a command..." />
<Command.List>
<Command.Empty>No results found.</Command.Empty>
<Command.Group heading="Suggestions">
<Command.Item>Calendar</Command.Item>
<Command.Item>Search Emoji</Command.Item>
</Command.Group>
</Command.List>
</Command>
</Dialog.Content>
</Dialog.Portal>
</Dialog.Root>
);
}
Example 2: Dropdown Menu with Icons
import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
import { DotsHorizontalIcon } from '@radix-ui/react-icons';
export function ActionsMenu() {
return (
<DropdownMenu.Root>
<DropdownMenu.Trigger asChild>
<button className="icon-button" aria-label="Actions">
<DotsHorizontalIcon />
</button>
</DropdownMenu.Trigger>
<DropdownMenu.Portal>
<DropdownMenu.Content className="dropdown-content" align="end">
<DropdownMenu.Item className="dropdown-item">
Edit
</DropdownMenu.Item>
<DropdownMenu.Item className="dropdown-item">
Duplicate
</DropdownMenu.Item>
<DropdownMenu.Separator className="dropdown-separator" />
<DropdownMenu.Item className="dropdown-item text-red-500">
Delete
</DropdownMenu.Item>
</DropdownMenu.Content>
</DropdownMenu.Portal>
</DropdownMenu.Root>
);
}
Example 3: Form with Radix Select + React Hook Form
import * as Select from '@radix-ui/react-select';
import { useForm, Controller } from 'react-hook-form';
interface FormData {
country: string;
}
export function CountryForm() {
const { control, handleSubmit } = useForm<FormData>();
return (
<form onSubmit={handleSubmit((data) => console.log(data))}>
<Controller
name="country"
control={control}
render={({ field }) => (
<Select.Root onValueChange={field.onChange} value={field.value}>
<Select.Trigger className="select-trigger">
<Select.Value placeholder="Select a country" />
<Select.Icon />
</Select.Trigger>
<Select.Portal>
<Select.Content className="select-content">
<Select.Viewport>
<Select.Item value="us">United States</Select.Item>
<Select.Item value="ca">Canada</Select.Item>
<Select.Item value="uk">United Kingdom</Select.Item>
</Select.Viewport>
</Select.Content>
</Select.Portal>
</Select.Root>
)}
/>
<button type="submit">Submit</button>
</form>
);
}
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Related skills
More from sickn33/agentic-awesome-skills and the wider catalog.

react-nextjs-development
React and Next.js 14+ development with App Router, Server Components, TypeScript, and Tailwind CSS.

react-ui-patterns
Modern React UI patterns for loading states, error handling, and data fetching.

scroll-experience
Build immersive scroll-driven experiences with parallax, animations, and cinematic storytelling.

security-audit
Orchestrate comprehensive security audits covering reconnaissance, vulnerability scanning, web app testing, API security, and penetration testing.

security-auditor
Expert security auditor for DevSecOps, vulnerability assessment, and compliance frameworks.

security-review
Agent skill from sickn33/agentic-awesome-skills.