Provides guidelines and code examples for refactoring React components using composition patterns like compound components and context providers to eliminate boolean prop proliferation. It also covers specific React 19 API changes such as replacing forwardRef with use().
Say it in your own words; the assistant finds this recipe by itself. Examples:
Use this skill when refactoring existing React components that suffer from too many boolean props or conditional rendering logic. It is appropriate when designing new, flexible component APIs for a design system or library. It is also the right choice when updating codebases to adopt React 19 specific composition changes.
Composition patterns for building flexible, maintainable React components. Avoid boolean prop proliferation by using compound components, lifting state, and composing internals. These patterns make codebases easier for both humans and AI agents to work with as they scale.
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Component Architecture | HIGH | architecture- |
| 2 | State Management | MEDIUM | state- |
| 3 | Implementation Patterns | MEDIUM | patterns- |
| 4 | React 19 APIs | MEDIUM | react19- |
architecture-avoid-boolean-props - Don't add boolean props to customize
behavior; use compositionarchitecture-compound-components - Structure complex components with shared
contextstate-decouple-implementation - Provider is the only place that knows how
state is managedstate-context-interface - Define generic interface with state, actions, meta
for dependency injectionstate-lift-state - Move state into provider components for sibling accesspatterns-explicit-variants - Create explicit variant components instead of
boolean modespatterns-children-over-render-props - Use children for composition instead
of renderX props⚠️ React 19+ only. Skip this section if using React 18 or earlier.
react19-no-forwardref - Don't use forwardRef; use use() instead of useContext()Read individual rule files for detailed explanations and code examples:
rules/architecture-avoid-boolean-props.md
rules/state-context-interface.md
Each rule file contains:
For the complete guide with all rules expanded: AGENTS.md
AGENTS.mdREADME.mdSKILL.mdmetadata.jsonrules/_sections.mdrules/_template.mdrules/architecture-avoid-boolean-props.mdrules/architecture-compound-components.mdrules/patterns-children-over-render-props.mdrules/patterns-explicit-variants.mdrules/react19-no-forwardref.mdrules/state-context-interface.mdrules/state-decouple-implementation.mdrules/state-lift-state.mdVendored from vercel-labs/agent-skills, commit 063bee94c3f4, path skills/composition-patterns, licence MIT. The upstream licence file ships inside the skill.