UI Design System
React UI component systems with TailwindCSS + Radix + shadcn/ui. Stack: TailwindCSS (styling), Radix UI (primitives), shadcn/ui (components), React/Next.js. Capabilities: design system architecture, accessible components, responsive layouts, theming, dark mode, component composition. Actions: review, design, build, improve, refactor UI components. Keywords: TailwindCSS, Radix UI, shadcn/ui, design system, component library, accessibility, ARIA, responsive, dark mode, theming, CSS variables, component architecture, atomic design, design tokens, variant, slot, composition. Use when: building component libraries, implementing shadcn/ui, creating accessible UIs, setting up design systems, adding dark mode/theming, reviewing UI component architecture.
- Skill ID
- samhvw8/dot-claude/ui-design-system
- Publisher
- samhvw8
- Repository
- dot-claude
- Installs
- 0
- Files
- 99
- License
- MIT
- Synced
- Sep 23, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
samhvw8/dot-claude/ui-design-systemInstalls these files- SKILL.md
- canvas-fonts/ArsenalSC-OFL.txt
- canvas-fonts/ArsenalSC-Regular.ttf
- canvas-fonts/BigShoulders-Bold.ttf
- canvas-fonts/BigShoulders-OFL.txt
- canvas-fonts/BigShoulders-Regular.ttf
- canvas-fonts/Boldonse-OFL.txt
- canvas-fonts/Boldonse-Regular.ttf
- canvas-fonts/BricolageGrotesque-Bold.ttf
- canvas-fonts/BricolageGrotesque-OFL.txt
- canvas-fonts/BricolageGrotesque-Regular.ttf
- canvas-fonts/CrimsonPro-Bold.ttf
- canvas-fonts/CrimsonPro-Italic.ttf
- canvas-fonts/CrimsonPro-OFL.txt
- canvas-fonts/CrimsonPro-Regular.ttf
- canvas-fonts/DMMono-OFL.txt
- canvas-fonts/DMMono-Regular.ttf
- canvas-fonts/EricaOne-OFL.txt
- canvas-fonts/EricaOne-Regular.ttf
- canvas-fonts/GeistMono-Bold.ttf
- canvas-fonts/GeistMono-OFL.txt
- canvas-fonts/GeistMono-Regular.ttf
- canvas-fonts/Gloock-OFL.txt
- canvas-fonts/Gloock-Regular.ttf
- canvas-fonts/IBMPlexMono-Bold.ttf
- canvas-fonts/IBMPlexMono-OFL.txt
- canvas-fonts/IBMPlexMono-Regular.ttf
- canvas-fonts/IBMPlexSerif-Bold.ttf
- canvas-fonts/IBMPlexSerif-BoldItalic.ttf
- canvas-fonts/IBMPlexSerif-Italic.ttf
- canvas-fonts/IBMPlexSerif-Regular.ttf
- canvas-fonts/InstrumentSans-Bold.ttf
- canvas-fonts/InstrumentSans-BoldItalic.ttf
- canvas-fonts/InstrumentSans-Italic.ttf
- canvas-fonts/InstrumentSans-OFL.txt
- canvas-fonts/InstrumentSans-Regular.ttf
- canvas-fonts/InstrumentSerif-Italic.ttf
- canvas-fonts/InstrumentSerif-Regular.ttf
- canvas-fonts/Italiana-OFL.txt
- canvas-fonts/Italiana-Regular.ttf
- canvas-fonts/JetBrainsMono-Bold.ttf
- canvas-fonts/JetBrainsMono-OFL.txt
- canvas-fonts/JetBrainsMono-Regular.ttf
- canvas-fonts/Jura-Light.ttf
- canvas-fonts/Jura-Medium.ttf
- canvas-fonts/Jura-OFL.txt
- canvas-fonts/LibreBaskerville-OFL.txt
- canvas-fonts/LibreBaskerville-Regular.ttf
- canvas-fonts/Lora-Bold.ttf
- canvas-fonts/Lora-BoldItalic.ttf
- canvas-fonts/Lora-Italic.ttf
- canvas-fonts/Lora-OFL.txt
- canvas-fonts/Lora-Regular.ttf
- canvas-fonts/NationalPark-Bold.ttf
- canvas-fonts/NationalPark-OFL.txt
- canvas-fonts/NationalPark-Regular.ttf
- canvas-fonts/NothingYouCouldDo-OFL.txt
- canvas-fonts/NothingYouCouldDo-Regular.ttf
- canvas-fonts/Outfit-Bold.ttf
- canvas-fonts/Outfit-OFL.txt
- canvas-fonts/Outfit-Regular.ttf
- canvas-fonts/PixelifySans-Medium.ttf
- canvas-fonts/PixelifySans-OFL.txt
- canvas-fonts/PoiretOne-OFL.txt
- canvas-fonts/PoiretOne-Regular.ttf
- canvas-fonts/RedHatMono-Bold.ttf
- canvas-fonts/RedHatMono-OFL.txt
- canvas-fonts/RedHatMono-Regular.ttf
- canvas-fonts/Silkscreen-OFL.txt
- canvas-fonts/Silkscreen-Regular.ttf
- canvas-fonts/SmoochSans-Medium.ttf
- canvas-fonts/SmoochSans-OFL.txt
- canvas-fonts/Tektur-Medium.ttf
- canvas-fonts/Tektur-OFL.txt
- canvas-fonts/Tektur-Regular.ttf
- canvas-fonts/WorkSans-Bold.ttf
- canvas-fonts/WorkSans-BoldItalic.ttf
- canvas-fonts/WorkSans-Italic.ttf
- canvas-fonts/WorkSans-OFL.txt
- canvas-fonts/WorkSans-Regular.ttf
- canvas-fonts/YoungSerif-OFL.txt
- canvas-fonts/YoungSerif-Regular.ttf
- references/CUSTOMIZATION.md
- references/DESIGN_TOKENS.md
- references/INTEGRATION_PATTERNS.md
- references/PERFORMANCE_OPTIMIZATION.md
- references/RADIX_REFERENCE.md
- references/RESPONSIVE_PATTERNS.md
- references/SHADCN_REFERENCE.md
- references/TAILWIND_REFERENCE.md
- references/canvas-design-system.md
- scripts/.coverage
- scripts/requirements.txt
- scripts/shadcn_add.py
- scripts/tailwind_config_gen.py
- scripts/tests/coverage-ui.json
- scripts/tests/requirements.txt
- scripts/tests/test_shadcn_add.py
- scripts/tests/test_tailwind_config_gen.py
What this skill tells the agent
UI/UX Design & Development Expert
Comprehensive UI/UX design, review, and improvement for modern web applications.
Production-ready implementations with TailwindCSS + Radix UI + shadcn/ui and modern React patterns.
Stack Architecture
The Three Pillars
Layer 1: TailwindCSS (Styling Foundation)
- Utility-first CSS framework with build-time generation
- Zero runtime overhead, minimal production bundles
- Design tokens: colors, spacing, typography, breakpoints
- Responsive utilities and dark mode support
Layer 2: Radix UI (Behavior & Accessibility)
- Unstyled, accessible component primitives
- WAI-ARIA compliant with keyboard navigation
- Focus management and screen reader support
- Unopinionated - full styling control
Layer 3: shadcn/ui (Beautiful Components)
- Pre-built components = Radix primitives + Tailwind styling
- Copy-paste distribution (you own the code)
- Built-in React Hook Form + Zod validation
- Customizable variants with type safety
Architecture Hierarchy
Application Layer
↓
shadcn/ui Components (Beautiful defaults, ready-to-use)
↓
Radix UI Primitives (Accessible behavior, unstyled)
↓
TailwindCSS Utilities (Design system, styling)Key Principle: Each layer enhances the one below. Start with Tailwind for styling, add Radix for accessible behavior, use shadcn/ui for complete components.
Core Capabilities
UI/UX Review & Audit
Systematic evaluation of existing interfaces:
- Component Architecture Review: Analyze component composition, reusability, and single responsibility
- Accessibility Audit: WCAG 2.1/2.2 AA/AAA compliance, keyboard navigation, screen reader support
- Performance Analysis: Core Web Vitals (LCP, FID, CLS), bundle size, render performance
- Responsive Design Review: Mobile-first implementation, breakpoint usage, container queries
- Design System Consistency: Token usage, spacing scale adherence, color palette compliance
- Code Quality: React best practices, hooks usage, state management patterns
- Visual Hierarchy: Typography scale, spacing rhythm, color contrast, focus indicators
UI/UX Design
Creating production-ready interface designs:
- Component Design: Atomic design principles, composition patterns, variant systems
- Layout Architecture: Grid systems, flexbox patterns, responsive containers
- Interaction Design: Hover states, focus states, loading states, error states
- Design Tokens: Three-tier token system (primitive → semantic → component)
- Color Systems: OKLCH color space, accessible palettes, dark mode support
- Typography Systems: Scale design, hierarchy, readability optimization
- Animation & Transitions: Micro-interactions, loading feedback, state changes
UI/UX Improvement
Enhancing existing implementations:
- Accessibility Enhancement: ARIA patterns, semantic HTML, keyboard navigation
- Performance Optimization: Code splitting, lazy loading, virtualization, image optimization
- Responsive Refinement: Breakpoint optimization, mobile-first improvements
- Component Refactoring: Extract shared patterns, reduce complexity, improve reusability
- Visual Polish: Spacing consistency, typography refinement, color harmony
- State Management: Optimistic updates, error handling, loading states
- Developer Experience: Component documentation, Storybook stories, type safety
Styling Integration
Framework-agnostic styling approaches:
- Tailwind with Components: Utility-first styling for any framework
- CSS-in-JS: emotion, styled-components, vanilla-extract
- CSS Modules: Scoped styles without runtime overhead
- Design System Integration: Token-based styling across frameworks
When to Use Each Layer
Use TailwindCSS Directly When:
- Building custom layouts and spacing
- Styling static content and containers
- Rapid prototyping without complex interactions
- Non-interactive UI elements
Example scenarios: Hero sections, grid layouts, cards without interaction, text styling
Use Radix UI Primitives When:
- Building custom component libraries
- Need accessibility but require custom design
- shadcn/ui doesn't have the component you need
- Full control over component structure required
Example scenarios: Custom date picker, unique navigation pattern, specialized modal behavior
Use shadcn/ui Components When:
- Building standard UI components quickly
- Need beautiful defaults with customization options
- Enterprise application development
- Form-heavy applications with validation
Example scenarios: Admin dashboards, CRUD applications, settings pages, data tables
Critical Design Principles
1. Progressive Enhancement
Start simple, enhance as needed:
- Tailwind utilities for basic styling
- Add Radix primitives for interaction
- Use shadcn/ui for complete solutions
- Customize components in your codebase
2. Composition Over Complexity
Build complex UIs from simple, reusable components:
- Small, focused components (single responsibility)
- Compose primitives rather than creating monoliths
- Leverage component slots and children patterns
3. Accessibility First
Radix UI handles accessibility automatically:
- ARIA attributes applied correctly
- Keyboard navigation built-in
- Focus management and trapping
- Screen reader compatibility
Never override accessibility features - enhance them.
4. Design Token Consistency
Use Tailwind's design system consistently:
- Stick to spacing scale (4, 8, 16, 24px)
- Use color palette (50-950 shades)
- Apply typography scale systematically
- Avoid arbitrary values unless necessary
5. Mobile-First Responsive
Always design mobile-first, scale up:
- Base styles for mobile
- Use breakpoints (sm, md, lg, xl, 2xl) to enhance
- Test on actual devices, not just browser resize
Setup Strategy
Installation Order
- TailwindCSS - Foundation
- shadcn/ui CLI - Includes Radix dependencies
- Add components - Install only what you need
- Configure theme - CSS variables + Tailwind config
- Setup dark mode - Theme provider + toggle
Configuration Best Practices
Tailwind Config:
- Use
contentpaths correctly (scan all component files) - Extend theme with CSS variables, not hardcoded values
- Enable dark mode with
classstrategy - Install
tailwindcss-animateplugin
CSS Variables (Three-Tier System):
:root {
/* Tier 1: Primitives (immutable) */
--gray-50: 250 250 250;
--gray-900: 24 24 27;
--blue-500: oklch(0.55 0.22 264);
/* Tier 2: Semantics (theme-aware) */
--background: var(--gray-50);
--foreground: var(--gray-900);
--primary: var(--blue-500);
/* Tier 3: Components */
--button-height: 2.5rem;
--card-padding: 1.5rem;
}
.dark {
/* Only semantic tokens change */
--background: var(--gray-900);
--foreground: var(--gray-50);
}Color Space Recommendation:
- Modern: Use OKLCH for perceptual uniformity
- Legacy support: Use HSL with fallbacks
- Avoid: RGB/HEX for design tokens (not human-readable)
Token Storage:
- Store in JSON for platform-agnostic distribution
- Transform to CSS variables, Swift, XML using Style Dictionary
- Version control tokens separately from component code
Path Aliases:
- Configure
@/componentsand@/libin tsconfig - Ensure consistency between Next.js and TypeScript configs
- Use aliases in imports for cleaner code
Integration Patterns
Pattern 1: shadcn/ui + Custom Tailwind
Use shadcn/ui components as base, customize with Tailwind classes:
- Apply custom spacing, colors via className prop
- Override default styles with Tailwind utilities
- Maintain component accessibility
Pattern 2: Radix Primitives + Tailwind
Build custom components from scratch:
- Use Radix for behavior (Dialog, Dropdown, etc.)
- Style completely with Tailwind utilities
- Full control over structure and appearance
Pattern 3: Hybrid Approach
Use this skill in a project
Open any RiverX project, search the Skills panel for samhvw8/dot-claude/ui-design-system, and install it in one click.
