setup-engine
Skill19 starsChanged 7 months agoMITView on GitHub
Configure the project's game engine and version. Pins the engine in CLAUDE.md, detects knowledge gaps, and populates engine reference docs via WebSearch when the version is beyond the LLM's training data.
We split this skill into the rules it gives an agent
31 rules. 1 is common, 23 are distinctive, and 7 are very specific to this project.
1
Common
Most of the 11 edited versions we read keep these.
23
Distinctive
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Common: line 9
When this skill is invoked:
- Distinctive: line 23
If no engine is specified, run an interactive engine selection process:
- Very specific: line 26
Read design/gdd/game-concept.md if it exists — extract genre, scope, platform targets, art style, team size, and any engine recommendation …
- Distinctive: line 28
If no concept exists, inform the user:
- Distinctive: line 42
Use this decision matrix:
- Distinctive: line 65
If version was provided, use it
- Distinctive: line 66
If no version provided, use WebSearch to find the latest stable release:
- Very specific: line 74
Read CLAUDE.md and update the Technology Stack section.
- Very specific: line 105
After updating CLAUDE.md, create or update .claude/docs/technical-preferences.md with engine-appropriate defaults.
- Distinctive: line 147
Wait for approval before writing the file.
- Distinctive: line 153
Check whether the engine version is likely beyond the LLM's training data.
- Very specific: line 175
Create a minimal docs/engine-reference/<engine>/VERSION.md:
- Distinctive: line 195
Do NOT create breaking-changes.md, deprecated-apis.md, etc.
- Distinctive: line 200
Create the full reference doc set by searching the web:
- Distinctive: line 227
For module files: Only create modules for subsystems where significant changes occurred.
- Very specific: line 234
Update the @ import under "Engine Version Reference" to point to the correct engine:
- Distinctive: line 243
If the previous import pointed to a different engine (e.g., switching from Godot to Unity), update it.
- Distinctive: line 256
Check deprecated APIs before suggesting code
- Distinctive: line 257
Check breaking changes for relevant version transitions
- Distinctive: line 258
Use WebSearch to verify uncertain APIs
- Very specific: line 264
If invoked as /setup-engine refresh:
- Very specific: line 266
Read the existing docs/engine-reference/<engine>/VERSION.md to get the current engine and version
- Distinctive: line 268
Use WebSearch to check for:
- Distinctive: line 272
Update all reference docs with new findings
- Distinctive: line 273
Update "Last verified" dates on all modified files
- Distinctive: line 280
After setup is complete, output:
- Distinctive: line 305
NEVER guess an engine version — always verify via WebSearch or user confirmation
- Distinctive: line 306
NEVER overwrite existing reference docs without asking — append or update
- Distinctive: line 307
If reference docs already exist for a different engine, ask before replacing
- Distinctive: line 308
Always show the user what you're about to change before making CLAUDE.md edits
- Distinctive: line 309
If WebSearch returns ambiguous results, show the user and let them decide
“Common” is measured: kept by at least 6 in 10 of the 11 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
When this skill is invoked:
1. Parse Arguments
Three modes:
- Full spec:
/setup-engine godot 4.6— engine and version provided - Engine only:
/setup-engine unity— engine provided, version will be looked up - No args:
/setup-engine— fully guided mode (engine recommendation + version)
2. Guided Mode (No Arguments)
If no engine is specified, run an interactive engine selection process:
Check for existing game concept
- Read
design/gdd/game-concept.mdif it exists — extract genre, scope, platform targets, art style, team size, and any engine recommendation from/brainstorm - If no concept exists, inform the user:
"No game concept found. Consider running
/brainstormfirst to discover what you want to build — it will also recommend an engine. Or tell me about your game and I can help you pick."
If the user wants to pick without a concept, ask:
- What kind of game? (2D, 3D, or both?)
- What platforms? (PC, mobile, console, web?)
- Team size and experience? (solo beginner, solo experienced, small team?)
- Any strong language preferences? (GDScript, C#, C++, visual scripting?)
- Budget for engine licensing? (free only, or commercial licenses OK?)
Produce a recommendation
Use this decision matrix:
| Factor | Godot 4 | Unity | Unreal Engine 5 |
| Best for | 2D games, small 3D, solo/small teams | Mobile, mid-scope 3D, cross-platform | AAA 3D, photorealism, large teams |
| Language | GDScript (+ C#, C++ via extensions) | C# | C++ / Blueprint |
| Cost | Free, MIT license | Free under revenue threshold | Free under revenue threshold, 5% royalty |
| Learning curve | Gentle | Moderate | Steep |
| 2D support | Excellent (native) | Good (but 3D-first engine) | Possible but not ideal |
| 3D quality ceiling | Good (improving rapidly) | Very good | Best-in-class |
| Web export | Yes (native) | Yes (limited) | No |
| Console export | Via third-party | Yes (with license) | Yes |
| Open source | Yes | No | Source available |
Present the top 1-2 recommendations with reasoning tied to the user's answers. Let the user choose — never force a recommendation.
3. Look Up Current Version
Once the engine is chosen:
- If version was provided, use it
- If no version provided, use WebSearch to find the latest stable release:
- Search:
"[engine] latest stable version [current year]" - Confirm with the user: "The latest stable [engine] is [version]. Use this?"
- Search:
4. Update CLAUDE.md Technology Stack
Read CLAUDE.md and update the Technology Stack section. Replace the
[CHOOSE] placeholders with the actual values:
For Godot:
- **Engine**: Godot [version]
- **Language**: GDScript (primary), C++ via GDExtension (performance-critical)
- **Build System**: SCons (engine), Godot Export Templates
- **Asset Pipeline**: Godot Import System + custom resource pipelineFor Unity:
- **Engine**: Unity [version]
- **Language**: C#
- **Build System**: Unity Build Pipeline
- **Asset Pipeline**: Unity Asset Import Pipeline + AddressablesFor Unreal:
- **Engine**: Unreal Engine [version]
- **Language**: C++ (primary), Blueprint (gameplay prototyping)
- **Build System**: Unreal Build Tool (UBT)
- **Asset Pipeline**: Unreal Content Pipeline5. Populate Technical Preferences
After updating CLAUDE.md, create or update .claude/docs/technical-preferences.md with
engine-appropriate defaults. Read the existing template first, then fill in:
Engine & Language Section
- Fill from the engine choice made in step 4
Naming Conventions (engine defaults)
For Godot (GDScript):
- Classes: PascalCase (e.g.,
PlayerController) - Variables/functions: snake_case (e.g.,
move_speed) - Signals: snake_case past tense (e.g.,
health_changed) - Files: snake_case matching class (e.g.,
player_controller.gd) - Scenes: PascalCase matching root node (e.g.,
PlayerController.tscn) - Constants: UPPER_SNAKE_CASE (e.g.,
MAX_HEALTH)
For Unity (C#):
- Classes: PascalCase (e.g.,
PlayerController) - Public fields/properties: PascalCase (e.g.,
MoveSpeed) - Private fields: _camelCase (e.g.,
_moveSpeed) - Methods: PascalCase (e.g.,
TakeDamage()) - Files: PascalCase matching class (e.g.,
PlayerController.cs) - Constants: PascalCase or UPPER_SNAKE_CASE
For Unreal (C++):
- Classes: Prefixed PascalCase (
Afor Actor,Ufor UObject,Ffor struct) - Variables: PascalCase (e.g.,
MoveSpeed) - Functions: PascalCase (e.g.,
TakeDamage()) - Booleans:
bprefix (e.g.,bIsAlive) - Files: Match class without prefix (e.g.,
PlayerController.h)
Remaining Sections
- Performance Budgets: Leave as
[TO BE CONFIGURED]with a suggestion:"Typical targets: 60fps / 16.6ms frame budget. Want to set these now?"
- Testing: Suggest engine-appropriate framework (GUT for Godot, NUnit for Unity, etc.)
- Forbidden Patterns / Allowed Libraries: Leave as placeholder
Collaborative Step
Present the filled-in preferences to the user:
"Here are the default technical preferences for [engine]. Want to customize any of these, or shall I save the defaults?"
Wait for approval before writing the file.
6. Determine Knowledge Gap
Check whether the engine version is likely beyond the LLM's training data.
Known approximate coverage (update this as models change):
- LLM knowledge cutoff: May 2025
- Godot: training data likely covers up to ~4.3
- Unity: training data likely covers up to ~2023.x / early 6000.x
- Unreal: training data likely covers up to ~5.3 / early 5.4
Compare the user's chosen version against these baselines:
- Within training data →
LOW RISK— reference docs optional but recommended - Near the edge →
MEDIUM RISK— reference docs recommended - Beyond training data →
HIGH RISK— reference docs required
Inform the user which category they're in and why.
7. Populate Engine Reference Docs
If WITHIN training data (LOW RISK):
Create a minimal docs/engine-reference/<engine>/VERSION.md:
# [Engine] — Version Reference
| Field | Value |
|-------|-------|
| **Engine Version** | [version] |
| **Project Pinned** | [today's date] |
| **LLM Knowledge Cutoff** | May 2025 |
| **Risk Level** | LOW — version is within LLM training data |
## Note
This engine version is within the LLM's training data. Engine reference
docs are optional but can be added later if agents suggest incorrect APIs.
Run `/setup-engine refresh` to populate full reference docs at any time.Do NOT create breaking-changes.md, deprecated-apis.md, etc. — they would add context cost with minimal value.
If BEYOND training data (MEDIUM or HIGH RISK):
Create the full reference doc set by searching the web:
- Search for the official migration/upgrade guide:
"[engine] [old version] to [new version] migration guide""[engine] [version] breaking changes""[engine] [version] changelog""[engine] [version] deprecated API"
- Fetch and extract from official documentation:
- Breaking changes between each version from the training cutoff to current
- Deprecated APIs with replacements
- New features and best practices
- Create the full reference directory:
docs/engine-reference/<engine>/ ├── VERSION.md # Version pin + knowledge gap analysis ├── breaking-changes.md # Version-by-version breaking changes ├── deprecated-apis.md # "Don't use X → Use Y" tables ├── current-best-practices.md # New practices since training cutoff └── modules/ # Per-subsystem references (create as needed) - Populate each file using real data from the web searches, following the format established in existing reference docs. Every file must have a "Last verified: [date]" header.
- For module files: Only create modules for subsystems where significant changes occurred. Don't create empty or minimal module files.
8. Update CLAUDE.md Import
Update the @ import under "Engine Version Reference" to point to the
correct engine:
## Engine Version Reference
@docs/engine-reference/<engine>/VERSION.mdIf the previous import pointed to a different engine (e.g., switching from Godot to Unity), update it.
9. Update Agent Instructions
For the chosen engine's specialist agents, verify they have a "Version Awareness" section. If not, add one following the pattern in the existing Godot specialist agents.
The section should instruct the agent to:
- Read
docs/engine-reference/<engine>/VERSION.md - Check deprecated APIs before suggesting code
- Check breaking changes for relevant version transitions
- Use WebSearch to verify uncertain APIs
10. Refresh Subcommand
If invoked as /setup-engine refresh:
- Read the existing
docs/engine-reference/<engine>/VERSION.mdto get the current engine and version - Use WebSearch to check for:
- New engine releases since last verification
- Updated migration guides
- Newly deprecated APIs
- Update all reference docs with new findings
- Update "Last verified" dates on all modified files
- Report what changed
11. Output Summary
After setup is complete, output:
Engine Setup Complete
=====================
Engine: [name] [version]
Knowledge Risk: [LOW/MEDIUM/HIGH]
Reference Docs: [created/skipped]
CLAUDE.md: [updated]
Tech Prefs: [created/updated]
Agent Config: [verified]
Next Steps:
1. Review docs/engine-reference/<engine>/VERSION.md
2. [If from /brainstorm] Run /map-systems to decompose your concept into individual systems
3. [If from /brainstorm] Run /design-system to author per-system GDDs (guided, section-by-section)
4. [If from /brainstorm] Run /prototype [core-mechanic] to test the core loop
5. [If fresh start] Run /brainstorm to discover your game concept
6. Create your first milestone: /sprint-plan newGuardrails
- NEVER guess an engine version — always verify via WebSearch or user confirmation
- NEVER overwrite existing reference docs without asking — append or update
- If reference docs already exist for a different engine, ask before replacing
- Always show the user what you're about to change before making CLAUDE.md edits
- If WebSearch returns ambiguous results, show the user and let them decide
Other versions12 projects use a version of this.
Word for word · 0
None found.
Edited · 8
- Donchitos/Claude-Code-Game-Studios★ 27k26% same
- striderZA/OpenCodeGameStudios★ 9314% same
- dawn840705/codex-code-studios★ 1728% same
- lilangMax/ClaudeCodeGameStudios★ 829% same
- dawn840705/claude-code-studios★ 129% same
- HunLuanZhiZhu/Game-Studios-Plugin★ 128% same
- scotidev/GameDevStudio★ 197% same
- venus2099/codex-game-studios★ 127% same
Wrote their own version · 4
- pixel-cellar/Claude-Code-Game-Studios★ 324same name
- hongyuanc/codex-game-studios★ 5same name
- ailess-lab/CCFG★ 2same name
- ShiningPlague/shiningplague-studio★ 0same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use asset-spec, create-control-manifest and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
lilangMaxSkillasset-spec
Generate per-asset visual specifications and AI generation prompts from GDDs, level docs, or character profiles. Produces structured spec files and updates the master asset manifest. Run after art bible and GDD/level design are approved, before production begins.
Also in 9 projects that use this
lilangMaxSkillcreate-control-manifest
After architecture is complete, produces a flat actionable rules sheet for programmers — what you must do, what you must never do, per system and per layer. Extracted from all Accepted ADRs, technical preferences, and engine reference docs. More immediately actionable than ADRs (which explain why).
Also in 9 projects that use this
MRCalderon3DSkillart-bible
Define a visual direction that artists, UI, technical art, and marketing can execute consistently.
Also in 10 projects that use this
- +9 more from lilangMax
In this repository37 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- architecture-decisionSkill
- asset-auditSkill
- balance-checkSkill
- brainstormSkill
- bug-reportSkill
- changelogSkill
- code-reviewSkill
- design-reviewSkill
- design-systemSkill
- estimateSkill
- gate-checkSkill
- hotfixSkill
- launch-checklistSkill
- localizeSkill
- map-systemsSkill
- milestone-reviewSkill
- onboardSkill
- patch-notesSkill
- perf-profileSkill
- playtest-reportSkill
- project-stage-detectSkill
- prototypeSkill
- release-checklistSkill
- retrospectiveSkill
- reverse-documentSkill
- scope-checkSkill
- sprint-planSkill
- startSkill
- team-audioSkill
- team-combatSkill
- team-levelSkill
- team-narrativeSkill
- team-polishSkill
- team-releaseSkill
- team-uiSkill
- tech-debtSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

