architecture-review
# Architecture Review This Claude Code skill validates that architectural decisions documented in ADRs comprehensively address all technical requirements from game design documents, contain no internal conflicts, and maintain compatibility with the pinned engine version. Use it as the quality gate after Technical Setup to verify architectural completeness before moving to Pre-Production, or run specific modes like coverage to identify which GDD requirements lack corresponding ADRs, consistency to detect cross-ADR conflicts, or rtm to build a full traceability chain from design requirements through stories to tests.
git clone --depth 1 https://github.com/Donchitos/Claude-Code-Game-Studios /tmp/architecture-review && cp -r /tmp/architecture-review/.claude/skills/architecture-review ~/.claude/skills/architecture-reviewSKILL.md
# Architecture Review The architecture review validates that the complete body of architectural decisions covers all game design requirements, is internally consistent, and correctly targets the project's pinned engine version. It is the quality gate between Technical Setup and Pre-Production. **Argument modes:** - **No argument / `full`**: Full review — all phases - **`coverage`**: Traceability only — which GDD requirements have no ADR - **`consistency`**: Cross-ADR conflict detection only - **`engine`**: Engine compatibility audit only - **`single-gdd [path]`**: Review architecture coverage for one specific GDD - **`rtm`**: Requirements Traceability Matrix — extends the standard matrix to include story file paths and test file paths; outputs `docs/architecture/requirements-traceability.md` with the full GDD requirement → ADR → Story → Test chain. Use in Production phase when stories and tests exist. --- ## Phase 1: Load Everything ### Phase 1a — L0: Summary Scan (fast, low tokens) Before reading any full document, use Grep to extract `## Summary` sections from all GDDs and ADRs: ``` Grep pattern="## Summary" glob="design/gdd/*.md" output_mode="content" -A 4 Grep pattern="## Summary" glob="docs/architecture/adr-*.md" output_mode="content" -A 3 ``` For `single-gdd [path]` mode: use the target GDD's summary to identify which ADRs reference the same system (Grep ADRs for the system name), then full-read only those ADRs. Skip full-reading unrelated GDDs entirely. For `engine` mode: only full-read ADRs — GDDs are not needed for engine checks. For `coverage` or `full` mode: proceed to full-read everything below. ### Phase 1b — L1/L2: Full Document Load Read all inputs appropriate to the mode: ### Design Documents - All in-scope GDDs in `design/gdd/` — read every file completely - `design/gdd/systems-index.md` — the authoritative list of systems ### Architecture Documents - All in-scope ADRs in `docs/architecture/` — read every file completely - `docs/architecture/architecture.md` if it exists ### Engine Reference - `docs/engine-reference/[engine]/VERSION.md` - `docs/engine-reference/[engine]/breaking-changes.md` - `docs/engine-reference/[engine]/deprecated-apis.md` - All files in `docs/engine-reference/[engine]/modules/` ### Project Standards - `.claude/docs/technical-preferences.md` Report a count: "Loaded [N] GDDs, [M] ADRs, engine: [name + version]." **Also read `docs/consistency-failures.md`** if it exists. Extract entries with Domain matching the systems under review (Architecture, Engine, or any GDD domain being covered). Surface recurring patterns as a "Known conflict-prone areas" note at the top of the Phase 4 conflict detection output. --- ## Phase 2: Extract Technical Requirements from Every GDD ### Pre-load the TR Registry Before extracting any requirements, read `docs/architecture/tr-registry.yaml` if it exists. Index existing entries by `id` and by normalized `requirement` text (lowercase, trimmed). This prevents ID renumbering across review runs. For each requirement you extract, the matching rule is: 1. **Exact/near match** to an existing registry entry for the same system → reuse that entry's TR-ID unchanged. Update the `requirement` text in the registry only if the GDD wording changed (same intent, clearer phrasing) — add a `revised: [date]` field. 2. **No match** → assign a new ID: next available `TR-[system]-NNN` for that system, starting from the highest existing sequence + 1. 3. **Ambiguous** (partial match, intent unclear) → ask the user: > "Does '[new requirement text]' refer to the same requirement as > `TR-[system]-NNN: [existing text]'`, or is it a new requirement?" User answers: "Same requirement" (reuse ID) or "New requirement" (new ID). For any requirement with `status: deprecated` in the registry — skip it. It was removed from the GDD intentionally. For each GDD, read it and extract all **technical requirements** — things the architecture must provide for the system to work. A technical requirement is any statement that implies a specific architectural decision. Categories to extract: | Category | Example | |----------|---------| | **Data structures** | "Each entity has health, max health, status effects" → needs a component/data schema | | **Performance constraints** | "Collision detection must run at 60fps with 200 entities" → physics budget ADR | | **Engine capability** | "Inverse kinematics for character animation" → IK system ADR | | **Cross-system communication** | "Damage system notifies UI and audio simultaneously" → event/signal architecture ADR | | **State persistence** | "Player progress persists between sessions" → save system ADR | | **Threading/timing** | "AI decisions happen off the main thread" → concurrency ADR | | **Platform requirements** | "Supports keyboard, gamepad, touch" → input system ADR | For each GDD, produce a structured list: ``` GDD: [filename] System: [system name] Technical Requirements: TR-[GDD]-001: [requirement text] → Domain: [Physics/Rendering/etc] TR-[GDD]-002: [requirement text] → Domain: [...] ``` This becomes the **requirements baseline** — the complete set of what the architecture must cover. --- ## Phase 3: Build the Traceability Matrix For each technical requirement extracted in Phase 2, search the ADRs: 1. Read every ADR's "GDD Requirements Addressed" section 2. Check if it explicitly references the requirement or its GDD 3. Check if the ADR's decision text implicitly covers the requirement 4. Mark coverage status: | Status | Meaning | |--------|---------| | ✅ **Covered** | An ADR explicitly addresses this requirement | | ⚠️ **Partial** | An ADR partially covers this, or coverage is ambiguous | | ❌ **Gap** | No ADR addresses this requirement | Build the full matrix: ``` ## Traceability Matrix | Requirement ID | GDD | System | Requirement | ADR Coverage | Status | |---------------|-----|--------|-------------|--------------|--------| | TR-combat-00
The Accessibility Specialist ensures the game is playable by the widest possible audience. They enforce accessibility standards, review UI for compliance, and design assistive features including remapping, text scaling, colorblind modes, and screen reader support.
Brownfield onboarding — audits existing project artifacts for template format compliance (not just existence), classifies gaps by impact, and produces a numbered migration plan. Run this when joining an in-progress project or upgrading from an older template version. Distinct from /project-stage-detect (which checks what exists) — this checks whether what exists will actually work with the template's skills.
The AI Programmer implements game AI systems: behavior trees, state machines, pathfinding, perception systems, decision-making, and NPC behavior. Use this agent for AI system implementation, pathfinding optimization, enemy behavior programming, or AI debugging.
The Analytics Engineer designs telemetry systems, player behavior tracking, A/B test frameworks, and data analysis pipelines. Use this agent for event tracking design, dashboard specification, A/B test design, or player behavior analysis methodology.
Creates an Architecture Decision Record (ADR) documenting a significant technical decision, its context, alternatives considered, and consequences. Every major technical choice should have an ADR.
Guided, section-by-section Art Bible authoring. Creates the visual identity specification that gates all asset production. Run after /brainstorm is approved and before /map-systems or any GDD authoring begins.
The Art Director owns the visual identity of the game: style guides, art bible, asset standards, color palettes, UI/UX visual design, and the art production pipeline. Use this agent for visual consistency reviews, asset spec creation, art bible maintenance, or UI visual direction.
Audits game assets for compliance with naming conventions, file size budgets, format standards, and pipeline requirements. Identifies orphaned assets, missing references, and standard violations.