Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
pproenca avatar

React Refactor

  • 656 installs
  • 186 repo stars
  • Updated July 24, 2026
  • pproenca/dot-skills

react-refactor is a Claude skill that systematically improves React component architecture, reduces re-renders, and eliminates prop drilling using proven patterns for developers maintaining growing React applications.

About

react-refactor is a dot-skills guide (version 1.1.0, May 2026) containing 40 rules across 7 categories for React architectural refactoring. Categories cover component architecture, state architecture, hook patterns, component decomposition, coupling and cohesion, data and side effects, and refactoring safety, each with code smells, before/after transforms, and safe steps. Developers reach for react-refactor when prop drilling, unnecessary re-renders, or tangled component trees slow feature work. Critical rules include interface segregation for props, documented as preventing a large share of unnecessary re-renders when applied during structured refactors.

  • 40 rules across 7 categories including component architecture, state, hooks, decomposition, coupling, data flow and refa
  • Each rule ships with code smell indicators, before/after code transforms and safe refactoring steps
  • CRITICAL rules on interface segregation, feature colocation, render-props-to-hooks conversion, headless components and c
  • Quantified impact statements such as preventing 30-50% unnecessary re-renders and reducing prop count by 50-70%
  • Hard-gate checklist that must pass before committing major refactors

React Refactor by the numbers

  • 656 all-time installs (skills.sh)
  • Ranked #201 of 1,356 Code Review & Quality skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Jul 31, 2026 (Skillselion catalog sync)
npx skills add https://github.com/pproenca/dot-skills --skill react-refactor

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs656
repo stars186
Security audit3 / 3 scanners passed
Last updatedJuly 24, 2026
Repositorypproenca/dot-skills

How do you refactor React components to reduce re-renders?

Systematically improve React component architecture, reduce re-renders, and eliminate prop drilling using proven patterns.

Who is it for?

React developers refactoring mature apps with prop drilling, state sprawl, or performance issues who want rule-based architectural guidance.

Skip if: Greenfield React prototypes with a handful of components and no measurable performance or architecture pain yet.

When should I use this skill?

A developer asks to refactor React components, fix prop drilling, reduce re-renders, or apply structured decomposition patterns.

What you get

Refactored React components with improved architecture, reduced re-renders, and documented before/after transforms

  • refactored components
  • architecture improvement checklist

By the numbers

  • Version 1.1.0 with 40 rules across 7 categories
  • Updated May 2026

Files

SKILL.mdMarkdownGitHub ↗

React Refactor Best Practices

Architectural refactoring guide for React applications. Contains 40 rules across 7 categories, prioritized by impact from critical (component and state architecture) to incremental (refactoring safety).

When to Apply

  • Refactoring existing React codebases or planning large-scale restructuring
  • Reviewing PRs for architectural issues and code smells
  • Decomposing oversized components into focused units
  • Extracting reusable hooks from component logic
  • Improving testability of React code
  • Reducing coupling between feature modules

Rule Categories

CategoryImpactRulesKey Topics
Component ArchitectureCRITICAL8Compound components, headless pattern, composition over props, client boundaries
State ArchitectureCRITICAL7Colocation, state machines, URL state, derived values
Hook PatternsHIGH6Single responsibility, naming, dependency stability, composition
Component DecompositionHIGH6Scroll test, extraction by change reason, view/logic separation
Coupling & CohesionMEDIUM4Dependency injection, circular deps, stable imports, barrel-free
Data & Side EffectsMEDIUM4Server-first fetch, TanStack Query, error boundaries
Refactoring SafetyLOW-MEDIUM5Characterization tests, behavior testing, integration tests

Quick Reference

Critical patterns — get these right first:

  • Use compound components instead of props explosion
  • Colocate state with the components that use it
  • Use state machines for complex UI workflows
  • Separate container logic from presentational components

Common mistakes — avoid these anti-patterns:

  • Lifting state to App when only one component reads it
  • Using context for rapidly-changing values
  • Monolithic hooks that fetch + transform + cache
  • Testing implementation details instead of behavior

Table of Contents

1. Component ArchitectureCRITICAL

  • 1.1 Apply Interface Segregation to Component Props — CRITICAL (prevents 30-50% of unnecessary re-renders)
  • 1.2 Colocate Files by Feature Instead of Type — CRITICAL (reduces cross-directory navigation by 70%)
  • 1.3 Convert Render Props to Custom Hooks — CRITICAL (eliminates 2-4 levels of nesting)
  • 1.4 Extract Headless Components for Logic Reuse — CRITICAL (5x more reuse scenarios)
  • 1.5 Prefer Composition Over Props Explosion — CRITICAL (reduces prop count by 50-70%)
  • 1.6 Separate Container Logic from Presentational Components — CRITICAL (enables independent testing)
  • 1.7 Use Compound Components for Implicit State Sharing — CRITICAL (reduces API surface by 60%)
  • 1.8 Push Client Boundaries to Leaf Components — HIGH (keeps 60-80% server-rendered)

2. State ArchitectureCRITICAL

  • 2.1 Colocate State with Components That Use It — CRITICAL (reduces prop passing by 60%)
  • 2.2 Derive Values Instead of Syncing State — CRITICAL (eliminates double-render cycle)
  • 2.3 Lift State Only When Multiple Components Read It — CRITICAL (eliminates unnecessary parent re-renders)
  • 2.4 Use Context for Rarely-Changing Values Only — CRITICAL (5-50x fewer re-renders)
  • 2.5 Use State Machines for Complex UI Workflows — CRITICAL (reduces valid states from 2^n to N)
  • 2.6 Use URL Parameters as State for Shareable Views — CRITICAL (enables deep linking and sharing)
  • 2.7 Use useReducer for Multi-Field State Transitions — CRITICAL (eliminates impossible states)

3. Hook PatternsHIGH

  • 3.1 Avoid Object and Array Dependencies in Custom Hooks — HIGH (prevents effect re-execution every render)
  • 3.2 Compose Hooks Instead of Nesting Them — HIGH (flattens dependency graph)
  • 3.3 Extract Logic into Custom Hooks When Behavior Is Nameable — HIGH (40-60% shorter components)
  • 3.4 Follow Hook Naming Conventions for Discoverability — HIGH (reduces navigation time by 40%)
  • 3.5 Keep Custom Hooks to a Single Responsibility — HIGH (3x easier to test)
  • 3.6 Stabilize Hook Dependencies with Refs and Callbacks — HIGH (prevents infinite loops)

4. Component DecompositionHIGH

  • 4.1 Apply the Scroll Test to Identify Oversized Components — HIGH (3x faster code review)
  • 4.2 Complete Component Extraction Without Half-Measures — HIGH (enables independent testing and reuse)
  • 4.3 Extract Components by Independent Change Reasons — HIGH (70% fewer files touched per change)
  • 4.4 Extract Pure Functions from Component Bodies — HIGH (10x faster unit tests)
  • 4.5 Inline Premature Abstractions Before Re-Extracting — HIGH (40-60% simpler code)
  • 4.6 Separate View Layer from Business Logic — HIGH (5x faster test suite)

5. Coupling & CohesionMEDIUM

  • 5.1 Break Circular Dependencies with Intermediate Modules — MEDIUM (eliminates undefined-at-import-time bugs)
  • 5.2 Import from Stable Public API Surfaces Only — MEDIUM (enables internal refactoring)
  • 5.3 Use Barrel-Free Feature Modules for Clean Dependencies — MEDIUM (200-800ms build reduction)
  • 5.4 Use Dependency Injection for External Services — MEDIUM (3x faster test setup)

6. Data & Side EffectsMEDIUM

  • 6.1 Fetch Data on the Server by Default — MEDIUM (reduces client JS by 30-60%)
  • 6.2 Place Error Boundaries at Data Fetch Granularity — MEDIUM (errors isolated to affected section)
  • 6.3 Use Context Module Pattern for Action Colocation — MEDIUM (centralizes data mutations)
  • 6.4 Use TanStack Query for Client-Side Server State — MEDIUM (eliminates 80% of fetch boilerplate)

7. Refactoring SafetyLOW-MEDIUM

  • 7.1 Avoid Snapshot Tests for Refactored Components — LOW-MEDIUM (eliminates false test failures)
  • 7.2 Extract Pure Functions to Increase Testability — LOW-MEDIUM (10x faster test execution)
  • 7.3 Prefer Integration Tests for Component Verification — LOW-MEDIUM (catches 40% more bugs)
  • 7.4 Test Component Behavior Not Implementation Details — LOW-MEDIUM (5x fewer test updates)
  • 7.5 Write Characterization Tests Before Refactoring — LOW-MEDIUM (catches 90% of unintended changes)

References

1. https://react.dev 2. https://react.dev/learn/thinking-in-react 3. https://kentcdodds.com/blog/application-state-management-with-react 4. https://testing-library.com/docs/guiding-principles 5. https://patterns.dev

Related Skills

  • For React 19 API best practices, see react skill
  • For application performance optimization, see react-optimise skill
  • For client-side form handling, see react-hook-form skill

Related skills

FAQ

How many rules does react-refactor include?

react-refactor version 1.1.0 bundles 40 rules organized into 7 categories spanning component architecture, state, hooks, decomposition, coupling, data effects, and refactoring safety. Each rule includes smells and before/after examples.

What React problems does react-refactor target?

react-refactor addresses prop drilling, unnecessary re-renders, tangled component trees, and unsafe refactors. Developers apply interface segregation, hook patterns, and decomposition steps from the categorized rule set.

Is React Refactor safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.