RE

react-component-patterns

Provides architectural patterns and composition strategies for building React components.

Install

mkdir -p .claude/skills/react-component-patterns && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/1392" && unzip -o skill.zip -d .claude/skills/react-component-patterns && rm skill.zip

Installs to .claude/skills/react-component-patterns

Activation

This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.

Build modern React component architecture with composition patterns. Use when designing reusable React components, applying composition patterns, or structuring component hierarchies.
183 chars✓ has a “when” trigger
Intermediate

Key capabilities

  • Implement compound components with Context
  • Structure React component hierarchies
  • Apply composition patterns for layout
  • Manage controlled versus uncontrolled state
  • Use React 19 ref patterns

How it works

It enforces composition-first architecture using children or named slots and utilizes Context for shared state in compound components. It mandates explicit TypeScript interfaces and avoids prop drilling by favoring Context or Zustand.

Inputs & outputs

You give it
React component requirements
You get back
Modern React component code following composition patterns

When to use react-component-patterns

  • Structuring complex component hierarchies
  • Implementing reusable component composition
  • Refactoring legacy component patterns
  • Standardizing UI architecture

About this skill

React Component Patterns

Priority: P0 (CRITICAL)

Implementation Guidelines

  • Architecture (default): Composition first — children/named slot props for layout, Compound Components (e.g., <Select><Select.Option /></Select>) via Context for implicit shared state within one UI unit. Reach for Higher-Order Components or classic Render Props (render={(data) => ...}) only when composition can't express it (e.g. wrapping a third-party class component) — hooks cover most cross-cutting concerns HOCs used to.
  • React 19: ref is a regular prop on function components — no forwardRef needed for new code. Use use(promise) / use(context) to read a promise or context conditionally in render instead of useContext + extra useEffect plumbing.
  • Components: Distinguish between Controlled (state from props) and Uncontrolled (local useRef state) components. Favor controlled for form validation.
  • Props: Use Explicit TS interfaces. Avoid Prop Drilling by leveraging Context API or Zustand for global/deeply nested state.
  • Boolean Props: Shorthand <Cmp isVisible /> vs isVisible={true}.
  • Conditionals: Ternary (Cond ? <A/> : <B/>) over && for rendering consistency (prevents 0 rendering).
  • Function Components: Only hooks. No classes. Small size (<250 lines). One component per file.
  • Exports: Named exports only. PascalCase naming.
function ThemedInput({ ref, ...props }: { ref?: React.Ref<HTMLInputElement> } & InputProps) {
  return <input ref={ref} className={useTheme().input} {...props} />;
}

Verify

  • Shared implicit state uses Compound Components + Context, not prop drilling.
  • ref passed as a plain prop (no forwardRef) on components targeting React 19.
  • HOC/classic render-props only where composition genuinely can't express the wrap.

Anti-Patterns

  • No Classes: Use hooks.
  • No Prop Drilling: Use Context/Zustand.
  • No Nested Definitions: Define components at top level.
  • No Index Keys: Use stable IDs.
  • No forwardRef on new React 19 code: Accept ref as a normal prop instead.

References

See references/patterns.md for Composition, Compound Components, and Render Props examples.

When not to use it

  • When using class-based components
  • For simple logic that does not require composition

Prerequisites

React 19 environmentTypeScript

Limitations

  • No support for class components
  • Requires stable IDs instead of index keys

How it compares

It prioritizes composition and modern React 19 patterns over legacy class components or prop-drilling techniques.

Compared to similar skills

react-component-patterns side by side with the closest alternatives in the catalog.

SkillInstallsUpdatedSafetyDifficulty
react-component-patterns (this skill)328dNo flagsIntermediate
zustand1132moNo flagsIntermediate
react341moNo flagsIntermediate
zustand-587moNo flagsBeginner

Try saying

Example prompts that trigger this skill in your AI assistant.

Search skills

Search the agent skills registry