vercel-composition-patterns

Guides React component refactoring using compound components, context providers, and composition patterns.

Updated Aug 7, 2026
One-click install
npx skills add https://github.com/Ramadan-Elgamal/Autobees --skill vercel-composition-patterns-ramadan-elgamal
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vercel-composition-patterns
Source: https://github.com/Ramadan-Elgamal/Autobees/tree/main/.agents/skills/vercel-composition-patterns
Command: npx skills add https://github.com/Ramadan-Elgamal/Autobees --skill vercel-composition-patterns-ramadan-elgamal

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? React components often accumulate boolean props like isThread or isEditing that create exponential state combinations and unmaintainable conditional logic. This Skill provides structured rules for replacing prop proliferation with composition patterns that scale. ## Core Features & Use Cases - Compound Component Architecture: Structure complex components with shared context so consumers compose exactly the pieces they need. - State Lifting and Dependency Injection: Define generic context interfaces (state, actions, meta) so the same UI works with any provider implementation. - React 19 API Guidance: Apply modern patterns like ref-as-prop and use() instead of forwardRef and useContext. - Use Case: When refactoring a Composer component overloaded with boolean flags, apply these rules to split it into explicit variants like ThreadComposer and EditComposer that share composed internals. ## Quick Start Ask the AI to refactor a React component with many boolean props into compound components using the composition patterns in this skill.

Frequently Asked Questions about vercel-composition-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I refactor React components with too many boolean props?

Replace boolean props with composition by creating explicit variant components like ThreadComposer or EditComposer. Each variant composes shared subcomponents through a compound component structure, eliminating conditional logic and impossible states.

What are compound components in React?

Compound components are a pattern where a parent component shares state with subcomponents through context instead of props. Consumers compose pieces like Composer.Frame, Composer.Input, and Composer.Submit explicitly, with no hidden conditionals.

Should I use children or render props for React composition?

Prefer children for composing static structure because they are more readable and compose naturally. Use render props only when the parent needs to pass data back to the child, such as rendering list items.

Does React 19 still require forwardRef?

No, React 19 does not require forwardRef because ref is now a regular prop passed directly to function components. React 19 also replaces useContext with the use() hook, which can be called conditionally.

How do I share state between sibling React components without prop drilling?

Lift state into a provider component that wraps the siblings in a shared context. Components anywhere inside the provider boundary can access state and actions through the context interface, even outside the main UI structure.