React Doctor

by brianlovin1a9819ebf3feNo license376 starsListed Oct 8, 2026Updated Oct 8, 2026Repository updated 6 months ago

Diagnose and fix React codebase health issues. Use when reviewing React code, fixing performance problems, auditing security, or improving code quality.

AI-generated overview

Diagnoses React codebase health issues across security, performance, correctness and architecture, producing a 0-100 score.

What it does
Scans a React codebase for security, performance, correctness, architecture, Next.js, bundle size, server, accessibility and dead code issues. It reports diagnostics with file paths and line numbers and outputs a 0-100 score with severity bands. The workflow is to run the scan, fix errors first, then re-run to verify the score improved.
When to use it
Use when reviewing React code, fixing performance problems, auditing security, or improving overall code quality. It suits a project-level health check before or after refactoring.
Requirements
Requires Node.js and npx with network access to fetch the react-doctor package. The skill ships no scripts; it is instructions only.

React Doctor

Scans your React codebase for security, performance, correctness, and architecture issues. Outputs a 0-100 score with actionable diagnostics.

Usage

bash
npx -y react-doctor@latest . --verbose

Workflow

  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

Source and attribution

Source:brianlovin/agent-configinskills/react-doctorat commit1a9819e

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal