nextjs-shadcn

SkillAI & models

Use when building UI components in Next.js App Router with shadcn/ui — forms, dialogs, tables, toasts, accessible components.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the nextjs-shadcn skill

What this skill tells your AI

The instructions your AI receives, as published by fusengine/agents in plugins/nextjs-expert/skills/nextjs-shadcn/SKILL.md and read by ahel’s review.

Requires installing components via bunx --bun shadcn@latest add (never hand-written) to @/modules/cores/shadcn/components/ui/, and covers MCP registry tools (mcp__shadcn__*) for discovering components before implementing. This is the Next.js App Router variant of shadcn/ui — for a plain React/Vite app see react-shadcn instead.

shadcn/ui for Next.js

Beautiful, accessible components built on Radix UI with Tailwind CSS styling.

Agent Workflow (MANDATORY)

Before ANY implementation, spawn 3 agents in parallel, one Agent call each with a name:

  1. fuse-ai-pilot:explore-codebase - Analyze existing components and patterns
  2. fuse-ai-pilot:research-expert - Verify latest shadcn/ui docs via Context7/Exa
  3. mcp__shadcn__* - Search registry for component availability

After implementation, run fuse-ai-pilot:sniper for validation.


Overview

When to Use

  • Building UI components for Next.js App Router applications
  • Need accessible, customizable form components (inputs, selects, checkboxes)
  • Implementing dialogs, sheets, drawers, or overlay patterns
  • Creating data tables with sorting, filtering, and pagination
  • Building navigation menus, sidebars, or command palettes
  • Need toast notifications or alert feedback components

Why shadcn/ui

FeatureBenefit
Copy/paste modelComponents copied to your project, full ownership
Radix UI foundationAccessibility built-in, unstyled primitives
Tailwind CSS stylingUtility-first, easy customization
TanStack Form readyModern form library with Field pattern
Server ComponentsRSC-compatible, optimal bundle size
Lucide iconsConsistent, customizable icon set

Critical Rules

  1. NEVER create components manually - Always install with bunx --bun shadcn@latest add
  2. TanStack Form only - NOT React Hook Form for all form implementations
  3. Radix UI primitives - Components built on Radix (NOT Base UI)
  4. Lucide icons - Default icon library, NOT Remix icons or others
  5. Field pattern - Use Field, FieldLabel, FieldError for form fields
  6. SOLID paths - Components at @/modules/cores/shadcn/components/ui/

Architecture

Component Foundation

  • Radix UI - Headless, accessible primitives (Dialog, Select, Popover, Tabs)
  • Tailwind CSS v4 - Styling via utility classes, CSS-first config
  • class-variance-authority - Variant management for component styles
  • clsx + tailwind-merge - Conditional class composition via cn() utility

Project Structure

Components installed to @/modules/cores/shadcn/components/ui/ following SOLID architecture. Utils at @/modules/cores/lib/utils.ts with cn() helper function.


MCP Server Integration

Create .mcp.json at project root for Claude Code integration with shadcn registry.

Available MCP Tools

  • mcp__shadcn__search_items_in_registries - Search available components
  • mcp__shadcn__view_items_in_registries - View component source code
  • mcp__shadcn__get_item_examples_from_registries - Get usage examples
  • mcp__shadcn__get_add_command_for_items - Get installation commands

See installation.md for complete MCP setup.


Component Categories

CategoryComponentsPrimary Reference
SetupInit, configuration, theming, iconsinstallation.md
FormsButton, Input, Field, Select, Checkbox, Switch, Sliderfield-patterns.md
OverlayDialog, Sheet, Drawer, Popover, Tooltip, HoverCarddialog.md
FeedbackAlert, Toast (Sonner), Progress, Skeleton, Spinnertoast.md
Data DisplayTable, Badge, Avatar, Calendar, Chart, Carouseltable.md
NavigationBreadcrumb, DropdownMenu, Command, Sidebar, Tabssidebar.md
LayoutCard, Accordion, Separator, ScrollArea, Resizablecard.md

Best Practices

  1. Field components - Use new Field pattern for consistent form field structure
  2. Server Components default - Add 'use client' only when interactivity needed
  3. Sonner for toasts - Modern toast notifications over legacy toast
  4. MCP tools first - Use mcp__shadcn__* to explore before implementing
  5. Theming via CSS variables - Customize colors in globals.css :root
  6. Accessibility - Rely on Radix UI keyboard navigation and ARIA

Reference Guide

NeedReference
Initial setupinstallation.md, configuration.md
Form patternsfield-patterns.md, form-examples.md
Theme customizationtheming.md
Data tablestable.md
Modal dialogsdialog.md, alert-dialog.md
Navigationsidebar.md, navigation-menu.md

Signals

GitHub stars
25
Forks
4
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
nextjs-shadcn
Source
github.com/fusengine/agents