ui-handler
Implement UI using Shadcn MCP (atoms/theme) and 21st.dev MCP (complex sections). Use when adding buttons, layouts, or generating landing pages.
Best use case
ui-handler is best used when you need a repeatable AI agent workflow instead of a one-off prompt. It is especially useful for teams working in multi. Implement UI using Shadcn MCP (atoms/theme) and 21st.dev MCP (complex sections). Use when adding buttons, layouts, or generating landing pages.
Implement UI using Shadcn MCP (atoms/theme) and 21st.dev MCP (complex sections). Use when adding buttons, layouts, or generating landing pages.
Users should expect a more consistent workflow output, faster repeated execution, and less time spent rewriting prompts from scratch.
Practical example
Example input
Use the "ui-handler" skill to help with this workflow task. Context: Implement UI using Shadcn MCP (atoms/theme) and 21st.dev MCP (complex sections). Use when adding buttons, layouts, or generating landing pages.
Example output
A structured workflow result with clearer steps, more consistent formatting, and an output that is easier to reuse in the next run.
When to use this skill
- Use this skill when you want a reusable workflow rather than writing the same prompt again and again.
When not to use this skill
- Do not use this when you only need a one-off answer and do not need a reusable workflow.
- Do not use it if you cannot install or maintain the related files, repository context, or supporting tools.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/ui-handler/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How ui-handler Compares
| Feature / Agent | ui-handler | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Implement UI using Shadcn MCP (atoms/theme) and 21st.dev MCP (complex sections). Use when adding buttons, layouts, or generating landing pages.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# 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](reference.md).Related Skills
error-handler-advisor
Proactively reviews error handling patterns and suggests improvements using Result types, proper error propagation, and idiomatic patterns. Activates when users write error handling code or use unwrap/expect.
theme-handler
Manage and update application themes using shadcn and tweakcn.
stripe-handler
Handle Stripe payments, custom checkouts, and webhook fulfillment outside of standard plans/credits.
seo-handler
Manage SEO, sitemaps, and metadata for optimal search engine visibility
s3-upload-handler
Handle S3 file uploads including UI components, client-side logic, and server-side processing
replicate-handler
Integrate with Replicate AI for running models (image generation, LLMs, etc.).
plate-handler
Implement rich text editors using Plate.js. Supports creating both simple (comment/chat) and detailed (document/blog) editors.
plans-handler
Manage subscription plans, pricing, and quotas. Use when adding plan features, updating limits, or building pricing pages.
inngest-handler
Create and manage Inngest functions for reliable background jobs, workflows, and scheduled tasks.
env-handler
Manage environment variables securely. Handles distinction between .env (template) and .env.local (secrets).
email-handler
Create and send transactional emails using React Email. Covers templates, layout integration, and sending logic.
db-handler
Manage database schemas, Drizzle ORM, migrations, and data modeling. Use when creating tables, modifying columns, or planning database changes.