Skip to content

Vercel Composition Patterns

Verified

Advanced React composition patterns for Vercel: slots, render props, compound components, and server/client boundaries.

By Vercel Labs 84,600 stars v1.0 Updated 2026-03-15
$ Add to .claude/skills/

About This Skill

# React Composition Patterns

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.

When to Apply

Reference these guidelines when:

  • Refactoring components with many boolean props
  • Building reusable component libraries
  • Designing flexible component APIs
  • Reviewing component architecture
  • Working with compound components or context providers

Rule Categories by Priority

| 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-` |

Quick Reference

1. Component Architecture (HIGH)

  • `architecture-avoid-boolean-props` - Don't add boolean props to customize
  • behavior; use composition
  • `architecture-compound-components` - Structure complex components with shared
  • context

2. State Management (MEDIUM)

  • `state-decouple-implementation` - Provider is the only place that knows how
  • state is managed
  • `state-context-interface` - Define generic interface with state, actions, meta
  • for dependency injection
  • `state-lift-state` - Move state into provider components for sibling access

3. Implementation Patterns (MEDIUM)

  • `patterns-explicit-variants` - Create explicit variant components instead of
  • boolean modes
  • `patterns-children-over-render-props` - Use children for composition instead
  • of renderX props

4. React 19 APIs (MEDIUM)

> ⚠️ React 19+ only. Skip this section if using React 18 or earlier.

  • `react19-no-forwardref` - Don't use `forwardRef`; use `use()` instead of `useContext()`

How to Use

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:

  • Brief explanation of why it matters
  • Incorrect code example with explanation
  • Correct code example with explanation
  • Additional context and references

Full Compiled Document

For the complete guide with all rules expanded: `AGENTS.md`

Use Cases

  • Implement advanced React composition patterns for Vercel applications
  • Design slot-based component APIs for flexible content injection
  • Build compound components with proper server/client boundary management
  • Apply render props patterns in Next.js App Router contexts
  • Structure React components for optimal server-side rendering on Vercel

Pros & Cons

Pros

  • +Covers advanced patterns often missing from basic React tutorials
  • +Server/client boundary guidance specific to Next.js App Router
  • +Compound component patterns enable more flexible, reusable UI architectures

Cons

  • -Vercel/Next.js-specific patterns — not fully portable to other React environments
  • -Advanced topic that requires solid React fundamentals

FAQ

What does Vercel Composition Patterns do?
Advanced React composition patterns for Vercel: slots, render props, compound components, and server/client boundaries.
What platforms support Vercel Composition Patterns?
Vercel Composition Patterns is available on Claude Code, Cursor.
What are the use cases for Vercel Composition Patterns?
Implement advanced React composition patterns for Vercel applications. Design slot-based component APIs for flexible content injection. Build compound components with proper server/client boundary management.

100+ free AI tools

Writing, PDF, image, and developer tools — all in your browser.

Next Step

Use the skill detail page to evaluate fit and install steps. For a direct browser workflow, move into a focused tool route instead of staying in broader support surfaces.