setup-engine — Claude Code skill: pin your engine and version
Pins the game engine and its version in CLAUDE.md, and uses WebSearch to build reference docs when the version is newer than the model's training data.
npx skills add Donchitos/Claude-Code-Game-Studios --skill setup-engine -a claude-codeWhat setup-engine does
The skill picks a game engine and a version, then writes that choice into the project config. It never guesses a version: it looks one up through WebSearch or asks you. From there it updates the Technology Stack section of CLAUDE.md, fills in project.yaml and technical-preferences.md, prepares engine reference docs, and verifies the import.
Several modes are available. Full spec: /setup-engine godot 4.7. Engine only: /setup-engine unity, and the version gets looked up. With no arguments the skill walks you through a guided selection. Two subcommands handle maintenance: refresh updates the reference docs, upgrade migrates to a new engine version.
Config lives in two files. project.yaml is the primary store, technical-preferences.md is a legacy mirror, and project.yaml wins if they drift apart. Existing reference docs are never overwritten without asking. On Godot the skill calls godot --version and imports the project headless, so the engine has to be on your PATH.
What it helps with
- pin the engine and version in the project config
- look up the current engine version instead of guessing
- build API reference docs for a version past the model's training data
- migrate to a new engine version and refresh the docs
- add deprecated-API checks to specialist agents
Example prompts for the agent
- Set up godot 4.7 for this project
- Pick the engine and version for me, I'm not sure which to use
- Refresh the engine reference docs: /setup-engine refresh
How to install setup-engine
1Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill setup-engine -a claude-code2Manually: put the files in place
~/.claude/skills/setup-engine/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/setup-engine/
1Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill setup-engine -a codex2Manually: put the files in place
.agents/skills/setup-engine/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill setup-engine -a cursor2Manually: put the files in place
.cursor/skills/setup-engine/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install Donchitos/Claude-Code-Game-Studios setup-engine2Manually: put the files in place
.github/skills/setup-engine/SKILL.md1Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill setup-engine -a gemini-cli2Platform CLI
gemini skills install https://github.com/Donchitos/Claude-Code-Game-Studios --path .claude/skills/setup-engineManually: put the files in place
.devin/skills/setup-engine/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill setup-engine -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about setup-engine
How do I install setup-engine in Claude Code?
Run npx skills add Donchitos/Claude-Code-Game-Studios --skill setup-engine -a claude-code. The skill lands at ~/.claude/skills/setup-engine/SKILL.md.
What does setup-engine do?
It selects an engine and version, records them in CLAUDE.md and project.yaml, and prepares engine reference docs. Versions come from WebSearch rather than a guess.
What does the skill need to run?
For Godot, an installed engine on your PATH: the skill calls godot --version and imports the project headless. It asks before replacing reference docs that already exist.
Source text
SKILL.md · MIT
---
name: setup-engine
description: "Configure engine and version. Pins it in CLAUDE.md; WebSearch fills reference docs when the version is beyond LLM training data."
argument-hint: "[engine] | [engine version] | refresh | upgrade [old-version] [new-version] | no args for guided selection"
user-invocable: true
allowed-tools: Read, Glob, Grep, Write, Edit, WebSearch, WebFetch, Agent, AskUserQuestion, Bash(bash "*/.claude/skills/setup-engine/../../hooks/yaml-helper.sh" resolve_config *), Bash(godot --version), Bash(godot --headless --path . --import), Bash(command -v godot), Bash(uname -s), Bash(bash .claude/scripts/project-coherence.sh*)
model: sonnet
---
# Engine Setup
When this skill is invoked:
!`bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys workflow`
**Tier awareness.** The `workflow` tier resolved above governs which design
artifact this skill expects and the finish path it recommends in §12:
- **`minimal`** — the design artifact is the one-page `design/game-brief.md`
(no GDDs, systems decomposition, or per-system design at this tier).
`/setup-engine` runs *first* in the minimal path, so a missing brief here is
normal, not a gap. The finish path is the 4-step floor.
- **`standard` / `full`** — the design artifact is `design/gdd/game-concept.md`
and the finish path is the full pipeline.
If the block did not render (shell preprocessing disabled), assume `minimal` (the default).
## 1. Parse Arguments
Four modes:
- **Full spec**: `/setup-engine godot 4.7` — 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)
- **Refresh**: `/setup-engine refresh` — update reference docs (see Section 10)
- **Upgrade**: `/setup-engine upgrade [old-version] [new-version]` — migrate to a new engine version (see Section 11)
---
## 2. Guided Mode (No Arguments)
**Read `references/2-guided-mode.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 3. Look Up Current Version
**Read `references/3-version.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 4. Update CLAUDE.md Technology Stack
**Read `references/4-claude-md-stack.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 5. Populate Technical Preferences
**Read `references/5-technical-preferences.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 5.5 Populate `project.yaml` (Primary Config Store)
**Read `references/5.5-project-yaml.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 6. Determine Knowledge Gap
**Read `references/6-knowledge-gap.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 7. Populate Engine Reference Docs
**Read `references/7-reference-docs.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 7.5 Scaffold the Engine Project
**Read `references/7.5-scaffold.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 8. Verify the CLAUDE.md Import
**Read `references/8-verify.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 9. Update Agent Instructions
Ask: "May I add a Version Awareness section to the engine specialist agent files?" before making any edits.
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:
1. Read `docs/engine-reference/<engine>/VERSION.md`
2. Check deprecated APIs before suggesting code
3. Check breaking changes for relevant version transitions
4. Use WebSearch to verify uncertain APIs
---
## 10. Refresh Subcommand
If invoked as `/setup-engine refresh`:
1. Read the existing `docs/engine-reference/<engine>/VERSION.md` to get
the current engine and version
2. Use WebSearch to check for:
- New engine releases since last verification
- Updated migration guides
- Newly deprecated APIs
3. Update all reference docs with new findings
4. Update "Last verified" dates on all modified files
5. Report what changed
---
## 11. Upgrade Subcommand
**Read `references/11-upgrade.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 12. Output Summary
**Read `references/12-output-summary.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## Guardrails
- NEVER guess an engine version — always verify via WebSearch or user confirmation
- `project.yaml` is the primary config store (v1.1). Always dual-write engine
config to BOTH `project.yaml` (primary) and `technical-preferences.md` (legacy
mirror). If the two ever diverge, `project.yaml` is authoritative.
- 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
- When the user chose **GDScript**: copy the GDScript CLAUDE.md template from **A1** in `references/godot-language-config.md` exactly. NEVER add "C++ via GDExtension" to the Language field. GDScript projects may use GDExtension, but it is not a primary project language. The `godot-gdextension-specialist` in the routing table is available for when native extensions are needed — it does not make C++ a project language.
---
## Appendix A — Godot Language Configuration
Moved out of this file so it costs nothing on non-Godot runs.
**When the chosen engine is Godot, read**
`references/godot-language-config.md`
and use the subsection for the chosen language:
- **A1** — CLAUDE.md Technology Stack templates (GDScript / C# / Both)
- **A2** — naming conventions
- **A3** — engine specialist routing and file-extension tables
**Load discipline.** On any engine other than Godot, **never load it** — nothing in Sections 4, 5 or 5.5 needs it, and reading it anyway spends the tokens the split exists to save. On Godot, read it once when you first reach Section 4 and keep using it for Sections 5 and 5.5; do not re-read it at each reference.
© Donchitos · MIT · Donchitos/Claude-Code-Game-Studios