| name | scrutinize-change |
| description | Review a plan, diff, PR, or completed change with outsider skepticism. Check code paths, verify behavior, look for edge cases and test gaps. Trigger on /scrutinize-change, or when asked to review/audit/sanity-check changes. |
| user-invocable | true |
| allowed-tools | Read, Grep, Glob, Bash |
Scrutinize Change
Stand outside the change and verify it does what it claims, end-to-end.
Workflow
1. Intent
- State the goal in one sentence. If you cannot, say so and stop.
- Is there a simpler way? Consider: doing nothing, using existing code, smaller change that covers 90%, solving at a different layer.
2. Trace
- Walk the actual code path end-to-end — entry point, call sites, branches, state mutations, exit/return.
- Include unchanged code on either side of the diff. Bugs hide at seams.
- For plans: trace proposed flow against the existing system. Note assumptions that aren't true.
3. Verify
- Does the traced path actually produce the claimed behavior?
- What inputs/states would break it? Edge cases, concurrency, errors, retries, empty/null inputs, ordering.
- What does it silently change? Performance, error semantics, observability, contracts.
- Do tests actually exercise the traced path, or do they pass while skipping it via mocks?
4. Report
Order by severity (blocker → major → nit). For each finding:
- Finding — one sentence, specific, cite
file:line.
- Why it matters — consequence.
- Evidence — trace step or input that exposes it.
- Suggested fix — concrete, minimal.
Close with one-line verdict: ship / fix-then-ship / rework / reject.
Rules
- No rubber-stamps. If you find nothing, say what you traced and checked.
- Cite specific paths, files, or lines. No vague claims.
- Distinguish "the PR says X" from "I traced X and confirmed/refuted it."
- One pass asking "is this necessary at all" is mandatory.
- No flattery, no hedging. State the finding.
Experience Log
This skill learns from experience. Mechanism:
-
Read .claude/experience/scrutinize-change.md at skill start to benefit from past lessons.
-
Write to .claude/experience/scrutinize-change.md after use if you learned something new.
-
Format: YYYY-MM-DD: <lesson> — one line per entry.
-
Evolve: If the same issue repeats 3+ times, update this SKILL.md itself.
This skill improves over time. After each use, append lessons learned.
Record format: YYYY-MM-DD: <lesson>
Read this at skill start to apply past lessons.