diff-reviewlisted
Install: claude install-skill a-canary/arc-agents
# diff-review — Independent Pre-Commit Diff Review
A worker self-reviewing its own diff misses what it rationalized away during implementation. This skill spawns a **fresh subagent** that has never seen the worker's reasoning trace, gives it only `(diff, task brief, touched ADR files)`, and asks it to predict consequences and flag surprises/gaps versus the brief.
The skill is mandatory before `bookie update --state merged`. The ledger CLI refuses merge if no `diff_review` event exists for the issue.
## When to run
Run **after** the diff is finalized (all code/test/doc edits done, no further work planned) and **before** `git add` / `git commit`. If you change the diff after running the review, run it again — the report is only valid for the diff at the time of capture.
## Inputs the subagent receives
1. `git diff` against the branch's merge base (raw patch text, no commentary).
2. The task row's `body_md` + `acceptance_md` (the brief).
3. Full contents of any ADR file referenced by the brief or touched by the diff.
4. The row's `project` field and (if filed) the `pr_url` — see "Project-field verification" below.
The subagent receives **nothing else** — no event log, no worker chat history, no prior reasoning. Independence is the whole point.
## Required output schema
The subagent returns a single JSON object:
```json
{
"consequences": [
"string — one predicted runtime/API/schema/hook/test/caller/doc effect of the diff"
],
"surprises_vs_brief": [
"string