Installs and runs Million's React Doctor to audit a React or Next.js codebase for performance, security, correctness, and architecture issues.
SkillScore86Maintained
Automatic
◆Frontend / UI pack
Last verified 8/20/2026
What it changes
Passed 16 of 19 test cases with the skill, and 11 of 19 without it.
Without skill59%
With skill86%
Checks it passed that the model alone missed
The command includes the --fail-on none flag.
The command specifies the react-doctor:first-party bun script.
The response identifies react-doctor:first-party as the Bun script name.
and 4 more in the full report
6 fixed13 passed either way3 still failing0 broke
Pass-rate lift
+27 pp
Tokens
-10%
Agent turns
0%
Response time
-49%
Model gemini-3.6-flashMeasured 8/20/2026v1 · latest is v219 of 22 cases passed with skill · 19 comparable
Tokens, turns and time describe resource use, not a dollar price.
This benchmark measured an earlier version of the skill.
See it in action
One of 6 test cases the skill fixed. Same model, same prompt, with and without the skill.
1 of 6
Prompt
To execute our codebase's configured React Doctor audit, what is the exact Bun package script name defined in package.json that wraps the first-party audit tool?
What was checked, without and with the skill
Checked
Without skill
With skill
The response identifies react-doctor:first-party as the Bun script name.
Missed
Passed
case-16 · gemini-3.6-flash · 8/20/2026 · answers are capped and redacted
What's inside
The instructions your model reads when the skill loads.
SKILL.md15 linessingle file
React Doctor in Core
Read docs/guides/development/react-doctor.md before auditing. It owns the commands, applicable-rule profile, generated boundaries, exact exception policy, and verification language.
Inspect the owning source, tests, package/framework contracts, and nearest AGENTS.md. Preserve public APIs, Base UI/base-maia, financial and permission behavior, stable drafts, and existing View Transition owners.
Run bun run react-doctor:audit. This uses React Doctor 0.9.17's public CLI on a disposable physical source copy. Read every target's JSON and stderr plus actionable.json; skipped checks or stale evidence are failures.
Prioritize demonstrated correctness and accessibility defects, then bounded composition, design, and performance improvements. Add regression coverage before substantive behavior fixes and retain pending-focus, hydration, stale-response, and financial assertions.
Review each suspected false positive against complete source and actual consumers. Record exact identities, reason, source/test evidence hashes, and a reconsideration condition in docs/qa/react-doctor/exceptions.json. Unknown or deferred debt remains actionable. Never add blanket rule ignores or manufacture a consumer.
Run focused native checks after each batch and Chromium/axe where controls or layouts change. Use bun run test:react-cleanup for the isolated synthetic real-component suite; disclose its authenticated/provider limits.
Finish with affected builds, formatting, workspace-aware lint/typecheck, bunx --no-install vitest run --coverage --maxWorkers=4, bun run react-doctor:raw, and bun run react-doctor:check. Acceptance is zero unexcepted warnings/errors across all eight completed targets with no skipped applicable checks.
Report actual fix/exception counts, exclusions, test/build/browser results, and material limits. Leave work local and uncommitted unless publication is separately authorized.
Scoring, sharing, telemetry, and network-backed supply-chain checks remain disabled. Do not request a numeric score or call the result a dependency-security certification. The classic react-in-jsx-scope requirement is disabled in the applicable profile because Next.js uses automatic JSX; the raw inventory re-enables it for transparency. Never add unnecessary imports to satisfy that obsolete requirement.
For interactive diagnostics only, bun run react-doctor:first-party -- --full --offline --fail-on none retains legacy argument compatibility. Its advisory exit status does not replace the strict check. No private scanner API is part of the permanent workflow.