name: apply-shadcn description: Apply shadcn/ui components to React pages and components. This skill should be used when styling specific pages or components with shadcn/ui in a React project that has custom theming. The user will specify which pages or components to style. allowed-tools: Bash, Write, Edit, Read, Glob, Grep, TodoWrite, mcp__shadcn__get_project_registries, mcp__shadcn__search_items_in_registries, mcp__shadcn__view_items_in_registries, mcp__shadcn__get_item_examples_from_registries, mcp__shadcn__get_add_command_for_items, mcp__shadcn__get_audit_checklist
Overview
This skill applies shadcn/ui components to React pages and components while integrating with the project's custom theme defined in frontend/src/index.css.
When to Use This Skill
Use this skill when the user requests to:
- Style specific pages with shadcn/ui components
- Apply shadcn/ui to a list of components
- Add shadcn/ui styling to authentication pages, navigation, or other UI elements
The user will provide either:
- A list of page/component names to style (e.g., "Style Login.jsx, SignUp.jsx, and NavBar.jsx")
- A category of pages to style (e.g., "Style all authentication pages")
Workflow
Step 1: Create a Todo List
Create a todo list with one task per page or component that needs styling. Each task should be named after the file being styled (e.g., "Style Login.jsx", "Style NavBar.jsx").
Step 2: Install Required shadcn Components
Before styling any pages, ensure the necessary shadcn components are installed. Common components needed:
npx shadcn@latest add card input button table label separator navigation-menu
Adjust the component list based on what the pages require.
Step 3: Style Each Page or Component
For each page or component in the todo list, follow this process:
-
Mark the task as in_progress in the todo list
-
Read the existing file to understand its current structure and functionality
-
Use the MCP tool to get component examples: Call
mcp__shadcn__get_item_examples_from_registriesto retrieve usage examples for the shadcn components needed (e.g., Card, Input, Button, Table) -
Review the examples to understand:
- Proper component structure and composition
- Correct props and patterns
- Layout best practices
-
Apply shadcn styling with custom theme integration:
- Replace existing HTML elements with shadcn components
- Integrate custom CSS variables from
frontend/src/index.cssfor colors - Maintain existing functionality and logic
- Follow the theme integration guidelines below
-
Mark the task as completed in the todo list
-
Move to the next page or component
Step 4: Verify All Tasks Complete
After styling all pages, verify that every task in the todo list is marked as completed.
Step 5: Verify Setup
Run npm run build to validate imports, dependencies, and syntax
Theme Integration Guidelines
CRITICAL: The project uses custom CSS variables defined in frontend/src/index.css. When styling components that need custom colors, use these variables instead of shadcn's default theme classes.
Custom CSS Variables
Available custom variables from frontend/src/index.css:
--color-primary-{50-950}- Primary color scale--color-secondary-{50-950}- Secondary color scale--color-accent-{50-950}- Accent color scale--color-success-{50-900}- Success colors--color-error-{50-900}- Error colors
Example: Styling Primary Buttons
Use custom CSS variables with Tailwind's arbitrary value syntax:
<Button
className="w-full bg-[var(--color-primary-600)] hover:bg-[var(--color-primary-700)] text-white"
>
Button Text
</Button>
Why use custom variables: The custom theme uses specific color values (e.g., purple hue at 250) that differ from shadcn's default theme. Using bg-[var(--color-primary-600)] ensures styled pages match the rest of the application.
Common shadcn Components Used
card- Card, CardContent, CardDescription, CardHeader, CardTitleinput- Inputbutton- Buttontable- Table, TableBody, TableCell, TableHead, TableHeader, TableRownavigation-menu- Navigation menu componentslabel- Labelseparator- Separator
Notes
- Always use the MCP tool before editing to understand proper component usage
- Preserve existing component functionality and logic
- Integrate custom theme variables for consistent styling
- Work through the todo list systematically, one page at a time
- Mark each task as completed immediately after finishing it
Expert Next.js App Router
Developpement
Un skill qui transforme Claude en expert Next.js App Router.
Générateur de README
Developpement
Crée des README.md professionnels et complets pour vos projets.
Rédacteur de Documentation API
Developpement
Génère de la documentation API complète au format OpenAPI/Swagger.