In the Skill's Own Terms
This skill gives an agent expert guidance for building applications with shadcn/ui, the collection of accessible, customizable components built with Radix UI or Base UI and Tailwind CSS. It covers component discovery through the shadcn MCP tools, installation with the CLI or manual integration, project setup via the create and init commands, and the components.json options such as style, baseColor, cssVariables, rsc and rtl.
It explains the components/ui/ file layout and the cn() helper, then customization through CSS variables in app/globals.css, class-variance-authority variants and wrapper components. Blocks are organized by category, followed by accessibility rules, common form, dialog and table patterns, troubleshooting, and a five-step validation list.
What it produces
- Component source files written into components/ui/ and wired into your imports.
- An updated components.json reflecting the configuration and added components.
- Block source code retrieved for multi-file interfaces such as dashboards or login flows.
- Your own wrapper component files, for example components/custom-button.tsx.
How It Works
- 01Browse the Catalog First
Explore available components through the shadcn MCP tools rather than guessing names, using list_components, get_component_metadata and get_component_demo.
- 02Add the Component with the CLI
The recommended route is the add command, which downloads source adapted to your config, installs dependencies and places files in components/ui/.
- 03Or Integrate the Source by Hand
For manual integration, pull the code with get_component, create the file yourself, install peer dependencies and adjust imports.
- 04Initialize Project Configuration
New projects use create to pick style, fonts and component library; existing projects run init, which writes components.json.
- 05Theme with CSS Variables
Colors live in Tailwind config and CSS variables, with a .dark block supplying dark mode overrides.
- 06Validate Before Committing
Type check, lint, test accessibility, check light and dark modes and verify breakpoints.