Migrate Ant Design UIs to shadcn/ui + Tailwind (React/CRA/Vite → Next.js App Router). Use for: component replacement (no wrappers), Tailwind-first styling, canonical component consolidation, global CSS cleanup, route/layout scaffolding, and migration gotchas.
Install with Tessl CLI
npx tessl i github:uzhussain/ant-to-shadcn --skill ant-to-shadcn-migration87
Quality
81%
Does it follow best practices?
Impact
96%
1.05xAverage score across 3 eval scenarios
Form migration to react-hook-form + shadcn
react-hook-form used
100%
100%
zod schema defined
100%
100%
zodResolver applied
100%
100%
shadcn Form components
100%
100%
Sonner toast for feedback
50%
100%
FormMessage for field errors
100%
100%
Submit disabled while loading
100%
100%
No Ant Form imports
100%
100%
No Ant wrapper pattern
100%
100%
shadcn Input used
100%
100%
try/catch error handling
100%
100%
Without context: $0.2951 · 1m 5s · 16 turns · 17 in / 3,954 out tokens
With context: $0.4321 · 1m 13s · 23 turns · 111 in / 4,533 out tokens
Data table migration with TanStack
TanStack table used
100%
100%
shadcn Table components
100%
0%
Columns defined separately
100%
100%
Loading skeleton state
20%
80%
Empty state shown
100%
100%
Error state with retry
100%
100%
getCoreRowModel used
100%
100%
No antd Table import
100%
100%
Sorting support
100%
100%
Pagination support
100%
100%
No Ant wrapper
100%
100%
Without context: $0.4676 · 1m 46s · 23 turns · 23 in / 7,007 out tokens
With context: $1.0595 · 4m 1s · 35 turns · 3,109 in / 12,932 out tokens
App Router layout scaffold and icon replacement
App Router structure
100%
100%
loading.tsx present
100%
100%
error.tsx present
100%
100%
Kebab-case routes
100%
100%
Named lucide imports
100%
100%
h-4 w-4 icon sizing
0%
100%
No @ant-design/icons
100%
100%
Single globals.css
100%
100%
CSS vars defined
100%
100%
Z-index scale
100%
100%
Tailwind content paths
100%
100%
Nav config-driven
100%
100%
shadcn Breadcrumb used
0%
100%
Without context: $0.6339 · 3m 5s · 35 turns · 77 in / 8,751 out tokens
With context: $1.1141 · 3m 3s · 39 turns · 1,503 in / 12,948 out tokens
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.