Architecture Decision
This skill reads an existing Architecture Decision Record (ADR) file, scans for required template sections (like `## Status`), and reports which sections are missing or present to validate the document's structure.
How to Install
git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios.git && cp Claude-Code-Game-Studios/.claude/skills/architecture-decision ~/.claude/skills/SKILL.md -rWhen this skill is invoked:
0. Parse Arguments — Detect Retrofit Mode
Resolve the review mode (once, store for all gate spawns this run):
1. If --review [full|lean|solo] was passed → use that
2. Else read production/review-mode.txt → use that value
3. Else → default to lean
See .claude/docs/director-gates.md for the full check pattern.
If the argument starts with retrofit followed by a file path
(e.g., /architecture-decision retrofit docs/architecture/adr-0001-event-system.md):
Enter retrofit mode:
- Read the existing ADR file completely.
- Identify which template sections are present by scanning headings:
## Status— BLOCKING if missing:/story-readinesscannot check ADR acceptance## ADR Dependencies— HIGH if missing: dependency ordering breaks## Engine Compatibility— HIGH if missing: post-cutoff risk unknown## GDD Requirements Addressed— MEDIUM if missing: traceability lost- Present to the user: ``` ## Retrofit: [ADR title] File: [path]
Sections already present (will not be touched): ✓ Status: [current value, or "MISSING — will add"] ✓ [section]
Missing sections to add:
✗ Status — BLOCKING (stories cannot validate ADR acceptance without this)
✗ ADR Dependencies — HIGH
✗ Engine Compatibility — HIGH
``
4. Ask: "Shall I add the [N] missing sections? I will not modify any existing content."
5. If yes:
- For **Status**: ask the user — "What is the current status of this decision?"
Options: "Proposed", "Accepted", "Deprecated", "Superseded by ADR-XXXX"
- For **ADR Dependencies**: ask — "Does this decision depend on any other ADR?
Does it enable or block any other ADR or epic?" Accept "None" for each field.
- For **Engine Compatibility**: read the engine reference docs (same as Step 1 below)
and ask the user to confirm the domain. Then generate the table with verified data.
- For **GDD Requirements Addressed**: ask — "Which GDD systems motivated this decision?
What specific requirement in each GDD does this ADR address?"
- Append each missing section to the ADR file using the Edit tool.
- **Never modify any existing section.** Only append or fill absent sections.
6. After adding all missing sections, update the ADR's## Datefield if it is absent.
7. Suggest: "Run/architecture-review` to re-validate coverage now that this ADR
has its Status and Dependencies fields."
If NOT in retrofit mode, proceed to Step 1 below (normal ADR authoring).
No-argument guard: If no argument was provided (title is empty), ask before running Phase 0:
"What technical decision are you documenting? Please provide a short title (e.g.,
event-system-architecture,physics-engine-choice)."
Use the user's response as the title, then proceed to Step 1.
1. Load Engine Context (ALWAYS FIRST)
Before doing anything else, establish the engine environment:
- Read
docs/engine-reference/[engine]/VERSION.mdto get: - Engine name and version
- LLM knowledge cutoff date
-
Post-cutoff version risk levels (LOW / MEDIUM / HIGH)
-
Identify the domain of this architecture decision from the title or user description. Common domains: Physics, Rendering, UI, Audio, Navigation, Animation, Networking, Core, Input, Scripting.
-
Read the corresponding module reference if it exists:
docs/engine-reference/[engine]/modules/[domain].md -
Read
docs/engine-reference/[engine]/breaking-changes.md— flag any changes in the relevant domain that post-date the LLM's training cutoff. -
Read
docs/engine-reference/[engine]/deprecated-apis.md— flag any APIs in the relevant domain that should not be used. -
Display a knowledge gap warning before proceeding if the domain carries MEDIUM or HIGH risk:
``` ⚠️ ENGINE KNOWLEDGE GAP WARNING Engine: [name + version] Domain: [domain] Risk Level: HIGH — This version is post-LLM-cutoff.
Key changes verified from engine-reference docs: - [Change 1 relevant to this domain] - [Change 2]
This ADR will be cross-referenced against the engine reference library. Proceed with verified information only — do NOT rely solely on training data. ```
If no engine has been configured yet, prompt: "No engine is configured.
Run /setup-engine first, or tell me which engine you are using."
2. Determine the next ADR number
Scan docs/architecture/ for existing ADRs to find the next number.
3. Gather context
Read related code, existing ADRs, and relevant GDDs from design/gdd/.
3a: Architecture Registry Check (BLOCKING gate)
Read docs/registry/architecture.yaml. Extract entries relevant to this ADR's
domain and decision (grep by system name, domain keyword, or state being touched).
Present any relevant stances to the user before the collaborative design begins, as locked constraints:
```
Existing Architectural Stances (must not contradict)
State Ow
Details
| Category | AI/ML → ml |
| Source | Donchitos/Claude-Code-Game-Studios |
| SKILL.md | View on GitHub → |
| Repo Stars | ★ 22.1K |
| Est. per Skill | N/A (shared across 74 skills from this repo) |
| Difficulty | Advanced |
| Risk Level | N/A |
Related Skills
Works Well With
Skills from the same repository — often designed to work together