react-router-code-review — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited react-router-code-review (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
| Issue Type | Reference |
|---|---|
| useEffect for data, missing loaders, params | references/data-loading.md |
| Form vs useFetcher, action patterns | references/mutations.md |
| Missing error boundaries, errorElement | references/error-handling.md |
| navigate() vs Link, pending states | references/navigation.md |
loader not useEffectdefer() for parallel data fetching when appropriate<Form> or useFetcher not manual fetcherrorElement on routesisRouteErrorResponse() to check error types<Link> over navigate() where possibleuseNavigation() or fetcher.stateThese patterns are correct React Router usage - do not report as issues:
useLoaderData<typeof loader>() is a type annotation, not a type assertionOnly flag these issues when the specific context applies:
| Issue | Flag ONLY IF |
|---|---|
| Missing loader | Data is available server-side (not client-only) |
| useEffect for data fetching | Data is NOT client-only (localStorage, browser APIs, window size) |
| Missing errorElement | No parent route in the hierarchy has an error boundary |
| navigate() instead of Link | Navigation is NOT triggered by an event handler or conditional logic |
Run in order. Pass each gate with evidence (paths, line refs, or a one-line quote from code)—not intuition alone.
Pass when: You have repo path(s) to the route module, routes config entry, or layout that owns the behavior under review (write them in your notes before flagging).
Pass when: For every issue that maps to Context-Sensitive Rules, the Flag ONLY IF condition is satisfied with a one-line rationale tied to the code; for other checklist items, you have a concrete code citation (path + line or short excerpt).
Pass when: The behavior is not covered by Valid Patterns (Do NOT Flag) for that category.
Load and follow review-verification-protocol. Pass when: Its pre-report checklist (and any issue-type subsection that applies) is complete for each finding you will output.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.