System purpose
Claude Code Game Studios is a game project template you can copy. It stores agent roles, skills, configuration resolution, file conventions and hooks in the repository so Claude Code can divide tasks across game design, programming, art, audio, testing and production management.
Start with a game idea, an existing design or an existing project. The workflow produces a game brief, design documents, development work items, code and acceptance records. Users still need to provide the engine environment, choose a design direction and check whether the game meets their expectations.
| Component | Verified count | Purpose |
|---|---|---|
.claude/agents/ | 49 agent definitions | Specify role responsibilities, tools and delegation |
.claude/skills/ | 74 SKILL.md files | Provide workflows from concept to release |
.claude/hooks/ | 18 shell files, with 15 connected in the settings | The rest are helper or optional diagnostic scripts |
.claude/rules/ | 14 path-rule files | Load rules according to locations such as game code, data and UI |
.claude/docs/templates/ | 63 files at the root, plus 8 guidance files | Include game documents and framework-maintenance templates |
This template suits individuals or small teams with basic game development skills who want to divide AI work into tasks they can check. It includes roles and workflows for Godot, Unity and Unreal; it does not include a complete game or replace the licenses and usage costs of those engines, Claude Code or external assets.
Installation and verification
- Not completed:
Git and a working Claude Code installation are available.
- Not completed:
Python 3 is installed for configuration resolution.
- Not completed:
The shell can find Bash; on Windows, use Git Bash from Git for Windows.
- Not completed:
The chosen game engine and its runtime environment are ready.
- Not completed:
Installing jq is recommended for more reliable JSON input parsing in hooks.
Check the tools first. jq is recommended; the other version outputs must match the installed tools, and Python must report Python 3:
git --version
bash --version
python3 --version
jq --versionOn Windows, Python 3 may also use python or py; check the actual installation. Without Python, configuration may fall back to defaults and the validation script will block commits containing staged data JSON; without Bash, hooks cannot run.
Clone the template into your working directory and start from the root containing CLAUDE.md, project.yaml and .claude/:
git clone https://github.com/Donchitos/Claude-Code-Game-Studios.git my-game
cd my-game
claudeThis retrieves the default branch at the time you run it; compare against this manual's pinned commit when checking differences. GitHub's Use this template is another official starting method; preserve the original project and custom settings before adopting the template in an existing game or upgrading later.
After a direct clone, origin still points to the template repository. Before your first push, confirm the destination with git remote -v and switch to your own game repository; /start also warns when a remote still points upstream.
First run and engine setup
Enter /start in Claude Code and explain whether you have no idea yet, a concept, a design or an existing game. The skill checks the project state and, after approval, saves the stage, rigor and automation preferences. It then identifies the next step without executing it.
| Situation | Action | Check |
|---|---|---|
| New game | /start | Project stage, modes.rigor and modes.automation |
| Engine not yet chosen | /setup-engine | Engine, language, version and platform |
| Godot already chosen | /setup-engine godot | Let the skill confirm the version; use one that is actually installed or available to install |
| Existing game | /adopt or /project-stage-detect | Preserve the existing structure and identify the current stage and gaps first |
| Unsure what comes next | /help | Find the next action from current artifacts and settings |
Engine setup updates project.yaml, CLAUDE.md and the engine reference documents. Check the code root: Godot normally uses src/, Unity uses Assets/ and Unreal uses Source/<Module>/; do not let the agent put all Unity or Unreal code in src/.
The Godot workflow can propose creating project.godot when project files are missing. For Unity and Unreal, first create the engine project through the official Hub or editor, then return to setup; the skill does not install the engine for the user.
Rigor and automation
modes.rigor determines how much documentation, review and test evidence the workflow requires; modes.automation determines when the agent asks the user. They are separate settings, so increasing rigor does not authorize more autonomous actions.
| Rigor | Design and documentation | QA and review | Starting use case |
|---|---|---|---|
minimal | A one-page game brief with no required GDD; concise documentation and larger work items | Minimal evidence requirements, solo review and an individual team | Small prototypes and gameplay validation |
standard | A GDD with 5 required sections, plus formulas when numerical rules apply; medium document and work-item granularity | Standard evidence, lean review and an individual team | Projects needing traceability and divided responsibilities |
full | A GDD with 8 required sections; complete documentation and smaller work items | Full evidence, full review and a studio team | Complex systems and cross-functional collaboration |
GDD means Game Design Document and records gameplay and system specifications; ADR means Architecture Decision Record and records technical decisions and their reasons. Heavier workflows connect requirements, decisions, implementation and tests, while increasing the work needed to produce and maintain documents.
| Automation mode | Decisions and file writes |
|---|---|
collaborative | Collaborate through questions, options, decisions, drafts and approval; some state and memory writes have predefined exceptions |
guided | The user decides major choices; minor choices and existing-file updates can continue under the rules, while new files still require asking |
autonomous | Decide and record actions within the mode's rules; categories in automation_always_ask still require asking |
The default always-ask categories are scope_changes, file_deletions and schema_changes. These are the template's collaboration rules; Claude Code's tool permissions, session mode and execution environment still affect actual behavior.
Effective configuration and overrides
Use /settings to check effective values and their sources, then change the settings you need:
/settings
/settings modes.review_mode
/settings modes.rigor=standard
/settings --local modes.review_mode=soloConfiguration precedence starts with allowed personal overrides in project.local.yaml, followed by shared project.yaml, corresponding legacy text files, values expanded from modes.rigor, and finally the documented defaults. Invalid enum values are skipped and listed in diagnostics; the source beside each effective value helps identify an incorrect override.
modes.rigor expands into the following six settings. Explicitly writing any one of them pins that value and overrides the rigor-derived value; write only the settings you intend to override:
modes.workflowanddocs.density.qa.levelandmodes.story_granularity.modes.review_modeandteam.size.
project.local.yaml accepts only personal settings on an allowlist, such as review mode, team size and automation preferences. Put modes.rigor in shared configuration; placing it in the local file produces a diagnostic and cannot change the team's artifact requirements.
Use a system-level override when only one system, such as combat, needs a more complete design; settings such as testing.strict.* affect whether test evidence blocks closure. Check workflow, qa.level and the actual acceptance thresholds separately to confirm current requirements.
Core skills
Concept
/brainstorm
Establish the game direction
In a minimal workflow, create a one-page game brief with gameplay, MVP scope and build order as the source for later work items.
Design
/design-system
Detail the system specification
For workflows that need system design, specify rules, formulas, boundaries and acceptance criteria, with required sections determined by rigor.
Planning
/create-stories
Break work into implementable items
In minimal, create Epics and Stories from the brief; in standard and full, first confirm existing Epics, requirements and related decisions. Existing Stories are not automatically rewritten.
Development
/dev-story
Implement one Story
Check prerequisites, assign a programming agent and engine specialist, limit the file scope, and record tests, execution results and handoff.
Acceptance
/story-done
Check criteria and evidence
Check each acceptance criterion, evidence and review result, then conclude complete, complete with notes, not evaluated or blocked; this skill does not run tests.
Maintenance
/skill-test
Check studio skills
Check the framework against structure, category rubrics, behavior specifications or coverage, separately from tests of the game itself.
Complete skill index
Enter slash commands inside Claude Code, not in a regular shell. Start with the main workflow and select other skills when their tasks arise:
| Category | Commands |
|---|---|
| Onboarding and navigation | /start, /help, /project-stage-detect, /setup-engine, /adopt, /settings |
| Game design | /brainstorm, /map-systems, /design-system, /quick-design, /review-all-gdds, /propagate-design-change |
| Art and assets | /art-bible, /asset-spec, /asset-audit |
| User experience and interface | /ux-design, /ux-review |
| Architecture | /create-architecture, /architecture-decision, /architecture-review, /create-control-manifest |
| Work items and sprints | /create-epics, /create-stories, /dev-story, /sprint-plan, /sprint-status, /story-readiness, /story-done, /estimate |
| Review and analysis | /design-review, /code-review, /balance-check, /content-audit, /scope-check, /perf-profile, /tech-debt, /gate-check, /consistency-check, /security-audit |
| QA and testing | /qa-plan, /smoke-check, /soak-test, /regression-suite, /test-setup, /test-helpers, /test-evidence-review, /test-flakiness, /skill-test, /skill-improve |
| Production management | /milestone-review, /retrospective, /bug-report, /bug-triage, /reverse-document, /playtest-report |
| Release | /release-checklist, /launch-checklist, /changelog, /patch-notes, /hotfix, /day-one-patch |
| Prototypes and content | /prototype, /vertical-slice, /onboard, /localize |
| Team collaboration | /team-combat, /team-narrative, /team-ui, /team-release, /team-polish, /team-audio, /team-level, /team-live-ops, /team-qa |
Agent responsibilities and task coordination
Agent definitions cover directors, department leads and specialists. The hierarchy determines responsibility and escalation paths; the current skill, team settings and task needs determine which agents are called.
| Level or domain | Representative roles | Responsibility |
|---|---|---|
| Directors | creative-director, technical-director, producer | Game direction, technical tradeoffs and coordination between departments |
| Department leads | game-designer, lead-programmer, art-director, qa-lead | Domain planning, quality requirements and delegation |
| Implementation specialists | gameplay-programmer, ui-programmer, ai-programmer, network-programmer | Complete work within assigned files and acceptance scope |
| Godot | godot-specialist and language, Shader and GDExtension specialists | Check versions, languages and engine features |
| Unity | unity-specialist and DOTS, Shader, Addressables and UI Toolkit specialists | Use Unity's code and asset organization |
| Unreal | unreal-specialist and GAS, Blueprint, Replication and UI specialists | Use Unreal modules and engine workflows |
creative-director, technical-director and producer specify Opus; some leads and specialists specify Sonnet, while the others inherit the current session model. Assess costs from actual calls, context and retries; the three role levels do not form a fixed model-cost hierarchy.
Coordination rules require vertical delegation, consultation at the same level and conflict resolution by a shared superior; producer coordinates changes across departments, and edits across domains require explicit delegation. prototyper uses an isolated worktree by default, but the other collaboration rules do not automatically create file locks, isolation for every role or a release queue.
The prototyper worktree starts from the last commit and may not see uncommitted engine settings or the brief. Before starting it, confirm that required inputs are saved in an available revision; after it returns, inspect the reported worktree path and branch before deciding whether to merge or copy the result into the main project.
User and effective settings
Confirm game direction, rigor and the permitted scope of autonomy
- project.yaml and personal overrides
- Game brief or design documents
Planning and task contract
Turn requirements into a bounded Story
- Acceptance criteria and file scope
- Links to requirements and architecture decisions when needed
Delegation and implementation
A programming agent works with the configured engine specialist
- Game code and corresponding tests
- Actual execution and saved screenshots
Acceptance and handoff
Update status after checking criteria, evidence and unfinished work
- Story completion record
- Session checkpoint and follow-up tasks
This is a workflow between skills, not a separately deployed scheduling service.
Story development and game acceptance
A Story is an implementable work item with acceptance criteria, scope and the necessary technical basis. /dev-story checks dependencies, ADR status and workflow requirements before selecting a programming agent; Config/Data work can change data values directly without starting another programming agent.
| Stage | Records to retain |
|---|---|
| Before starting | Story path, applicable workflow, prerequisites and missing information |
| Delegation | Goal, acceptance criteria, exclusions, editable files and engine specialist |
| After implementation | Change list, test and execution results, and unfinished work |
| Closure | Status of each acceptance criterion, evidence locations, scope deviations and review conclusion |
/story-done checks files, reads evidence and asks about results it cannot determine directly, but does not run tests. "A test file exists" proves only that a file exists; claiming a test passed still requires a record of an actual run.
For player-visible changes, the run-and-observe procedure requires opening the game, reaching the affected screen, capturing a screenshot and inspecting the image. Save images in production/qa/evidence/ and use file hashes to record the code the evidence corresponds to; after code changes, an old image cannot automatically count as evidence for the new version.
Currently, /story-done reports stale or missing hash stamps without changing the acceptance conclusion. Users still need to confirm that affected screens were captured again. Game feel, response time and audio synchronization require actual play; static screenshots cannot establish them.
| Condition | Actual effect |
|---|---|
qa.level: minimal | Automated test evidence for Logic/Integration may be waived; player-visible content still requires execution and screenshots |
qa.level: standard or full | Evidence depends on Story type and acceptance criteria; full is stricter about untested criteria |
testing.strict.visual or testing.strict.ui explicitly set to false | Missing observation evidence can become a note, allowing closure with the gap |
| Parse, compilation or headless execution only | Does not prove that the actual game screen is correct |
The README simplifies the requirement that visual evidence is needed for closure; explicit overrides also affect the actual threshold. Read OBSERVED, N/A or NOT VERIFIED in the completion record and check that any N/A has a reason appropriate to the scenario.
Hooks and permission limits
Hooks differ in their triggers and exit codes, so check each script before treating it as a mandatory block. This research used isolated cases to test data JSON, full and bounded reads, push warnings and overwrite warnings:
| Mechanism | Behavior | Operational meaning |
|---|---|---|
validate-commit.sh | Invalid staged data JSON can return a blocking result | Fix the data before committing; missing Python does not bypass this check |
validate-push.sh | Warns about actions such as pushes to protected branches | A warning does not itself reject the push; repository and tool permissions still need to control it |
validate-read.sh | When enabled, blocks full reads of design documents above a threshold; the default is 40 KB, configurable through features.read_guard_kb | Read specific sections or a bounded range instead |
validate-write.sh | Warns about prohibited overwrites, scope conflicts and similar conditions | The executing agent still has to comply; the warning does not lock files |
validate-registry.sh | Warns about deletion, renumbering or invalid states | Manually check existing IDs and states when changing the requirements registry |
validate-assets.sh | Checks data JSON and applicable naming rules after writes | A message after a write does not mean the file was automatically restored |
| Agent and session hooks | Record calls, completions, state, missing artifacts and similar events | Help trace work, but do not prove the delivered content meets requirements |
.claude/settings.json also contains tool allow and deny rules and permissions.defaultMode. Template modes, Claude Code session permissions and GitHub branch protection control different layers of operation; a prompt saying "approval required" does not replace actual permission controls.
Notifications on Windows use PowerShell; the same script does not show desktop notifications on macOS or Linux. Some Git deny rules match command text, so even matching text inside a commit message may be intercepted; inspect the command and message first instead of removing the whole rule set to make them pass.
Operating practices
Get a small playable result first
Use the minimal path through a one-page brief, work items, implementation and acceptance. Increase rigor as dependencies between systems or handoff needs grow; more documents do not prove that the game experience improved.
Include file handoff in delegation
Specify the Story, editable files and output locations. If an agent returns only a description without the expected artifacts, check its audit log and files; do not treat the response as completion.
Read the session checkpoint before resuming
production/session-state/active.md stores the current task. After context compaction, a restart or a cleared session, read it and compare it with the actual files and Git state before continuing.
Read large design documents as needed
Build context from the Story's requirement IDs, ADR summaries and relevant sections. Check differences when source versions disagree, instead of repeatedly loading the entire design set into every agent.
Record tested and untested items separately
Record actual execution, visual observation, test-file existence and the user's verbal confirmation separately. When an engine, device or test data is missing, retain the gap instead of reporting a pass.
Minimal game example
The following request and sequence illustrate a small collection game in Godot; this research did not execute or produce that game. The user's environment and /setup-engine determine the engine version; complete the approvals required by the current collaboration mode at each step before proceeding.
Create a small 2D collection game in Godot.
The player moves inside one room and collects items.
Show the collected count and a completion screen.
Allow restarting without restarting the app.
Use placeholder visuals.
Exclude combat, accounts, networking and monetization.
Keep the project at minimal rigor and collaborative automation.Confirm workflow and engine
Run /start and confirm minimal and collaborative, then use /setup-engine godot to set the engine, language and actual version. Check project.yaml and the engine reference documents.
Create a one-page brief
Run /brainstorm with the request above. Check that design/game-brief.md records the core gameplay, MVP scope and Build order, and excludes systems that are not yet needed.
Create Stories
Run /create-stories. Minimal can create Epics from the brief without first running the full /create-epics workflow; check the actual Story paths, criteria and order created under production/epics/.
Implement each item
Give /dev-story the actual Story path. Check the editable files and complete accepted work items such as movement, collection, UI and restarting; create separate tasks for new features.
Run and inspect the game
Run the game and confirm that the player can move, the collected count is correct, the completion screen is readable and restarting clears the previous state. Save screenshots of affected screens and execution results.
Accept the Story and continue
Give /story-done the same Story path and check every criterion and its evidence. Fix blocking items first and retain notes and untested items in the record; completion does not automatically authorize a commit or release.
More complete workflows add system design, architecture and Epics; standard/full Stories first go through /story-readiness, then /code-review after implementation as required, before reaching /story-done. Use the effective settings to decide which skills to run.
Framework customization and testing
Save the current version before changing agents, skills, path rules or hooks. Verify a concrete workflow: after changing /dev-story, for example, check that it still recognizes unaccepted ADRs, limits file scope and reports missing evidence.
/skill-test static dev-story
/skill-test category dev-story
/skill-test spec dev-story
/skill-test audit
/skill-improve dev-storyThe four /skill-test modes read skill and specification files without invoking the skill under test. Score changes from /skill-improve only reflect that checking method; verifying execution behavior still requires a controlled task. Framework quality specifications live in studio-tests/, while game tests live in the project's appropriate test root.
This research tested shell syntax, configuration resolution and some hook behaviors in an isolated copy; it did not start a Claude Code agent workflow or build or play Godot, Unity or Unreal games. These checks support the descriptions of script behavior, not a claim that game output quality has been verified.
Limits and troubleshooting
| Symptom or limitation | Checks and action |
|---|---|
| A configuration change has no effect | Read the sources in /settings; check local overrides, legacy text files, explicit child settings and Python |
Some values stay the same after changing modes.rigor | Explicit values for the six child settings override the expansion; retain intentional overrides and check the impact before removing accidental ones |
| A skill stops during preprocessing | Check Bash, the skill's exact tool allow rules and the configuration resolution path; do not simply allow all shell commands |
| A setting can be saved but has no behavioral effect | Some keys are reserved, including strict_gate_checks, project.kind and features.token_budget_warn_at; check their implementation status in the effects map |
| Pushes, overwrites or registry changes produce warnings only | The corresponding hook may return success; check permissions and workflow instead of assuming the action was stopped |
| Screenshots exist, but the code changed afterward | Compare file hashes in the evidence and recapture affected screens |
| The Story is complete, but the game still has problems | Check for notes, human confirmations or untested items; reproduce the problem and create a fix task |
| Several agents change the same scope | Reduce concurrency and assign files and integration responsibilities explicitly; role assignments do not automatically prevent Git conflicts |
Upgrades and next steps
Before upgrading, create a recoverable Git revision and read UPGRADING.md. When the project shares Git history with the template, the official instructions recommend adding an upstream remote and merging; without shared history, use selective updates or manual merging instead of forcing unrelated histories together.
| File or change | Upgrade handling |
|---|---|
CLAUDE.md and project.yaml | Preserve the selected engine, platform, project and mode settings; merge structural changes individually |
Custom .claude/agents/, skills and rules | Compare differences first; replacing everything overwrites custom content in files with the same names |
An older project without explicit modes.rigor | The new minimal default may change values that are not explicitly set; specify standard when retaining the old behavior |
| Framework version marker | Check it against the files actually updated; retaining only the old project.yaml can leave its version field behind |
On first adoption, complete one small game's playable flow and evidence before deciding which systems need more documentation and review. Teams already using another Agent Harness can first borrow Story contracts, configuration-source display and visual game evidence, verifying each before integrating more roles.
Official sources and verification scope
| Source | Verified content |
|---|---|
| README | Project purpose, skill index, engines, platforms and installation paths |
| Configuration resolution | Defaults, override order and rigor |
| Configuration effects map | Purposes, limits and reserved settings |
| Automation modes | Questions, writes and always-ask categories |
| Development skill | Prerequisites, role selection, task scope and evidence |
| Acceptance skill | Conclusions, blocking conditions and limits when tests were not run |
| Hook and permission settings | Actual hook connections and tool permission rules |
| Skill testing | Scope of static, category, specification and coverage checks |
Verification date: 2026-10-20. Community entry points are GitHub Discussions and Issues. The source code uses the MIT License; retain the notices required by that license when distributing the corresponding material.