React Best Practices Skill
Audits React applications for performance, bundle size, and React 18+ best practices.
Instructions
When reviewing or auditing React code:
- Run the audit against the specified code or repository
- Check against the 40+ auditable rules (see below)
- Report findings with severity (error, warning, info)
- Provide actionable fix suggestions with before/after code examples
- For performance issues, identify the root cause and recommended optimization
- For bundle issues, suggest code splitting or lazy loading strategies
Auditable Rules (Sample)
Performance
no-missing-deps: Hook dependencies must be completeavoid-inline-objects-in-jsx: Inline objects cause unnecessary re-rendersprefer-useMemo: Expensive computations should use useMemoprefer-useCallback: Callbacks passed to children should use useCallback
React 18+
prefer-use client directive: Server Components complianceno-unnecessary-fragments: Avoid unnecessary fragment wrappersrequire-useTransition: Long renders should use useTransition
Bundle Size
no-bare-imports: Use named imports over namespace importsavoid-default-imports: Default imports prevent tree shakingcheck-duplicate-packages: Duplicate package versions inflate bundle
Accessibility
require-aria-labels: Interactive elements need ARIA labelsrequire-keyboard-handlers: Click handlers need keyboard equivalents
Output Format
{
"file": "src/components/UserProfile.tsx",
"rules": [
{
"rule": "no-missing-deps",
"severity": "error",
"line": 42,
"message": "Missing dependency 'userId' in useEffect",
"fix": "Add userId to dependency array"
}
],
"summary": { "errors": 2, "warnings": 5, "info": 1 }
}
Example
User: "Audit our React codebase for performance issues"
→ Run audit → Report: 3 errors (missing deps, inline objects), 7 warnings → Provide fixes for each
Dependencies
Requires: Node.js, project with React 16+ (for React 18+ rules, requires React 18+)