react
Requirements
- Always use destructured props in function parameters
- Define TypeScript types inline with the destructured props
- Avoid creating separate interfaces for component props
- Avoid non-destructured props that require additional destructuring inside the component
- Use available UI components from the component library
- Use CSS variables from globals.css for consistent theming
- Use Tailwind v4 syntax (see Tailwind v4 Syntax)
- DO NOT add icon margin in Button, DropdownMenuItem: use gap-2 instead
- Use
useEffectEventto extract non-reactive logic from Effects (see Separating Events from Effects) - NEVER suppress the dependency linter with
eslint-disable- useuseEffectEventinstead - Use custom breakpoint syntax for responsive design (see App-Specific Rules)
Tailwind v4 Syntax
- Inline opacity: Use
/for opacity (bg-black/50 text-white/80)- v3:
bg-black bg-opacity-50 text-white text-opacity-80 - Removed:
bg-opacity-*,text-opacity-*,border-opacity-*
- v3:
More from udecode/plate
code-simplicity-reviewer
Final review pass to ensure code is as simple and minimal as possible. Use after implementation is complete to identify YAGNI violations and simplification opportunities.
60vercel-react-best-practices
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
46grill-me
Interview the user relentlessly about a plan or design until reaching shared understanding, resolving each branch of the decision tree. Use when user wants to stress-test a plan, get grilled on their design, or mentions "grill me".
37frontend-design
Build web interfaces with genuine design quality, not AI slop. Use for any frontend work - landing pages, web apps, dashboards, admin panels, components, interactive experiences. Activates for both greenfield builds and modifications to existing applications. Detects existing design systems and respects them. Covers composition, typography, color, motion, and copy. Verifies results via screenshots before declaring done.
34git-history-analyzer
Performs archaeological analysis of git history to trace code evolution, identify contributors, and understand why code patterns exist. Use when you need historical context for code changes.
33best-practices-researcher
Researches and synthesizes external best practices, documentation, and examples for any technology or framework. Use when you need industry standards, community conventions, or implementation guidance.
33