Skill

ui-components

UI component library patterns for shadcn/ui and Radix Primitives. Use when building accessible component libraries, customizing shadcn components, using Radix unstyled primitives, or creating design system foundations.

From ork
Install
1
Run in your terminal
$
npx claudepluginhub yonatangross/orchestkit --plugin ork
Tool Access

This skill is limited to using the following tools:

ReadGlobGrepWebFetchWebSearch
Supporting Assets
View in Repository
checklists/accessibility-audit.md
checklists/shadcn-setup.md
metadata.json
references/aschild-composition.md
references/cn-utility-patterns.md
references/component-extension.md
references/cva-variant-system.md
references/dark-mode-toggle.md
references/dialog-modal-patterns.md
references/dropdown-menu-patterns.md
references/focus-management.md
references/oklch-theming.md
references/popover-tooltip-patterns.md
rules/_sections.md
rules/_template.md
rules/color-system.md
rules/css-cascade-layers.md
rules/design-system-components.md
rules/design-system-spacing.md
rules/design-system-states.md
Skill Content

UI Components

Comprehensive patterns for building accessible UI component libraries with shadcn/ui and Radix Primitives. Covers CVA variants, OKLCH theming, cn() utility, component extension, asChild composition, dialog/menu patterns, and data-attribute styling. Each category has individual rule files in rules/ loaded on-demand.

Quick Reference

CategoryRulesImpactWhen to Use
shadcn/ui3HIGHCVA variants, component customization, form patterns, data tables
Radix Primitives3HIGHDialogs, polymorphic composition, data-attribute styling
Design System5HIGHW3C tokens, OKLCH theming, spacing scales, typography, component states, animation
Design System Components1HIGHAtomic design, CVA variants, accessibility, Storybook
Forms2HIGHReact Hook Form v7, Zod validation, Server Actions
Modern CSS & Tooling3HIGHCSS cascade layers, Tailwind v4, Storybook CSF3
UX Foundations4HIGHVisual hierarchy, typography thresholds, color system, empty states

Total: 21 rules across 7 categories

Quick Start

// CVA variant system with cn() utility
import { cva, type VariantProps } from 'class-variance-authority'
import { cn } from '@/lib/utils'

const buttonVariants = cva(
  'inline-flex items-center justify-center rounded-md font-medium transition-colors',
  {
    variants: {
      variant: {
        default: 'bg-primary text-primary-foreground hover:bg-primary/90',
        destructive: 'bg-destructive text-destructive-foreground',
        outline: 'border border-input bg-background hover:bg-accent',
        ghost: 'hover:bg-accent hover:text-accent-foreground',
      },
      size: {
        default: 'h-10 px-4 py-2',
        sm: 'h-9 px-3',
        lg: 'h-11 px-8',
      },
    },
    defaultVariants: { variant: 'default', size: 'default' },
  }
)
// Radix Dialog with asChild composition
import { Dialog } from 'radix-ui'

<Dialog.Root>
  <Dialog.Trigger asChild>
    <Button>Open</Button>
  </Dialog.Trigger>
  <Dialog.Portal>
    <Dialog.Overlay className="fixed inset-0 bg-black/50" />
    <Dialog.Content className="data-[state=open]:animate-in">
      <Dialog.Title>Title</Dialog.Title>
      <Dialog.Description>Description</Dialog.Description>
      <Dialog.Close>Close</Dialog.Close>
    </Dialog.Content>
  </Dialog.Portal>
</Dialog.Root>

shadcn/ui

Beautifully designed, accessible components built on CVA variants, cn() utility, and OKLCH theming.

RuleFileKey Pattern
Customizationrules/shadcn-customization.mdCVA variants, cn() utility, OKLCH theming, component extension
Formsrules/shadcn-forms.mdForm field wrappers, react-hook-form integration, validation
Data Tablerules/shadcn-data-table.mdTanStack Table integration, column definitions, sorting/filtering

Radix Primitives

Unstyled, accessible React primitives for building high-quality design systems.

RuleFileKey Pattern
Dialogrules/radix-dialog.mdDialog, AlertDialog, controlled state, animations
Compositionrules/radix-composition.mdasChild, Slot, nested triggers, polymorphic rendering
Stylingrules/radix-styling.mdData attributes, Tailwind arbitrary variants, focus management

Key Decisions

DecisionRecommendation
Color formatOKLCH for perceptually uniform theming
Class mergingAlways use cn() for Tailwind conflicts
Extending componentsWrap, don't modify source files
VariantsUse CVA for type-safe multi-axis variants
Styling approachData attributes + Tailwind arbitrary variants
CompositionUse asChild to avoid wrapper divs
AnimationCSS-only with data-state selectors
Form componentsCombine with react-hook-form

Anti-Patterns (FORBIDDEN)

  • Modifying shadcn source: Wrap and extend instead of editing generated files
  • Skipping cn(): Direct string concatenation causes Tailwind class conflicts
  • Inline styles over CVA: Use CVA for type-safe, reusable variants
  • Wrapper divs: Use asChild to avoid extra DOM elements
  • Missing Dialog.Title: Every dialog must have an accessible title
  • Positive tabindex: Using tabindex > 0 disrupts natural tab order
  • Color-only states: Use data attributes + multiple indicators
  • Manual focus management: Use Radix built-in focus trapping

Detailed Documentation

ResourceDescription
scripts/Templates: CVA component, extended button, dialog, dropdown
checklists/shadcn setup, accessibility audit checklists
references/CVA system, OKLCH theming, cn() utility, focus management

Design System

Design token architecture, spacing, typography, and interactive component states.

RuleFileKey Pattern
Token Architecturerules/design-system-tokens.mdW3C tokens, OKLCH colors, Tailwind @theme
Spacing Scalerules/design-system-spacing.md8px grid, Tailwind space-1 to space-12
Typography Scalerules/design-system-typography.mdFont sizes, weights, line heights
Component Statesrules/design-system-states.mdHover, focus, active, disabled, loading, animation presets

Design System Components

Component architecture patterns with atomic design and accessibility.

RuleFileKey Pattern
Component Architecturerules/design-system-components.mdAtomic design, CVA variants, WCAG 2.1 AA, Storybook

Forms

React Hook Form v7 with Zod validation and React 19 Server Actions.

RuleFileKey Pattern
React Hook Formrules/forms-react-hook-form.mduseForm, field arrays, Controller, wizards, file uploads
Zod & Server Actionsrules/forms-validation-zod.mdZod schemas, Server Actions, useActionState, async validation

Modern CSS & Tooling

Modern CSS patterns, Tailwind v4, and component documentation tooling for 2026.

RuleFileKey Pattern
CSS Cascade Layersrules/css-cascade-layers.md@layer ordering, specificity-free overrides, third-party isolation
Tailwind v4rules/tailwind-v4-patterns.mdCSS-first @theme, native container queries, @max-* variants
Storybook Docsrules/storybook-component-docs.mdCSF3 stories, play() interaction tests, Chromatic visual regression

UX Foundations

Cognitive-science-grounded UI/UX principles with specific numeric thresholds for production-quality interfaces.

RuleFileKey Pattern
Visual Hierarchyrules/visual-hierarchy.mdButton tiers, de-emphasis, F/Z scan, Von Restorff, proximity, max-width
Typography Thresholdsrules/typography-thresholds.md65ch line length, 1.4–1.6 line height, rem units, modular type scale
Color Systemrules/color-system.mdOKLCH 9-shade scales, semantic categories, no true black, brand-tinted neutrals
Empty Statesrules/empty-states.mdSkeleton-first, icon + headline + description + CTA, cause-specific tone

Related Skills

  • ork:accessibility - WCAG compliance and React Aria patterns
  • ork:testing-unit - Component testing patterns
Stats
Parent Repo Stars132
Parent Repo Forks14
Last CommitMar 15, 2026