This is a classic case where I need to match the form to the failure. Let me work through it using the writing-skills discipline.

## Classify the failure first

The reports already arrive — subagents *are* producing review output. The problem is the output has the **wrong shape**: it's missing a required element (the commit range) from something they already produce.

Per the "Match the Form to the Failure" table, this is:

> **Omits a required element from something they already produce** → Right form: **Structural — a REQUIRED field/slot in the template they fill in.** Wrong form: prose reminders near the template.

So the fix is **not** a prohibition ("never submit a review without the commit range") and **not** soft guidance ("remember to include the range"). It's adding a structural slot to the report template the skill already gives subagents.

## (1) The exact change

In the code-review skill's report-template section, add a required first field to the output contract. Whatever the existing template looks like, the change makes the range a structural slot, not a reminder:

```markdown
## Review Report

Every review report MUST begin with this header, filled in before any findings:

**Reviewed range:** `<base-sha>..<head-sha>` (`git rev-parse HEAD` at review time: `<head-sha>`)
**Branch / ref:** `<ref>`

[... existing findings / verdict sections unchanged ...]
```

Two reasons this is structural rather than prose:
- It's a **slot the agent fills in**, placed at the top of the template they already copy — not a sentence "near" the template they can skim past.
- The parenthetical tells them *how* to obtain the head SHA (`git rev-parse HEAD`), so the field can't be filled with a vague "latest" — it's keyed to an observable command output.

I would **not** add "don't submit without this" anywhere. Under the competing incentive of "just get the review done," a prohibition invites negotiation; a required slot either gets filled or visibly doesn't.

## (2) Verification plan before deploying

I will not deploy this untested. The Iron Law applies to edits too. Plan:

**RED — baseline (watch it fail).** Confirm the failure actually reproduces, and that it's a shaping/omission failure not a discipline one:
- Run the code-review skill **as it exists now** against a real commit range with a fresh-context subagent. Control = no change.
- 5+ reps. Read every report manually. Confirm the commit range is absent/vague in the baseline. If it's already present, there's nothing to fix — stop.
- Note *how* they currently refer to scope ("I reviewed the recent changes", etc.) — that tells me whether the slot wording lands.

**Micro-test the wording (cheap, before full scenarios).**
- System prompt = the *full edited skill* (slot in realistic context, not in isolation). User message = a review task that tempts skipping ("quick review, the controller's waiting").
- 5+ reps per variant against the no-guidance control.
- Manually read each — watch for template echoes (the agent copying the literal `<base-sha>` placeholder instead of resolving it). That masquerades as success.
- **Variance is the metric:** if reps converge on a real `abc123..def456` header every time, the slot is binding. Five different interpretations means tighten the form (e.g., make the `git rev-parse` step a numbered first action, not a parenthetical).

**GREEN — pressure scenarios.** Run review tasks under combined pressure (time + "controller already approved deploying, just confirm"). Verify the range still appears, resolved to real SHAs.

**REFACTOR.** If a new failure mode appears (e.g., they fill range but it's the *branch point* not what they diffed), close it by making the slot unambiguous — and re-test.

**Only then deploy** (commit, push).

One caveat I'd flag to you: if baseline shows subagents *deliberately* drop the range under pressure (a discipline failure) rather than simply forgetting it (a shaping failure), the structural slot alone may not hold — I'd layer in a rationalization counter. The RED phase tells me which world we're in before I write a word of guidance.