Agent skill

generating-components

Generate production-ready React components using shadcn/ui, 21st.dev, and Tailwind CSS. Use when user asks for UI components, buttons, forms, cards, hero sections, or mentions design inspiration.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/generating-components

SKILL.md

Generating Components

APEX WORKFLOW (MANDATORY)

Phase A: ANALYZE

Task: explore-codebase
Prompt: "Analyze UI: components, colors, typography, spacing, animations"

Phase A: SEARCH INSPIRATION

typescript
// 21st.dev (MANDATORY FIRST)
mcp__magic__21st_magic_component_inspiration({
  message: "Create a hero section",
  searchQuery: "hero section glassmorphism"
})

// shadcn/ui
mcp__shadcn__search_items_in_registries({
  registries: ["@shadcn"],
  query: "button"
})

Phase P: PLAN

TodoWrite with file breakdown (<100 lines each):

  • components/ui/HeroSection.tsx (~60 lines)
  • components/ui/HeroBackground.tsx (~30 lines)

Phase E: CODE

Write component using:

  • Design tokens from Phase A
  • Inspiration from 21st.dev/shadcn
  • Framer Motion animations
  • WCAG 2.2 AA compliance

Phase X: VALIDATE

Task: sniper
Prompt: "Validate component: lint, accessibility, design consistency"

ANTI-AI SLOP (MANDATORY)

FORBIDDEN USE INSTEAD
Roboto, Arial, system default Inter, Clash Display, Satoshi, Syne
Purple/pink gradients CSS variables, sharp accents
Border-left indicators Icon + bg-*/10 rounded
Flat backgrounds Glassmorphism, gradient orbs
No animations Framer Motion stagger

See: ../../references/typography.md, ../../references/color-system.md

Component Template

tsx
"use client";
import { motion } from "framer-motion";

const variants = {
  hidden: { opacity: 0, y: 20 },
  show: { opacity: 1, y: 0, transition: { staggerChildren: 0.1 } }
};

export function Component({ className }: { className?: string }) {
  return (
    <motion.div variants={variants} initial="hidden" animate="show">
      {/* Background from existing design tokens */}
      <div className="absolute inset-0 -z-10">
        <div className="absolute top-1/4 left-1/4 w-96 h-96 bg-primary/20 rounded-full blur-3xl" />
      </div>
      {/* Content */}
    </motion.div>
  );
}

Validation

[ ] Phase 0 completed (analyze existing)
[ ] Inspiration searched (21st.dev, shadcn)
[ ] Matches existing design tokens
[ ] No AI slop patterns
[ ] Framer Motion animations
[ ] Files < 100 lines

References

  • UI Visual Design: ../../references/ui-visual-design.md (visual hierarchy, spacing, 2026 trends)
  • UX Principles: ../../references/ux-principles.md (Nielsen heuristics, Laws of UX, cognitive psychology)
  • Typography: ../../references/typography.md (fonts, sizes, line-height, mobile guidelines)
  • Colors: ../../references/color-system.md (psychology, palettes, OKLCH, 60-30-10)
  • Buttons: ../../references/buttons-guide.md (states, sizing, accessibility)
  • Forms: ../../references/forms-guide.md (validation, layout, states)
  • Icons: ../../references/icons-guide.md (types, consistency, scalability)
  • Grids & Layout: ../../references/grids-layout.md (12-column, responsive, containers)
  • Motion: ../../references/motion-patterns.md
  • Design Patterns: ../../references/design-patterns.md
  • 21st.dev Guide: ../../references/21st-dev.md

Didn't find tool you were looking for?

Be as detailed as possible for better results