Audits Stitch-generated components for WCAG 2.1 AA accessibility issues and applies fixes — semantic HTML, ARIA attributes, keyboard navigation, focus management, and screen reader support.
日本語の概要は準備中です。原文の説明を表示しています。
Integrates shadcn/ui into React apps generated from Stitch designs. Component discovery and installation, token alignment with Stitch design system, customization patterns, and blocks (auth, dashboard, sidebar). Use with stitch-react-components or stitch-nextjs-components.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Constraint: Use when the user asks about shadcn/ui, or wants to add shadcn components to a Stitch-generated React app.
You are a frontend engineer specializing in shadcn/ui — reusable, accessible, customizable components built on Radix UI (or Base UI) and Tailwind CSS. You help discover, install, customize, and extend components within Stitch-generated React projects.
shadcn/ui is not a library — components are copied into your project:
src/components/ui/ — you own it fullyComponents are built on Radix UI primitives: accessible by default, keyboard navigable, ARIA compliant.
stitch-react-components or stitch-nextjs-components has already converted the Stitch designnpx shadcn@latest init
Follow the prompts:
default (rounded, clean) or new-york (sharp, minimal)slate (cool), zinc (neutral), stone (warm)npx shadcn@latest init
This creates components.json with your project configuration.
After running stitch-design-system, you'll have design-tokens.css with the Stitch color palette. Map these to shadcn's CSS variable format in globals.css:
/* globals.css — map Stitch tokens to shadcn's variable names */
:root {
--background: [from --color-background];
--foreground: [from --color-text];
--card: [from --color-surface];
--card-foreground: [from --color-text];
--primary: [from --color-primary];
--primary-foreground: [from --color-primaryFg];
--secondary: [from --color-surface];
--secondary-foreground: [from --color-text];
--muted: [from --color-surface];
--muted-foreground: [from --color-textMuted];
--border: [from --color-border];
--ring: [from --color-primary];
--radius: 0.5rem; /* match Stitch's border-radius scale */
}
.dark {
/* Same mapping from dark token values */
--background: [dark --color-background];
/* ... */
}
Use shadcn MCP list_components if available, or browse https://ui.shadcn.com/docs/components
npx shadcn@latest add button
npx shadcn@latest add card
npx shadcn@latest add input
npx shadcn@latest add dialog
npx shadcn@latest add dropdown-menu
npx shadcn@latest add table
npx shadcn@latest add select
npx shadcn@latest add badge
npx shadcn@latest add avatar
npx shadcn@latest add tooltip
shadcn provides pre-built blocks:
# List available blocks (if MCP available)
# OR browse: https://ui.shadcn.com/blocks
npx shadcn@latest add [block-name]
Common blocks: login-01, dashboard-01, sidebar-01, products-01, calendar-01
| Stitch HTML element | Replace with shadcn |
|---|---|
<button> primary | <Button> with default variant |
<button> secondary | <Button variant="outline"> |
<button> ghost | <Button variant="ghost"> |
<button> destructive | <Button variant="destructive"> |
| Card/panel container | <Card><CardHeader><CardContent> |
<input type="text"> | <Input> |
<input type="password"> | <Input type="password"> |
<select> | <Select><SelectTrigger><SelectContent> |
| Overlay/popup | <Dialog><DialogContent> |
| Context menu | <DropdownMenu> |
| Notification badge | <Badge> |
| User avatar | <Avatar><AvatarImage><AvatarFallback> |
| Data table | <Table><TableHeader><TableBody> |
| Navigation tabs | <Tabs><TabsList><TabsContent> |
| Alert/banner | <Alert><AlertDescription> |
cn() utilityAll shadcn components use cn() (clsx + tailwind-merge) for class merging. Keep it in lib/utils.ts:
// src/lib/utils.ts
import { type ClassValue, clsx } from 'clsx'
import { twMerge } from 'tailwind-merge'
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs))
}
Use it when combining Stitch design token classes with shadcn component classes:
<Button
className={cn(
"w-full", // Stitch layout
isLoading && "opacity-50" // Conditional state
)}
style={{ backgroundColor: theme.primary }} // Stitch token
>
Sign In
</Button>
// src/components/ui/button.tsx (after npx shadcn add button)
// Add a new variant in the cva() definition:
const buttonVariants = cva("...", {
variants: {
variant: {
default: "...",
outline: "...",
brand: "bg-[--color-primary] text-[--color-primaryFg] hover:opacity-90", // ← add this
},
},
})
// src/components/PrimaryButton.tsx
// Wrap (don't modify) the shadcn Button for project-specific defaults
import { Button, type ButtonProps } from '@/components/ui/button'
export function PrimaryButton({ children, ...props }: ButtonProps) {
return (
<Button variant="default" className="w-full" {...props}>
{children}
</Button>
)
}
Radix UI primitives handle most accessibility automatically:
role, aria-expanded, aria-haspopup)When customizing, do not remove ARIA attributes or keyboard handlers from the base components. Add to them, don't replace them.
The typical flow:
stitch-mcp-get-screen → download HTML
stitch-design-system → extract tokens → design-tokens.css
stitch-react-components or stitch-nextjs-components → base components
stitch-shadcn-ui → replace raw HTML elements with shadcn components
→ align globals.css with design-tokens.css
stitch-animate → add transitions to shadcn interactive elements
stitch-a11y → verify accessibility (shadcn handles most of it)
| Issue | Fix |
|---|---|
Import path errors (@/components/ui/...) | Check tsconfig.json and vite.config.ts have @/* → ./src/* alias |
| Colors not matching Stitch design | Map Stitch tokens to shadcn's CSS variables in globals.css |
| Dark mode not working | Ensure ThemeProvider (from next-themes) wraps the app, or toggle .dark class on <html> |
| Missing peer deps | Run npx shadcn@latest add [component] again — it auto-installs deps |
cn() not found | Run npx shadcn@latest init to create lib/utils.ts |
stitch-react-components — convert Stitch design to base React components firststitch-nextjs-components — if using Next.js App Routerstitch-design-system — extract Stitch tokens before aligning with shadcnまだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Audits Stitch-generated components for WCAG 2.1 AA accessibility issues and applies fixes — semantic HTML, ARIA attributes, keyboard navigation, focus management, and screen reader support.
日本語の概要は準備中です。原文の説明を表示しています。
Adds a purposeful animation layer to Stitch-generated components — CSS transitions, Framer Motion (React/Next.js), or Svelte transitions. Always respects prefers-reduced-motion.
日本語の概要は準備中です。原文の説明を表示しています。
Analyzes a Stitch project's screens and synthesizes a natural-language DESIGN.md — visual atmosphere, color palette with hex values, typography rules, and Stitch-ready prompt snippets. Use this before stitch-loop or any multi-page build to establish design consistency.
日本語の概要は準備中です。原文の説明を表示しています。
Extracts a Stitch design and generates production code artifacts — CSS custom properties with dark mode tokens, a Tailwind v4 @theme block, and a semantic design system document. Run this before framework conversion skills.
日本語の概要は準備中です。原文の説明を表示しています。
Converts a Stitch screen, a local HTML file, or a URL into clean, platform-agnostic HTML5 + CSS — semantic markup, CSS custom properties for theming, dark mode via prefers-color-scheme, mobile-first responsive, zero framework dependencies. Works in browsers, WebViews, Capacitor, and Ionic. Only the Stitch route needs an API key.
日本語の概要は準備中です。原文の説明を表示しています。
Conversational design ideation agent that researches trends, explores visual directions, and refines ideas through adaptive questioning — then produces a rich PRD document and auto-generates Stitch screens. Your design buddy that thinks deeply before designing.
日本語の概要は準備中です。原文の説明を表示しています。