Files
Claude-Code-Game-Studios/.claude/skills/architecture-decision/SKILL.md
Donchitos b1cad29b68 Release v0.4.0: UX pipeline, game-dev improvements
## New Skills (9)
- /quick-design: lightweight spec path for small changes (bypasses full GDD pipeline)
- /story-readiness: validates stories are implementation-ready before pickup
- /story-done: end-of-story completion review (criteria verification, deviation check, status update)
- /sprint-status: fast 30-line sprint snapshot, read-only
- /ux-design: guided section-by-section UX spec authoring (screen/flow/HUD/patterns)
- /ux-review: UX spec validation with APPROVED/NEEDS REVISION/MAJOR REVISION verdict
- /architecture-review, /create-architecture, /create-control-manifest,
  /create-epics-stories, /propagate-design-change, /review-all-gdds (pipeline completion)

## New Templates (7)
- player-journey.md: 6-phase emotional arc, critical moments, retention hooks
- difficulty-curve.md: difficulty axes, onboarding ramp, cross-system interactions
- ux-spec.md: per-screen UX spec with states, interaction map, data requirements, events
- hud-design.md: whole-game HUD with philosophy, info architecture, element specs
- accessibility-requirements.md: project-wide accessibility tier commitment and audit
- interaction-pattern-library.md: 26 standard + game-specific patterns with full state specs
- architecture-traceability.md: GDD requirements to ADR coverage matrix

## Updated Skills & Templates
- gate-check: Vertical Slice hard gate, playtesting strengthened, UX artifacts required
- team-ui: full UX pipeline integration (/ux-design + /ux-review + accessibility-specialist)
- game-design-document: Game Feel section (input latency, animation frames, impact moments)
- implementation-agent-protocol: /story-done as explicit final step of every story
- architecture-decision, design-system: pipeline completion updates

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-10 16:15:34 +11:00

6.3 KiB

name, description, argument-hint, user-invocable, allowed-tools
name description argument-hint user-invocable allowed-tools
architecture-decision 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. [title] true Read, Glob, Grep, Write

When this skill is invoked:

0. Load Engine Context (ALWAYS FIRST)

Before doing anything else, establish the engine environment:

  1. Read docs/engine-reference/[engine]/VERSION.md to get:

    • Engine name and version
    • LLM knowledge cutoff date
    • Post-cutoff version risk levels (LOW / MEDIUM / HIGH)
  2. 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.

  3. Read the corresponding module reference if it exists: docs/engine-reference/[engine]/modules/[domain].md

  4. Read docs/engine-reference/[engine]/breaking-changes.md — flag any changes in the relevant domain that post-date the LLM's training cutoff.

  5. Read docs/engine-reference/[engine]/deprecated-apis.md — flag any APIs in the relevant domain that should not be used.

  6. 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."


1. Determine the next ADR number

Scan docs/architecture/ for existing ADRs to find the next number.


2. Gather context

Read related code, existing ADRs, and relevant GDDs from design/gdd/.


3. Guide the decision collaboratively

Ask clarifying questions if the title alone is not sufficient. For each major section, present 2-4 options with pros/cons before drafting. Do not generate the ADR until the key decision is confirmed by the user.

Key questions to ask:

  • What problem are we solving? What breaks if we don't decide this now?
  • What constraints apply (engine version, platform, performance budget)?
  • What alternatives have you already considered?
  • Which post-cutoff engine features (if any) does this decision depend on?
  • Which GDD systems motivated this decision? For each, what specific requirement (rule, formula, performance constraint, integration point) in that GDD cannot be satisfied without this architectural decision?

If the decision is foundational (no GDD drives it directly), ask:

  • Which GDD systems will this decision constrain or enable?

This GDD linkage becomes a mandatory "GDD Requirements Addressed" section in the ADR. Do not skip it.

Does this ADR have ordering constraints? Ask:

  • Does this decision depend on any other ADR that isn't yet Accepted? (If so, this ADR cannot be safely implemented until that one is resolved.)
  • Does accepting this ADR unlock or unblock any other pending decisions?
  • Does this ADR block any specific epic or story from starting?

Record the answers in the ADR Dependencies section. If no ordering constraints exist, write "None" in each field.


4. Generate the ADR

Following this format:

# ADR-[NNNN]: [Title]

## Status
[Proposed | Accepted | Deprecated | Superseded by ADR-XXXX]

## Date
[Date of decision]

## Engine Compatibility

| Field | Value |
|-------|-------|
| **Engine** | [e.g. Godot 4.6] |
| **Domain** | [Physics / Rendering / UI / Audio / Navigation / Animation / Networking / Core / Input] |
| **Knowledge Risk** | [LOW / MEDIUM / HIGH — from VERSION.md] |
| **References Consulted** | [List engine-reference docs read, e.g. `docs/engine-reference/godot/modules/physics.md`] |
| **Post-Cutoff APIs Used** | [Any APIs from post-LLM-cutoff versions this decision depends on, or "None"] |
| **Verification Required** | [Specific behaviours to test before shipping, or "None"] |

## ADR Dependencies

| Field | Value |
|-------|-------|
| **Depends On** | [ADR-NNNN (must be Accepted before this can be implemented), or "None"] |
| **Enables** | [ADR-NNNN (this ADR unlocks that decision), or "None"] |
| **Blocks** | [Epic/Story name — cannot start until this ADR is Accepted, or "None"] |
| **Ordering Note** | [Any sequencing constraint that isn't captured above] |

## Context

### Problem Statement
[What problem are we solving? Why does this decision need to be made now?]

### Constraints
- [Technical constraints]
- [Timeline constraints]
- [Resource constraints]
- [Compatibility requirements]

### Requirements
- [Must support X]
- [Must perform within Y budget]
- [Must integrate with Z]

## Decision

[The specific technical decision made, described in enough detail for someone
to implement it.]

### Architecture Diagram
[ASCII diagram or description of the system architecture this creates]

### Key Interfaces
[API contracts or interface definitions this decision creates]

## Alternatives Considered

### Alternative 1: [Name]
- **Description**: [How this would work]
- **Pros**: [Advantages]
- **Cons**: [Disadvantages]
- **Rejection Reason**: [Why this was not chosen]

### Alternative 2: [Name]
- **Description**: [How this would work]
- **Pros**: [Advantages]
- **Cons**: [Disadvantages]
- **Rejection Reason**: [Why this was not chosen]

## Consequences

### Positive
- [Good outcomes of this decision]

### Negative
- [Trade-offs and costs accepted]

### Risks
- [Things that could go wrong]
- [Mitigation for each risk]

## Performance Implications
- **CPU**: [Expected impact]
- **Memory**: [Expected impact]
- **Load Time**: [Expected impact]
- **Network**: [Expected impact, if applicable]

## Migration Plan
[If this changes existing code, how do we get from here to there?]

## Validation Criteria
[How will we know this decision was correct? What metrics or tests?]

## Related Decisions
- [Links to related ADRs]
- [Links to related design documents]
  1. Save the ADR to docs/architecture/adr-[NNNN]-[slug].md.