When a GDD is revised, scans all ADRs and the traceability index to identify which architectural decisions are now potentially stale. Produces a change impact report and guides the user through resolution.
When a GDD changes, architectural decisions written against it may no longer be valid. This skill finds every affected ADR, compares what the ADR assumed against what the GDD now says, and guides the user through resolution.
Usage: /propagate-design-change design/gdd/combat-system.md
A GDD path argument is required. If missing, fail with:
"Usage:
/propagate-design-change design/gdd/[system].mdProvide the path to the GDD that was changed."
Verify the file exists. If not, fail with:
"[path] not found. Check the path and try again."
Read the current GDD in full.
Run git to get the previous committed version:
git show HEAD:design/gdd/[filename].md
If the file has no git history (new file), report:
"No previous version in git — this appears to be a new GDD, not a revision. Nothing to propagate."
If git returns the previous version, do a conceptual diff:
## Change Summary: [GDD filename]
Date of revision: [today]
Changed sections:
- [Section name]: [what changed — new rule, removed rule, formula modified, etc.]
Unchanged sections:
- [Section name]
Key changes affecting architecture:
- [Change 1 — likely to affect ADRs]
- [Change 2]
Read all ADRs in docs/architecture/:
Read docs/architecture/architecture-traceability.md if it exists.
Report: "Loaded [N] ADRs. [M] reference [gdd filename]."
For each ADR that references the changed GDD:
Compare the ADR's "GDD Requirements Addressed" entries against the changed sections of the GDD. For each referenced requirement:
Classify each affected ADR as one of:
| Status | Meaning |
|---|---|
| ✅ Still Valid | The GDD change doesn't affect what this ADR decided |
| ⚠️ Needs Review | The GDD change may affect this ADR — human judgment needed |
| 🔴 Likely Superseded | The GDD change directly contradicts what this ADR assumed |
For each affected ADR, produce an impact entry:
### ADR-NNNN: [title]
Status: [Still Valid / Needs Review / Likely Superseded]
What the ADR assumed about this GDD:
"[relevant quote from the ADR's GDD Requirements Addressed section]"
What the GDD now says:
"[relevant quote from the current GDD]"
Assessment:
[Explanation of whether the ADR decision is still valid, and why]
Recommended action:
[Keep as-is | Review and update | Mark Superseded and write new ADR]
Present the full impact report to the user before asking for any action. Format:
## Design Change Impact Report
GDD: [filename]
Date: [today]
Changes detected: [N sections changed]
ADRs referencing this GDD: [M]
### Not Affected
[ADRs referencing this GDD whose decisions remain valid]
### Needs Review ([count])
[ADRs that may need updating]
### Likely Superseded ([count])
[ADRs whose assumptions are now contradicted]
Review mode check — apply before spawning TD-CHANGE-IMPACT:
solo → skip. Note: "TD-CHANGE-IMPACT skipped — Solo mode." Proceed to Phase 7.lean → skip. Note: "TD-CHANGE-IMPACT skipped — Lean mode." Proceed to Phase 7.full → spawn as normal.Spawn technical-director via Task using gate TD-CHANGE-IMPACT (.claude/docs/director-gates.md).
Pass: the full Design Change Impact Report from Phase 6 (change summary, all affected ADRs with their Still Valid / Needs Review / Likely Superseded classifications, and recommended actions).
The technical-director reviews whether:
Apply the verdict:
AskUserQuestion with options: Revise the impact assessment / Accept with noted concerns / Discuss furtherFor each ADR marked "Needs Review" or "Likely Superseded", ask the user what to do:
Ask for each ADR in turn:
"ADR-NNNN ([title]) — [status]. What would you like to do?" Options:
- "Mark Superseded (I'll write a new ADR)" — updates ADR status line to
Superseded by: [pending]- "Update in place (minor revision)" — opens the ADR for editing; note what to revise
- "Keep as-is (the change doesn't actually affect this decision)"
- "Skip for now (revisit later)"
For ADRs marked Superseded:
Superseded by ADR-[next number] (pending — see change-impact-[date]-[system].md)If docs/architecture/architecture-traceability.md exists:
## Superseded Requirements
| Date | GDD | Requirement | Changed To | ADRs Affected | Resolution |
|------|-----|-------------|------------|---------------|------------|
| [date] | [gdd] | [old requirement text] | [new requirement text] | ADR-NNNN | [Superseded/Updated/Valid] |
Ask: "May I update the traceability index?"
Ask: "May I write the change impact report to docs/architecture/change-impact-[date]-[system-slug].md?"
The document contains:
If user approved: Verdict: COMPLETE — change impact report saved. If user declined: Verdict: BLOCKED — user declined write.
Based on the resolution decisions, suggest:
/architecture-decision [title] to write the
replacement ADR. Then re-run /propagate-design-change to verify coverage."/architecture-review after all ADRs are updated
to verify the full traceability matrix is still coherent."