| name | react-performance-review |
| description | Review React applications for rendering inefficiency, unnecessary client work, bundle bloat, hydration cost, state placement problems, and slow interaction paths. Use when the user reports a slow React UI, wants a performance audit, or needs prioritized findings on what to fix before reaching for micro-optimizations. Use when this capability is needed. |
| metadata | {"author":"Canepro"} |
React Performance Review
Use this skill for performance diagnosis and prioritization in React applications.
Use when
- the UI feels slow or janky
- rerenders seem excessive
- hydration or client-side work is too heavy
- bundles are larger than expected
- list rendering, search, filters, or typing interactions feel sluggish
Do not use when
- the app is not meaningfully React-based
- the main task is generic frontend review or visual redesign. Use
frontend-anti-slop.
- the main task is browser automation. Use
webapp-testing.
Review priorities
Check in this order:
- wrong rendering model or client/server boundary
- unnecessary work during render
- state placement and invalidation scope
- expensive lists, filters, or derived views
- bundle and hydration cost
- only then smaller optimizations
Workflow
1. Find the slow path
Identify:
- the specific interaction that feels slow
- whether the cost is render, network, bundle load, hydration, or layout
- whether the issue is local to one component or systemic
2. Inspect architecture before hooks
Look for:
- too much code in client components
- state lifted too high
- broad invalidation of large trees
- expensive derivations in render
- lists without virtualization where it matters
Do not default to sprinkling memoization everywhere.
3. Review the data and boundary model
Ask:
- should this be server-rendered instead?
- should this work happen outside render?
- can this state be localized?
- can this view be paginated, chunked, or virtualized?
4. Report findings with expected payoff
For each finding, state:
- what work is happening
- why it is costly
- the likely user-visible impact
- the highest-leverage fix
Guidance
- Prefer fewer, higher-payoff fixes over a long list of tiny tweaks.
- Architectural changes beat incidental memoization.
- If you recommend memoization, explain the invalidation boundary clearly.
References
- Read
references/checklist.md for a React-specific performance checklist.
Workflow Coordination
This skill owns its domain work. Use vincent-workflow for durable decisions, blockers, resume handoffs, known issues, commit/push/cleanup obligations, or project-local follow-up state. Use codex-closeout for final chat delivery, codex-html-report for durable reader-facing proof, and second-brain-context only for cross-repo or future local-brain retrieval.
Source: Canepro/codex-skills — distributed by TomeVault.