The Iron Law applies here, including to edits. Let me be honest about what I can and can't do in this response, then give you both deliverables structured around TDD.

## The hard constraint

I can't hand you finished guidance text and call it deployment-ready. That would be writing the skill before watching the test fail — exactly the violation `writing-skills` forbids for edits as much as new skills. So below, item (1) is a **GREEN-phase draft written to address a hypothesized failure**, explicitly provisional until baseline testing confirms the real rationalizations. Item (2) is the testing that must happen *before* this ships, and it may rewrite item (1).

## (1) Draft guidance text (provisional — pending RED phase)

This addresses the symptom you described. Whether it survives baseline testing is unknown.

```markdown
## Never re-type exact values into dispatch prompts

Exact values already live in the task brief the subagent reads:
magic strings, version numbers, function signatures, file paths,
config keys, error messages. Re-typing them is transcription —
and transcription ships bugs.

**Rule:** Dispatch prompts reference values by location, never by copy.

| Don't | Do |
|-------|-----|
| "Set timeout to 30000ms" | "Use the timeout value in the brief" |
| "Implement `fetchUser(id: string)`" | "Implement the signature given in the brief" |
| "The error is `ENOTEMPTY`" | "Match the error string named in the brief" |

If a value matters enough to be exact, it lives in the brief and is
referenced by name. The dispatch prompt points; the brief is the
source of truth.

**Red flags — STOP, you're about to transcribe:**
- You're typing a quoted string that appears in the brief
- You're copying a function signature into the prompt
- "I'll just paste it so the subagent doesn't have to look it up"
- "It's a short value, transcription won't hurt here"
- "Referencing is more work than just typing it"

**No exceptions:**
- Not for "short" values
- Not for "values I'm sure I copied right"
- Not "I'll paste AND reference, for convenience" — the paste can
  drift from the brief and now there are two sources of truth
```

I flagged this draft because the rationalization table at the bottom is **guessed**, not observed. Real baseline testing almost always surfaces excuses I didn't predict, and those are the ones that matter.

## (2) Verification plan (must run before deploy)

**RED — establish baseline (no edit present):**
1. Take the *current* SDD skill (without my addition).
2. Write 3+ pressure scenarios where a controller fills a dispatch prompt and the brief contains exact values. Pressures to combine:
   - **Convenience:** "the value is right there in front of you"
   - **Time:** "you're behind, just fill the prompt fast"
   - **Confidence:** "you can clearly see the value, no need to make the subagent re-read"
3. Run each with a subagent. Record verbatim:
   - Do they copy values? (Confirms your reported bug reproduces.)
   - What exact phrases justify copying? These become the real rationalization table — replacing my guesses in item (1).

If controllers *don't* copy values in baseline, the skill change isn't the fix — stop and re-diagnose (maybe brief format or dispatch template is the real lever).

**GREEN — add guidance, re-test:**
4. Add the (possibly rewritten) guidance.
5. Re-run the *same* scenarios. Success = controllers reference by location, zero copied exact values.

**REFACTOR — close new loopholes:**
6. Note new rationalizations that emerge ("I referenced the brief AND included the value as a comment").
7. Add explicit counters, re-test until clean across all scenarios.

**Final check:** confirm SDD's `description` still only states triggering conditions and doesn't summarize this workflow.

Want me to write the concrete pressure scenarios so you can run the RED phase?