---
name: shadcn-svelte-management
description: |
Manage UI components using MCP tools with primary focus on Svelte ecosystem. Specialized in Svelte component libraries including shadcn-svelte, Skeleton UI, and Melt UI. Use when user needs to:
(1) Add new Svelte UI components to a project
(2) Build complex UI features requiring multiple components
(3) Research component implementations and examples
(4) Get component installation commands
(5) Choose appropriate Svelte component library
Triggers: "add components", "UI components", "build UI", "install component", "create form", "create dialog", "svelte components", "shadcn-svelte", "skeleton ui"
---
# Svelte Component Management
## Primary Focus: Svelte Ecosystem
Specialized in Svelte component libraries and their management:
- **shadcn-svelte**: Svelte adaptation of shadcn/ui
- **Skeleton UI**: Modern, accessible Svelte component library
- **Melt UI**: Headless components for Svelte
- **Custom components**: Built from scratch with Tailwind CSS
## Prerequisites
### For Svelte Projects
Verify project setup:
```bash
# Check if SvelteKit project
ls src/routes/ src/lib/
```
### For shadcn-svelte Projects
If using shadcn-svelte:
```bash
npx shadcn-svelte@latest init
```
### For Skeleton UI Projects
If using Skeleton UI:
```bash
npm install @skeletonlabs/skeleton
```
## Quick Add Workflow for Svelte
For simple component additions (e.g., "add a date picker"):
### Option 1: shadcn-svelte
```bash
npx shadcn-svelte@latest add button
npx shadcn-svelte@latest add card
npx shadcn-svelte@latest add dialog
```
### Option 2: Skeleton UI
```bash
npm install @skeletonlabs/skeleton
# Import in app.css: @import '@skeletonlabs/skeleton/theme';
```
### Option 3: Custom Component
Create custom component with Tailwind CSS:
```svelte
dispatch('change', { value: e.target.value })}
class="w-full px-3 py-2 border rounded-lg focus:ring-2 focus:ring-blue-500"
/>
```
## Complex Build Workflow for Svelte
For multi-component features (e.g., "build a login form"), see [references/workflows.md](references/workflows.md).
**When to use Complex Build:**
- Feature requires 3+ components
- Need component hierarchy planning
- Building complete sections (forms, dashboards, modals)
- Integrating with SvelteKit's form actions and load functions
**Svelte-specific considerations:**
- Use SvelteKit's form actions for form handling
- Leverage progressive enhancement patterns
- Consider accessibility with Svelte's ARIA support
- Use Svelte stores for state management
## Svelte Component Patterns
### Common Component Categories
- **Forms**: `form`, `input`, `select`, `checkbox`, `radio-group`, `textarea`
- **Layout**: `card`, `dialog`, `sheet`, `drawer`, `tabs`, `container`
- **Feedback**: `alert`, `toast`, `skeleton`, `progress`, `spinner`
- **Navigation**: `button`, `dropdown-menu`, `navigation-menu`, `breadcrumb`
- **Data Display**: `table`, `badge`, `avatar`, `accordion`, `carousel`
### Svelte-specific Patterns
- **Form Actions**: Integration with SvelteKit's form handling
- **Progressive Enhancement**: Works without JavaScript, enhanced with it
- **Reactive Components**: Using Svelte's reactivity for dynamic UI
- **Transitions**: Built-in Svelte transitions for smooth animations
### Installation Examples
```bash
# shadcn-svelte
npx shadcn-svelte@latest add button card form
# Skeleton UI
npm install @skeletonlabs/skeleton
# Add to app.css: @import '@skeletonlabs/skeleton/theme';
# Melt UI
npm install @melt-ui/svelte
```
## After Implementation
Always run audit:
```
shadcn___get_audit_checklist
```
## Custom Styling & Theming
Shadcn provides **structural foundation** with default styling. For custom aesthetics:
## Svelte Component Library Ecosystem
### Primary Libraries
**1. shadcn-svelte**
```bash
npx shadcn-svelte@latest init
npx shadcn-svelte@latest add [component-name]
```
- Components in: `src/lib/components/ui/`
- Theme in: `src/app.css`
- Config: `components.json`
**2. Skeleton UI**
```bash
npm install @skeletonlabs/skeleton
```
- Import in: `src/app.css` → `@import '@skeletonlabs/skeleton/theme';`
- Components: Import from `@skeletonlabs/skeleton`
- Theme: CSS variables in `src/app.css`
**3. Melt UI**
```bash
npm install @melt-ui/svelte
```
- Headless components
- Build with Tailwind CSS
- Full accessibility support
- Works with SvelteKit
**4. Custom Components**
- Build from scratch with Tailwind CSS
- Use Svelte transitions and actions
- Integrate with SvelteKit patterns
### Customization Strategies
**For shadcn-svelte:**
1. Modify CSS variables in `src/app.css`
2. Extend Tailwind config for custom themes
3. Override component styles with `class:` directives
**For Skeleton UI:**
1. Use CSS custom properties for theming
2. Leverage Skeleton's theme system
3. Combine with custom Tailwind utilities
**For Custom Components:**
1. Build with Svelte's component syntax
2. Use Tailwind for styling
3. Add Svelte transitions for animations
4. Ensure accessibility with ARIA attributes
**Invoke `frontend-design` skill when:**
- User wants unique/distinctive visual style beyond default theme
- Need custom typography, color schemes, or motion effects
- Building landing pages or marketing sites requiring creative design
- User mentions "custom styling", "unique design", "not generic"
**Workflow for Svelte projects:**
1. Choose appropriate component library (shadcn-svelte, Skeleton, Melt, or custom)
2. Use `shadcn-svelte-management` patterns adapted for Svelte
3. Invoke `frontend-design` for visual customization:
- Custom CSS variables in `src/app.css`
- Tailwind theme extensions in `tailwind.config.js`
- Svelte transitions and animations
- Typography and color refinements
**Customization targets:**
- `src/app.css` - CSS variables, custom fonts, theme imports
- `tailwind.config.js` - theme colors, fonts, animations
- `src/lib/components/ui/` - component-level overrides
- Component-level `class:` directives for dynamic styling