review-change — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited review-change (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.
The quality gate for a change: get every review that applies — and skip the ones that don't — in one synthesized, classified report. Findings only; never edits or refactors.
review-change pass; it's never skipped. execute-phase hands off to it every 2 phases and once more at the end.
passes (e.g. accessibility on a backend change).
Default target is the current change (branch diff vs the default branch); accept a path/glob to widen or narrow. State the scope at the top of the report.
Per the agent guide's Workflow conventions + documentation map, then decide which axes apply from two inputs:
docs/frontend/present)? Is it web, mobile, console/CLI, library/SDK, or backend/infra? Note the companion review skills the project expects (its init-workspace records them).
infra? domain logic?). An axis applies only if both the project has it and the change touches it.
| Axis / skill | Web | Mobile | Console/CLI | Lib/SDK | Backend/Infra |
|---|---|---|---|---|---|
review-implementation (bugs, arch, security, dead code, perf, tests, rules) | ✓ | ✓ | ✓ | ✓ | ✓ |
code-review (correctness + simplification) | ✓ | ✓ | ✓ | ✓ | ✓ |
security-review | ✓ | ✓ | ✓ | ✓ | ✓ |
verify (run it, confirm real behavior) | ✓ | ✓ | ✓ | ✓ | ✓ |
tech-debt | ✓ | ✓ | ✓ | ✓ | ✓ |
design-review (UI/UX) | ✓ | ✓ | TUI only | ✗ | ✗ |
accessibility-review | ✓ | ✓ | rare | ✗ | ✗ |
brand-review (voice/copy) | ✓ | ✓ | output text | ✗ | ✗ |
perf (web-perf on web; complexity/profiling elsewhere) | ✓ | ✓ | ✓ | ✓ | ✓ |
| SEO | ✓ | ✗ | ✗ | ✗ | ✗ |
| API ergonomics / usage docs | if API | if API | flags/help | ✓✓ | ✓ |
review-implementation over the scope → its classifieddecision table (fix-now / postpone / ignore / intentional-tradeoff).
the diff against its scope and acceptance criteria: flag work that contradicts the SPEC, silently exceeds it, or leaves a claimed criterion untouched. Findings get axis spec-drift in the table. Catching drift at a phase checkpoint is far cheaper than at the audit-pr merge gate. (No SPEC found → note it and skip.)
invoke the project's review skill for it (code-review, security-review, verify, design-review, accessibility-review, brand-review, tech-debt, the perf/SEO skills). Skip the rest and say which you skipped and why.
do a best-effort inline pass for that axis rather than failing.
file:line. Keep review-implementation's columns (Sev, Class, WHY, impl risk, long-term impact, premature-opt?, route) and add an Axis column.
and a human must check — visual correctness, real-device/locale behavior, UX feel, perf under load, anything marked verify. Be explicit so the dev has zero doubt about what to eyeball.
fix-now (postpone / ignore / intentional-tradeoff), run it through triage-issue (compose in-turn — equal tier) to decide and record its home: a tracked issue with a trigger, a documented decision (decisions.md / a comment), or a justified drop. No non-fix-now finding may end without a destination — the point is to never silently lose one, and to catch the few that actually deserve an issue or a doc note.
/audit-pr;fix-now open → fold them, then re-review).
For a change to a backend export module (no UI surface):
Scope: branch diff vsmain(src/export/**). Skipped: design / a11y / SEO / brand — no UI surface.
| Axis | Finding | Sev | Class | WHY | Route |
|---|---|---|---|---|---|
| security | API token read from a committed file | high | fix-now | Credential exposure | plan-fix |
| tests | Export handler has no failure-mode test | med | fix-now | Untested error path | fold into phase |
| perf | Full table loaded before filtering | low | postpone | Fine at current size | issue + trigger (>100k rows) |
Manual-verification (automation can't confirm): - The exported file opens cleanly in a spreadsheet app. - An empty result set still produces a valid (header-only) file.
Every non-fix-now finding is routed through `triage-issue` (step 7) so its disposition is a decision, not a default:
plan-fix → execute-phase --fix, or fold into the current phaseif it's unmerged work.
triage-issue → open a tracked issue with a trigger.triage-issue → record it (comment / decisions.md / issue).triage-issue → note the rationale (or confirm it truly needs nothing).CLI/lib/infra). Always report what was skipped and why.
file:line, mark uncertainties verify.
review-implementation (engine), triage-issue (every non-fix-nowfinding — equal tier, in-turn), and the project's companion review skills.
execute-phase hands off to it every 2phases and for the mandatory end review (it runs in its own turn). fix-now → plan-fix; everything else → triage-issue.
audit-pr is the PR-level gate it feeds; product-audit the periodic full sweep.the skipped axes are listed with reasons, and the manual-verification checklist is explicit.
put through triage-issue (issue / documented decision / justified drop) — none silently lost.
/audit-pr), and no code changed.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.