shadcn-ui
Expert guidance for integrating and building applications with shadcn/ui components, including component discovery, installation, customization, and best…
Skill by google-labs-code
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/google-labs-code-shadcn-ui
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: design, frontend
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Shell scripts
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/shadcn-ui
What's inside
- Skill name
shadcn-ui- Description
- Expert guidance for integrating and building applications with shadcn/ui components, including component discovery, installation, customization, and best practices.
- License
- Apache-2.0
- Instructions
- 316 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- allowed-tools: must be a space-separated string
Files (10)
- README.md
- SKILL.md
- auth-layout.tsx · examples/
- data-table.tsx · examples/
- form-pattern.tsx · examples/
- component-catalog.md · resources/
- customization-guide.md · resources/
- migration-guide.md · resources/
- setup-guide.md · resources/
- verify-setup.sh · scripts/
SKILL.md (first lines)
# shadcn/ui Component Integration
You are a frontend engineer specialized in building applications with shadcn/ui—a collection of beautifully designed, accessible, and customizable components built with Radix UI or Base UI and Tailwind CSS. You help developers discover, integrate, and customize components following best practices.
## Core Principles
shadcn/ui is **not a component library**—it's a collection of reusable components that you copy into your project. This gives you:
- **Full ownership**: Components live in your codebase, not node_modules
- **Complete customization**: Modify styling, behavior, and structure freely, including choosing between Radix UI or Base UI primitives
- **No version lock-in**: Update components selectively at your own pace
- **Zero runtime overhead**: No library bundle, just the code you need
## Component Discovery and Installation
### 1. Browse Available Components
Use the shadcn MCP tools to explore the component catalog and Registry Directory:
- **List all components**: Use `list_components` to see the complete catalog
- **Get component metadata**: Use `get_component_metadata` to understand props, dependencies, and usage
- **View component demos**: Use `get_component_demo` to see implementation examples
### 2. Component Installation
There are two approaches to adding components:
**A. Direct Installation (Recommended)**
```bash
npx shadcn@latest add [component-name]
```
This command:
- Downloads the component source code (adapting to your config: Radix vs Base UI)
- Installs required dependencies
- Places files in `components/ui/`
- Updates your `components.json` config
**B. Manual Integration**
1. Use `get_component` to retrieve the source code
2. Create the file in `components/ui/[component-name].tsx`
3. Install peer dependencies manually
4. Adjust imports if needed
### 3. Registry and Custom Registries
If working with a custom registry (defined in `components.json`) or exploring the Registry Directory:
- Use `get_project_registries` to list available registries
- Use `list_items_in_registries` to see registry-specific components
- Use `view_items_in_registries` for detailed component information
- Use `search_items_in_registries` to find specific components
## Project Setup
### Initial Configuration
For **new projects**, use the `create` command to customize everything (style, fonts, component library):
```bash
npx shadcn@latest create
```
For **existing projects**, initialize configuration:
```bash
npx shadcn@latest init
```
This creates `components.json` with your configuration:
- **style**: default, new-york (classic) OR choose new visual styles like Vega, Nova, Maia, Lyra, Mira
- **baseColor**: slate, gray, zinc, neutral, stone
- **cssVariables**: true/false for CSS variable usage
- **tailwind config**: paths to Tailwind files
- **aliases**: import path shortcuts
- **rsc**: Use React Server Components (yes/no)
- **rtl**: Enable RTL support (optional)
### Required Dependencies
shadcn/ui components require:
- **React** (18+)
- **Tailwind CSS** (3.0+)
- **Primitives**: Radix UI OR Base UI (depending on your choice)
- **class-variance-authority** (for variant styling)
- **clsx** and **tailwind-merge** (for class composition)
## Component Architecture
### File Structure
```
src/
├── components/
│ ├── ui/ # shadcn components
│ │ ├── button.tsx
│ │ ├── card.tsx
│ │ └── dialog.tsx
│ └── [custom]/ # your composed components
│ └── user-card.tsx
├── lib/
│ └── utils.ts # cn() utility
└── app/
└── page.tsx
```
### The `cn()` Utility
All shadcn components use the `cn()` helper for class merging:
```typescript
import { clsx, type ClassValue } from "clsx"
import { twMerge } from "tailwind-merge"
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs))
}
```
This allows you to:
- Override default styles without conflicts
- Conditionally apply classes
- Merge Tailwind classes intelligentlyFrom google-labs-code/stitch-skills, Apache-2.0.
More from google-labs-code/stitch-skills
- 0.798score
stitch::extract-design-md
google-labs-code
Extract a comprehensive design system (DESIGN.md) directly from frontend source code — React, Vue, Svelte, Angular, plain HTML/CSS, or any web framework.
SkillBFreshness: B★ 8.6KClaude Code +9 - 0.798score
stitch::extract-static-html
google-labs-code
Extract self-contained static HTML from a built web application or React components by inlining CSS and images.
SkillBFreshness: B★ 8.6KClaude Code +9 - 0.798score
stitch::upload-to-stitch
google-labs-code
Upload local assets (images, mockups, extracted HTML, design markdown) to a Stitch project.
SkillBFreshness: B★ 8.6KClaude Code +9 - 0.798score
site-md
google-labs-code
Analyze a project description or site requirements and synthesize a project constitution into SITE.md for the Stitch Build Loop
SkillBFreshness: B★ 8.6KClaude Code +9 - 0.792score
stitch::code-to-design
google-labs-code
Convert frontend code (Vite, React, Angular, Vue, etc.) to a Stitch Design by chaining static HTML extraction, design system extraction, and file upload.
SkillBFreshness: B★ 8.6KClaude Code +9 - 0.746score
enhance-prompt
google-labs-code
Transforms vague UI ideas into polished, Stitch-optimized prompts.
SkillCFreshness: C★ 8.6KClaude Code +9 - 0.743score
remotion
google-labs-code
Generate walkthrough videos from Stitch projects using Remotion with smooth transitions, zooming, and text overlays
SkillCFreshness: C★ 8.6KClaude Code +9 - 0.740score
taste-design
google-labs-code
Semantic Design System Skill for Google Stitch.
SkillCFreshness: C★ 8.6KClaude Code +9 - 0.740score
react-vite-dashboard
google-labs-code
Convert Stitch designs into production React + Vite dashboards with TanStack Query, accessible tokens from DESIGN.md, and Web3-ready patterns (ethers/viem).
SkillCFreshness: C★ 8.6KClaude Code +9 - 0.737score
stitch::react-components
google-labs-code
Converts Stitch designs into modular Vite and React components, or syncs/updates existing React components to align with the latest Stitch designs, using…
SkillCFreshness: C★ 8.6KClaude Code +9 - 0.737score
stitch-loop
google-labs-code
Teaches agents to iteratively build websites using Stitch with an autonomous baton-passing loop pattern
SkillCFreshness: C★ 8.6KClaude Code +9 - 0.737score
stitch::react-native
google-labs-code
Convert Stitch HTML designs to React Native components, or syncs/updates existing native components to align with the latest Stitch designs, using StyleSheet.
SkillCFreshness: C★ 8.6KClaude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 8,572
- Forks
- 1,052
- Open issues
- 10
- Last commit (this folder)
- Jul 21, 2026 (3 months ago)
- Last release
- May 18, 2026 (5 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
- 0.281score
shadcn-ui
alimovscott
Expert guidance for integrating and building applications with shadcn/ui components, including component discovery, installation, customization, and best…
SkillCFreshness: CClaude Code +9 - 0.281score
shadcn-ui
HackamViGo
Expert guidance for integrating and building applications with shadcn/ui components, including component discovery, installation, customization, and best…
SkillCFreshness: CClaude Code +9 - 0.241score
shadcn-ui
haz3141
Expert guidance for integrating and building applications with shadcn/ui components, including component discovery, installation, customization, and best…
SkillDFreshness: DClaude Code +9 - 0.238score
shadcn-ui
mariorodriguezazir-creator
Expert guidance for integrating and building applications with shadcn/ui components, including component discovery, installation, customization, and best…
SkillDFreshness: DClaude Code +9 - 0.235score
shadcn-ui
pvlppv
Expert guidance for integrating and building applications with shadcn/ui components, including component discovery, installation, customization, and best…
SkillDFreshness: DClaude Code +9
More from google-labs-code
- 0.798score
stitch::extract-static-html
google-labs-code
Extract self-contained static HTML from a built web application or React components by inlining CSS and images.
SkillBFreshness: B★ 8.6KClaude Code +9 - 0.798score
site-md
google-labs-code
Analyze a project description or site requirements and synthesize a project constitution into SITE.md for the Stitch Build Loop
SkillBFreshness: B★ 8.6KClaude Code +9 - 0.798score
stitch::extract-design-md
google-labs-code
Extract a comprehensive design system (DESIGN.md) directly from frontend source code — React, Vue, Svelte, Angular, plain HTML/CSS, or any web framework.
SkillBFreshness: B★ 8.6KClaude Code +9 - 0.798score
stitch::upload-to-stitch
google-labs-code
Upload local assets (images, mockups, extracted HTML, design markdown) to a Stitch project.
SkillBFreshness: B★ 8.6KClaude Code +9 - 0.792score
stitch::code-to-design
google-labs-code
Convert frontend code (Vite, React, Angular, Vue, etc.) to a Stitch Design by chaining static HTML extraction, design system extraction, and file upload.
SkillBFreshness: B★ 8.6KClaude Code +9 - 0.746score
enhance-prompt
google-labs-code
Transforms vague UI ideas into polished, Stitch-optimized prompts.
SkillCFreshness: C★ 8.6KClaude Code +9
Cite this page
shadcn-ui skill. Agent Mart. https://agentmart.dev/skills/google-labs-code-shadcn-ui (last updated 2026-10-24)