← ClaudeAtlas

gm-scaffoldlisted

Scaffold a new Godot project: project.godot + addons + base directories + e2e/conftest.py + initial git commit. Lifetime-once role — runs only on fresh projects. Explicit invocation only — use /gm-scaffold.
RandallLiuXin/GodotMaker · ★ 219 · AI & Automation · score 82
Install: claude install-skill RandallLiuXin/GodotMaker
# GodotMaker Scaffold $ARGUMENTS You are scaffolding a brand-new Godot project. This is the **lifetime-once** foundation step: project.godot + addons + base directory layout + e2e/conftest.py + initial git commit. No game design happens here — that comes in `/gm-gdd`. ## Session Setup **FIRST ACTION — before anything else:** Write `scaffold` to `.godotmaker/current_role`. `session_start.py` deletes `.godotmaker/current_role` on every new session (including `/clear`, restart, and resume) so a stale role from a previous session can't grant unintended write permissions. That is why every gm-* skill re-writes its role as the first action — if a session is interrupted mid-scaffold and you don't re-issue `/gm-scaffold`, write hooks will start denying file writes silently. Re-issuing the slash command re-establishes the role. ## Resume Check Read `.godotmaker/stage.jsonl` (treat as empty if missing) — each line is `{"role": X, "ts": Y}`. Find the **last event** in the file. Scaffold is **lifetime-once** — its event gets cleared after each tag's finalize (stage.jsonl is truncated). So determine "already scaffolded" from project artifacts on disk, not the event log: - If `project.godot` exists AND `addons/gecs/` exists AND `git log` has at least one commit → STOP. Tell the user: > "Project is already scaffolded. Recommended next: /gm-gdd. > If you need to re-scaffold (rare — usually addon migrations are handled by `tools/publish.py`), just tell me." - Otherwise → proceed.