What problem does it solve? React-specific lint gates often fail silently: exit codes can report success even when no scan actually ran, and remote score endpoints leak project data off the machine. This Skill defines a fail-closed advisory gate for React changes that proves scan coverage from a local JSON report instead of trusting exit codes. ## Core Features & Use Cases - Changed-scope scanning: Runs react-doctor (pinned to version 0.9.1) with --scope changed --base <target-branch> so only modified files are checked against the target branch. - JSON-based evidence: Requires ok !== false, complete !== false, filesScanned > 0, and newErrors === 0 from .react-doctor.json, catching documented fail-open paths like --blocking none, timeout truncation, and exit-0-without-JSON bugs. - Privacy enforcement: Mandates --no-score and --no-supply-chain so no project fingerprint is sent to remote score endpoints, Socket.dev, or Sentry. - Use Case: After finishing a React feature in apps/web, run the gate to confirm zero new error-severity findings on the changed scope before committing, with a RED-verify step proving the gate actually turns red on a known violation. ## Quick Start Run the react-doctor advisory gate on my changed React files against the main branch and confirm from the JSON report that zero new error findings were introduced.