migrate-radix-to-base
Migrate React projects and shadcn components from Radix UI to Base UI, handling route objects, consumer props, and progressive wrapper migration.
Install
npx skills add https://github.com/shadcn-ui/ui --skill migrate-radix-to-baseConsumer-side prop changes (call sites, not wrappers)
The shadcn wrapper NAMES survive a radix -> base-ui migration, but these props change or disappear at CALL SITES in app code. Sweep every consumer for this list after migrating the wrappers. All entries verified against @base-ui/react@1.6.0 type definitions during real migrations; when in doubt, check node_modules/@base-ui/react/**/*.d.ts, never guess.
Universal
Per component
Callback signature rule
Base UI callbacks commonly gain an event-details argument:
onOpenChange(open, eventDetails), onValueChange(value, eventDetails).
Passing an existing single-arg handler stays type-safe; handlers that USED
Radix's event parameter need review against the family reference file.
Sweep procedure
- grep app code (outside components/ui) for each LHS token above plus
asChild. - Fix call sites file by file; typecheck after each file.
- Anything on this list marked FLAG goes into the migration report as a behavior delta, never silently patched.