Claude-Code-Game-Studios/UPGRADING.md
Donchitos 9f731f3d86 Delete /create-epics-stories and update all references
Removes the deprecated skill entirely and updates every reference across:
- README.md, UPGRADING.md (skill count + file lists)
- docs/WORKFLOW-GUIDE.md (pipeline diagrams, step descriptions, command reference)
- docs/examples/skill-flow-diagrams.md, session-*.md
- docs/architecture/tr-registry.yaml
- tests/skills/catalog.yaml
- .claude/skills: adopt, content-audit, create-control-manifest,
  skill-test, story-readiness
- .claude/docs: skills-reference.md, quick-start.md

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

20 KiB

Upgrading Claude Code Game Studios

This guide covers upgrading your existing game project repo from one version of the template to the next.

Find your current version in your git log:

git log --oneline | grep -i "release\|setup"

Or check README.md for the version badge.


Table of Contents


Upgrade Strategies

There are three ways to pull in template updates. Choose based on how your repo is set up.

Best when: you cloned the template and have your own commits on top of it.

# Add the template as a remote (one-time setup)
git remote add template https://github.com/Donchitos/Claude-Code-Game-Studios.git

# Fetch the new version
git fetch template main

# Merge into your branch
git merge template/main --allow-unrelated-histories

Git will flag conflicts only in files that both the template and you have changed. Resolve each one — your game content goes in, structural improvements come along for the ride. Then commit the merge.

Tip: The files most likely to conflict are CLAUDE.md and .claude/docs/technical-preferences.md, because you've filled them in with your engine and project settings. Keep your content; accept the structural changes.


Strategy B — Cherry-pick specific commits

Best when: you only want one specific feature (e.g., just the new skill, not the full update).

git remote add template https://github.com/Donchitos/Claude-Code-Game-Studios.git
git fetch template main

# Cherry-pick the specific commit(s) you want
git cherry-pick <commit-sha>

Commit SHAs for each version are listed in the version sections below.


Strategy C — Manual file copy

Best when: you didn't use git to set up the template (just downloaded a zip).

  1. Download or clone the new version alongside your repo.
  2. Copy the files listed under "Safe to overwrite" directly.
  3. For files under "Merge carefully", open both versions side-by-side and manually merge the structural changes while keeping your content.

v0.3.0 → v0.4.0

Released: 2026-03-09 Commit range: b1cad29..HEAD Key themes: Full UX/UI pipeline, complete story lifecycle, brownfield adoption, pipeline integrity, 15 new skills

What Changed

Category Changes
New skills (17) /ux-design, /ux-review, /help, /quick-design, /review-all-gdds, /story-readiness, /story-done, /sprint-status, /adopt, /create-architecture, /create-control-manifest, /create-epics, /create-stories, /dev-story, /propagate-design-change, /content-audit, /architecture-review
New hook log-agent-stop.sh — completes agent audit trail (stop event to match start)
New templates (8) ux-spec.md, hud-design.md, accessibility-requirements.md, interaction-pattern-library.md, player-journey.md, difficulty-curve.md, and 2 adoption plan templates
New infrastructure workflow-catalog.yaml (7-phase pipeline, read by /help), docs/architecture/tr-registry.yaml (stable TR-IDs), production/sprint-status.yaml schema
Skill updates /gate-check — 3 gates now require UX artifacts; Pre-Production gate requires vertical slice (HARD gate)
Skill updates /sprint-plan — writes sprint-status.yaml; /sprint-status reads it
Skill updates /story-done — 8-phase completion review, updates story file, surfaces next ready story
Skill updates /design-review — removed architecture gap check (wrong stage)
Skill updates /team-ui — full UX pipeline (ux-design → ux-review → team phases)
Agent updates 14 specialist agents — memory: project added
Agent updates prototyperisolation: worktree (throwaway work in isolated git branch)
Pipeline integrity TR-ID stability, manifest versioning, ADR status gates, TR-ID reference not quote
GDD template ## Game Feel section added (input responsiveness, animation targets, impact moments)

Files: Safe to Overwrite

New files to add:

.claude/skills/ux-design/SKILL.md
.claude/skills/ux-review/SKILL.md
.claude/skills/help/SKILL.md
.claude/skills/quick-design/SKILL.md
.claude/skills/review-all-gdds/SKILL.md
.claude/skills/story-readiness/SKILL.md
.claude/skills/story-done/SKILL.md
.claude/skills/sprint-status/SKILL.md
.claude/skills/adopt/SKILL.md
.claude/skills/create-architecture/SKILL.md
.claude/skills/create-control-manifest/SKILL.md
.claude/skills/create-epics/SKILL.md
.claude/skills/create-stories/SKILL.md
.claude/skills/dev-story/SKILL.md
.claude/skills/propagate-design-change/SKILL.md
.claude/skills/content-audit/SKILL.md
.claude/skills/architecture-review/SKILL.md
.claude/hooks/log-agent-stop.sh
.claude/docs/workflow-catalog.yaml
.claude/docs/templates/ux-spec.md
.claude/docs/templates/hud-design.md
.claude/docs/templates/accessibility-requirements.md
.claude/docs/templates/interaction-pattern-library.md
.claude/docs/templates/player-journey.md
.claude/docs/templates/difficulty-curve.md

Existing files to overwrite (no user content):

.claude/skills/gate-check/SKILL.md
.claude/skills/sprint-plan/SKILL.md
.claude/skills/sprint-status/SKILL.md
.claude/skills/design-review/SKILL.md
.claude/skills/team-ui/SKILL.md
.claude/skills/story-readiness/SKILL.md
.claude/skills/story-done/SKILL.md
.claude/docs/templates/game-design-document.md    ← adds Game Feel section
README.md
docs/WORKFLOW-GUIDE.md
UPGRADING.md

Agent files to overwrite (if you haven't written custom prompts into them):

.claude/agents/prototyper.md         ← adds isolation: worktree
.claude/agents/art-director.md       ← adds memory: project
.claude/agents/audio-director.md     ← adds memory: project
.claude/agents/economy-designer.md   ← adds memory: project
.claude/agents/game-designer.md      ← adds memory: project
.claude/agents/gameplay-programmer.md ← adds memory: project
.claude/agents/lead-programmer.md    ← adds memory: project
.claude/agents/level-designer.md     ← adds memory: project
.claude/agents/narrative-director.md ← adds memory: project
.claude/agents/systems-designer.md   ← adds memory: project
.claude/agents/technical-artist.md   ← adds memory: project
.claude/agents/ui-programmer.md      ← adds memory: project
.claude/agents/ux-designer.md        ← adds memory: project
.claude/agents/world-builder.md      ← adds memory: project

Files: Merge Carefully

.claude/settings.json

The new version registers log-agent-stop.sh as a hook for the PostToolUse (agent stop) event. If you haven't customized settings.json, overwriting is safe. Otherwise, add the new hook entry for SubagentStop manually.

Customized agent files

If you've added project-specific knowledge to agent .md files, do a diff and manually add the memory: project line to the YAML frontmatter where appropriate. Creative and technical director agents intentionally keep memory: user — only specialist agents get memory: project.


New Features

Complete Story Lifecycle

Stories now have a formal lifecycle enforced by two skills:

  • /story-readiness — validates a story is implementation-ready before a developer picks it up. Checks Design (GDD req linked), Architecture (ADR accepted), Scope (criteria testable), and DoD (manifest version current). Verdict: READY / NEEDS WORK / BLOCKED.
  • /story-done — 8-phase completion review after implementation. Verifies each acceptance criterion, checks for GDD/ADR deviations, prompts code review, updates the story file to Status: Complete, and surfaces the next ready story.

Flow: /story-readiness → implement → /story-done → next story

Full UX/UI Pipeline

  • /ux-design — guided section-by-section UX spec authoring. Three modes: screen/flow, HUD, or interaction pattern library. Reads GDD UI requirements and player journey. Output to design/ux/.
  • /ux-review — validates UX specs against GDD alignment, accessibility tier, and pattern library. Verdict: APPROVED / NEEDS REVISION / MAJOR REVISION.
  • /team-ui updated: Phase 1 now runs /ux-design + /ux-review as a hard gate before visual design begins.

Brownfield Adoption

/adopt onboards existing projects to the template format. Audits internal structure of GDDs, ADRs, stories, systems-index, and infra. Classifies gaps (BLOCKING/HIGH/MEDIUM/LOW). Builds an ordered migration plan. Never regenerates existing artifacts — only fills gaps.

Argument modes: full | gdds | adrs | stories | infra

Also: /design-system retrofit [path] and /architecture-decision retrofit [path] detect existing files and add only missing sections.

Sprint Tracking YAML

production/sprint-status.yaml is now the authoritative story tracking format:

  • Written by /sprint-plan (initializes all stories) and /story-done (sets status to done)
  • Read by /sprint-status (fast snapshot) and /help (per-story status in production phase)
  • Status values: backlog | ready-for-dev | in-progress | review | done | blocked
  • Falls back gracefully to markdown scanning if file doesn't exist

/help — Context-Aware Next Step

/help reads your current stage and in-progress work, checks which artifacts are complete, and tells you exactly what to do next — one primary required step, plus optional opportunities. Distinct from /start (first-time only) and /project-stage-detect (full audit).


After Upgrading

  1. Verify new hooks are registered in .claude/settings.json — check for log-agent-stop.sh.

  2. Test the audit trail by spawning any subagent — both start and stop events should appear in production/session-logs/.

  3. Generate sprint-status.yaml if you're in active production:

    /sprint-plan status
    
  4. Run /adopt if you have existing GDDs or ADRs that predate this template version — it will identify which sections need to be added without overwriting your content.


v0.2.0 → v0.3.0

Released: 2026-03-09 Commit range: e289ce9..HEAD Key themes: /design-system GDD authoring, /map-systems rename, custom status line

Breaking Changes

/design-systems renamed to /map-systems

The /design-systems skill was renamed to /map-systems for clarity (decomposing = mapping, not designing).

Action required: Update any documentation, notes, or scripts that invoke /design-systems. The new invocation is /map-systems.

What Changed

Category Changes
New skills /design-system (guided GDD authoring, section-by-section)
Renamed skills /design-systems/map-systems (breaking rename)
New files .claude/statusline.sh, .claude/settings.json statusline config
Skill updates /gate-check — writes production/stage.txt on PASS, new phase definitions
Skill updates brainstorm, start, design-review, project-stage-detect, setup-engine — cross-reference fixes
Bug fixes log-agent.sh, validate-commit.sh — hook execution fixed
Docs UPGRADING.md added, README.md updated, WORKFLOW-GUIDE.md updated

Files: Safe to Overwrite

New files to add:

.claude/skills/design-system/SKILL.md
.claude/statusline.sh

Existing files to overwrite (no user content):

.claude/skills/map-systems/SKILL.md      ← was design-systems/SKILL.md
.claude/skills/gate-check/SKILL.md
.claude/skills/brainstorm/SKILL.md
.claude/skills/start/SKILL.md
.claude/skills/design-review/SKILL.md
.claude/skills/project-stage-detect/SKILL.md
.claude/skills/setup-engine/SKILL.md
.claude/hooks/log-agent.sh
.claude/hooks/validate-commit.sh
README.md
docs/WORKFLOW-GUIDE.md
UPGRADING.md

Delete (replaced by rename):

.claude/skills/design-systems/   ← entire directory; replaced by map-systems/

Files: Merge Carefully

.claude/settings.json

The new version adds a statusLine configuration block pointing to .claude/statusline.sh. If you haven't customized settings.json, overwriting is safe. Otherwise, add this block manually:

"statusLine": {
  "script": ".claude/statusline.sh"
}

New Features

Custom Status Line

.claude/statusline.sh displays a 7-stage production pipeline breadcrumb in the terminal status line:

ctx: 42% | claude-sonnet-4-6 | Systems Design

In Production/Polish/Release stages, it also shows the active Epic/Feature/Task from production/session-state/active.md if a <!-- STATUS --> block is present:

ctx: 42% | claude-sonnet-4-6 | Production | Combat System > Melee Combat > Hitboxes

The current stage is auto-detected from project artifacts, or can be pinned by writing a stage name to production/stage.txt.

/gate-check Stage Advancement

When a gate PASS verdict is confirmed, /gate-check now writes the new stage name to production/stage.txt. This immediately updates the status line for all future sessions without requiring manual file edits.


After Upgrading

  1. Delete the old skill directory:

    rm -rf .claude/skills/design-systems/
    
  2. Test the status line by starting a Claude Code session — you should see the stage breadcrumb in the terminal footer.

  3. Verify hook execution still works:

    bash .claude/hooks/log-agent.sh '{}' '{}'
    bash .claude/hooks/validate-commit.sh '{}' '{}'
    

v0.1.0 → v0.2.0

Released: 2026-02-21 Commit range: ad540fe..e289ce9 Key themes: Context Resilience, AskUserQuestion integration, /map-systems skill

What Changed

Category Changes
New skills /start (onboarding), /map-systems (systems decomposition), /design-system (guided GDD authoring)
New hooks session-start.sh (recovery), detect-gaps.sh (gap detection)
New templates systems-index.md, 3 collaborative-protocol templates
Context management Major rewrite — file-backed state strategy added
Agent updates 14 design/creative agents — AskUserQuestion integration
Skill updates All 7 team-* skills + brainstorm — AskUserQuestion at phase transitions
CLAUDE.md Slimmed from ~159 to ~60 lines; 5 doc imports instead of 10
Hook updates All 8 hooks — Windows compatibility fixes, new features
Docs removed docs/IMPROVEMENTS-PROPOSAL.md, docs/MULTI-STAGE-DOCUMENT-WORKFLOW.md

Files: Safe to Overwrite

These are pure infrastructure — you have not customized them. Copy the new versions directly with no risk to your project content.

New files to add:

.claude/skills/start/SKILL.md
.claude/skills/map-systems/SKILL.md
.claude/skills/design-system/SKILL.md
.claude/docs/templates/systems-index.md
.claude/docs/templates/collaborative-protocols/design-agent-protocol.md
.claude/docs/templates/collaborative-protocols/implementation-agent-protocol.md
.claude/docs/templates/collaborative-protocols/leadership-agent-protocol.md
.claude/hooks/detect-gaps.sh
.claude/hooks/session-start.sh
production/session-state/.gitkeep
docs/examples/README.md
.github/ISSUE_TEMPLATE/bug_report.md
.github/ISSUE_TEMPLATE/feature_request.md
.github/PULL_REQUEST_TEMPLATE.md

Existing files to overwrite (no user content):

.claude/skills/brainstorm/SKILL.md
.claude/skills/design-review/SKILL.md
.claude/skills/gate-check/SKILL.md
.claude/skills/project-stage-detect/SKILL.md
.claude/skills/setup-engine/SKILL.md
.claude/skills/team-audio/SKILL.md
.claude/skills/team-combat/SKILL.md
.claude/skills/team-level/SKILL.md
.claude/skills/team-narrative/SKILL.md
.claude/skills/team-polish/SKILL.md
.claude/skills/team-release/SKILL.md
.claude/skills/team-ui/SKILL.md
.claude/hooks/log-agent.sh
.claude/hooks/pre-compact.sh
.claude/hooks/session-stop.sh
.claude/hooks/validate-assets.sh
.claude/hooks/validate-commit.sh
.claude/hooks/validate-push.sh
.claude/rules/design-docs.md
.claude/docs/hooks-reference.md
.claude/docs/skills-reference.md
.claude/docs/quick-start.md
.claude/docs/directory-structure.md
.claude/docs/context-management.md
docs/COLLABORATIVE-DESIGN-PRINCIPLE.md
docs/WORKFLOW-GUIDE.md
README.md

Agent files to overwrite (if you haven't written custom prompts into them):

.claude/agents/art-director.md
.claude/agents/audio-director.md
.claude/agents/creative-director.md
.claude/agents/economy-designer.md
.claude/agents/game-designer.md
.claude/agents/level-designer.md
.claude/agents/live-ops-designer.md
.claude/agents/narrative-director.md
.claude/agents/producer.md
.claude/agents/systems-designer.md
.claude/agents/technical-director.md
.claude/agents/ux-designer.md
.claude/agents/world-builder.md
.claude/agents/writer.md

If you have customized agent prompts, see "Merge carefully" below.


Files: Merge Carefully

These files contain both template structure and your project-specific content. Do not overwrite them — merge the changes manually.

CLAUDE.md

The template version was slimmed from ~159 lines to ~60 lines. The key structural change: 5 doc imports were removed because they're auto-loaded by Claude Code anyway (agent-roster, skills-reference, hooks-reference, rules-reference, review-workflow).

What to keep from your version:

  • The ## Technology Stack section (your engine/language choices)
  • Any project-specific additions you made

What to adopt from the new version:

  • Slimmer imports list (drop the 5 redundant @ imports if present)
  • Updated collaboration protocol wording

.claude/docs/technical-preferences.md

If you ran /setup-engine, this file has your engine config, naming conventions, and performance budgets. Keep all of it. The template version is just the empty placeholder.

.claude/docs/templates/game-concept.md

Minor structural update — a ## Next Steps section was added pointing to /map-systems. Add that section to your copy if you want the updated guidance, but it's not required.

.claude/settings.json

Check whether the new version adds any permission rules you want. The change was minor (schema update). If you haven't customized your settings.json, overwriting is safe.

Customized agent files

If you've added project-specific knowledge or custom behavior to any agent .md file, do a diff and manually add the new AskUserQuestion integration sections rather than overwriting. The change in each agent is a standardized collaborative protocol block at the end of the system prompt.


Files: Delete

These files were removed in v0.2.0. If present in your repo, you can safely delete them — they're replaced by better-organized alternatives.

docs/IMPROVEMENTS-PROPOSAL.md      → superseded by WORKFLOW-GUIDE.md
docs/MULTI-STAGE-DOCUMENT-WORKFLOW.md → content merged into context-management.md

After Upgrading

  1. Run /project-stage-detect to verify the system reads your project correctly with the new detection logic.

  2. Run /start once if you haven't used it — it now correctly identifies your stage and skips onboarding steps you've already done.

  3. Check production/session-state/ exists and is gitignored:

    ls production/session-state/
    cat .gitignore | grep session-state
    
  4. Test hook execution — if you're on Windows, verify the new hooks run without errors in Git Bash:

    bash .claude/hooks/detect-gaps.sh '{}' '{}'
    bash .claude/hooks/session-start.sh '{}' '{}'
    

Each future version will have its own section in this file.