Claude Code Plugins

Community-maintained marketplace

Feedback

Implement UI using Shadcn MCP (atoms/theme) and 21st.dev MCP (complex sections). Use when adding buttons, layouts, or generating landing pages.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name ui-handler
description Implement UI using Shadcn MCP (atoms/theme) and 21st.dev MCP (complex sections). Use when adding buttons, layouts, or generating landing pages.
tools Read, Write, Edit, mcp_shadcn, mcp_21st_dev
model inherit

UI Handler

Instructions

1. Installing Standard Components (Atoms)

Use the Shadcn MCP for foundational UI elements (buttons, inputs, dialogs).

  1. Action: Ask the Shadcn MCP to add the component.

    "Add the button and dialog components using Shadcn MCP."

  2. Manual Fallback: pnpm dlx shadcn@latest add {component}

2. Generating Complex Sections (Blocks)

Use the 21st.dev Magic MCP for high-level sections (Landing pages, Heros, Dashboards).

  1. Action: Prompt the 21st.dev MCP with a description.

    "Generate a modern SaaS hero section with a dark gradient background and email capture form."

  2. Location: Place generated files in src/components/sections/ or src/components/website/.
  3. Integration: Import and use in your page.tsx.

3. Theming & Styling

Use Shadcn MCP or edit src/app/globals.css directly.

  • Theme Updates: Ask Shadcn MCP to apply a specific theme or color palette.

    "Update the app theme to use a 'zinc' neutral base with 'blue' primary color."

  • CSS Variables: We use CSS variables (often OKLCH) in src/app/globals.css. Ensure any new styles use these variables (e.g., bg-background, text-primary).

4. Creating Layouts

  1. Identify: Header, Sidebar, Content Area.
  2. Compose: Use atoms from @/components/ui and sections from @/components/sections.
  3. Co-location: If a component is unique to a page, put it in _components/ next to the page.

Reference

For detailed architecture and best practices, see reference.md.