The Iron Law applies here: **NO SKILL EDIT WITHOUT A FAILING TEST FIRST.** I can't just write the fix and ship it. Let me walk through how I'd actually do this.

## First: Diagnose, don't assume the fix

The SDD skill *already has* a Model Selection section explaining how to choose. Yet controllers omit the parameter anyway. This is the critical clue: **the existing documentation explains the decision but agents skip the action.**

Before writing anything, I'd run a RED baseline to find out *why* the omission happens. My hypothesis from the writing-skills training:

- The fix is probably **not** "explain model selection better" (that section exists and is being skipped).
- The omission is likely a *default behavior* problem: when no model is specified, dispatch succeeds and silently inherits. There's no forcing function. This is a candidate for **mechanical enforcement**, not more docs — "if it's enforceable with validation, automate it."

But I won't assume. I test first.

## RED Phase: Watch it fail

Dispatch 3+ subagents as controllers with realistic dispatch tasks, WITHOUT any change, and capture verbatim:
- Do they read the Model Selection section at all?
- When they omit the model param, what's their reasoning? ("I'll let it inherit," "didn't think about it," "the section is about choosing, not about always specifying")
- Combine pressures: time pressure + many subtasks + a section that reads as optional reference.

I record exact rationalizations. These determine the fix.

## (1) The exact change — *contingent on baseline results*

Based on the likely finding (agents treat model selection as optional reference, not a required step), the minimal change is to convert the omission from a silent default into a blocked action. Two layers:

**Mechanical (preferred, if dispatch is scriptable):** Make the dispatch tool/wrapper **require** an explicit `model` argument and fail loudly if absent. Documentation can't beat a hard stop. This is the real fix if it's enforceable.

**Documentation (for the judgment-call residue):** Add a tight pre-dispatch checklist line at the *dispatch* instruction (not buried in the Model Selection section):

```markdown
## Before EVERY subagent dispatch

REQUIRED: Set `model` explicitly on every dispatch. Never omit it.
Omitting `model` does NOT inherit a sensible default — it silently
inherits the session's most expensive model, burning budget.

- [ ] `model` parameter is present and explicit
- [ ] Model matches task (see Model Selection above)

Red flag: dispatching without `model` set. STOP and add it.
```

The key edits versus today:
- Move the requirement to the **point of action** (dispatch), not the reference section.
- State the **cost consequence** of omission explicitly (closes "it'll just inherit something reasonable").
- Make presence of the param a checklist gate, separate from the *choice* of value.

I'd only finalize wording after the baseline shows me the actual rationalizations to counter.

## (2) Verification plan before deploying

**GREEN:** Re-run the *same* pressure scenarios with the change in place. Success = every controller sets `model` explicitly on every dispatch.

**REFACTOR:** Capture any new rationalizations ("this dispatch is trivial, inherit is fine," "I set it on the first one, reused for the rest"). Add explicit counters and a rationalization table. Re-test until controllers comply under combined pressure (time + many subtasks + exhaustion).

**Mechanical check (if the tool-level guard is added):** Confirm a dispatch with no `model` actually errors, and the error message names the cost consequence.

**Only after GREEN holds under pressure:** commit and push.

I won't keep any pre-tested draft as "reference" — if I write wording before the baseline, I delete it and start over after seeing the failures.

Want me to proceed to the RED baseline so we can lock down the exact wording (and decide whether the mechanical guard is feasible)?