
React Doctor
- 183 installs
- 356 repo stars
- Updated March 25, 2026
- brianlovin/claude-config
This is a copy of react-doctor by posthog - installs and ranking accrue to the original listing.
Run a structured React health check—deps, patterns, perf smells, and test gaps—before merging or releasing UI changes in mature codebases.
About
Frontend diagnostic skill that systematically examines React apps for architectural smells, unsafe patterns, performance issues, and missing safeguards, producing prioritized fixes aligned with brianlovin claude-config standards ahead of ship.
- React anti-pattern detection
- Hook and state smell review
- Bundle and render perf flags
- Dependency/version sanity
- Actionable fix list
React Doctor by the numbers
- 183 all-time installs (skills.sh)
- Data as of Aug 1, 2026 (Skillselion catalog sync)
npx skills add https://github.com/brianlovin/claude-config --skill react-doctorAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 183 |
|---|---|
| repo stars | ★ 356 |
| Last updated | March 25, 2026 |
| Repository | brianlovin/claude-config ↗ |
What it does
Run a structured React health check—deps, patterns, perf smells, and test gaps—before merging or releasing UI changes in mature codebases.
Files
React Doctor
Scans your React codebase for security, performance, correctness, and architecture issues. Outputs a 0-100 score with actionable diagnostics.
Usage
npx -y react-doctor@latest . --verboseWorkflow
1. Run the command above at the project root 2. Read every diagnostic with file paths and line numbers 3. Fix issues starting with errors (highest severity) 4. Re-run to verify the score improved
Rules (47+)
- Security: hardcoded secrets in client bundle, eval()
- State & Effects: derived state in useEffect, missing cleanup, useState from props, cascading setState
- Architecture: components inside components, giant components, inline render functions
- Performance: layout property animations, transition-all, large blur values
- Correctness: array index as key, conditional rendering bugs
- Next.js: missing metadata, client-side fetching for server data, async client components
- Bundle Size: barrel imports, full lodash, moment.js, missing code splitting
- Server: missing auth in server actions, blocking without after()
- Accessibility: missing prefers-reduced-motion
- Dead Code: unused files, exports, types
Score
- 75+: Great
- 50-74: Needs work
- 0-49: Critical