skills/coding/react-performance/SKILL.md
Reviews and optimizes React component performance and correctness. Covers stale closures, unnecessary re-renders, useEffect cleanup, state design, debounce/throttle, and race conditions. Should be used when the user is concerned about React performance — slow renders, stale closure bugs, or optimizing useMemo/useCallback usage. Distinguished from frontend-code-review which covers general code quality, this skill focuses specifically on React performance and Hook-related issues.
npx skillsauth add ImaginerLabs/skill-manager react-performanceInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Audit React code for performance issues and prevent common runtime pitfalls. The problems this skill catches are subtle — stale closures silently read outdated values, missing cleanup silently leaks memory, and unnecessary re-renders silently degrade performance. They're easy to miss in regular code review but cause real user-facing bugs.
Closures in function components capture a snapshot of variables at creation time. If dependencies aren't correctly declared, the closure reads stale values — and the bug is silent: no error, just wrong behavior.
setState(prev => ...)useRefreact-hooks/exhaustive-deps — don't casually // eslint-disableReact.memouseMemo / useCallbackuseMemo is for computationally expensive derived data; useCallback is for callbacks passed to childrenkey must use stable and unique business identifiers (e.g., id), not array index (unless the list is static and never changes)isMounted flag)async — define an async function inside and call ituseMemo instead)useReduceruseMemo or useRef — never create them directly in the render function## React Performance & Standards Check Report
### 1. Stale Closure Check
- Status: ✅ PASS / ⚠️ WARN / ❌ FAIL
- Issue: [filename/line]: [description] -> [fix suggestion]
### 2. Render Performance
- **Unnecessary re-renders**: [component name] -> [optimization suggestion]
- **List key**: ✅ PASS / ❌ FAIL
### 3. useEffect Side Effects
- **Cleanup function**: ✅ Cleaned / ❌ Missing cleanup -> [specific location]
- **Race handling**: ✅ Handled / ❌ At risk
### 4. State Management
- **Direct mutation**: ✅ PASS / ❌ FAIL -> [specific location]
- **Redundant state**: [derived data suggestion: switch to useMemo]
### 5. High-Frequency Events
- [event name]: ✅ Debounced / ❌ Missing debounce
### Summary
- Score: 🟢 Excellent / 🟡 Good / 🔴 Needs improvement
- [ ] Safe to commit / [ ] Fix before commit
development
Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.
devops
Create a new implementation plan file for new features, refactoring existing code or upgrading packages, design, architecture or infrastructure.
tools
Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node/TypeScript (MCP SDK).
documentation
Generates standardized porting documentation from completed feature changes. Analyzes commit diffs or file contents, extracts change intent, and outputs Markdown documentation for cross-team understanding. Should be used when the user needs to document a change for cross-team or cross-project consumption. Distinguished from cross-branch-fix-porter which actively re-implements fixes, this skill documents changes.