Configures Claude Code hooks and Codex hooks.json/notify. Use when adding PreToolUse guards, Stop hooks, managed hooks, format-on-save, preflight, audits, or worktree/budget hooks.
日本語の概要は準備中です。原文の説明を表示しています。
Creates Godot games from empty project to exported build. Use when starting, building, validating, or shipping a Godot 2D/3D game or app.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
Use this skill to take a Godot project from empty editor to a published, exported build using the engine, language, and tooling of the current stable Godot 4.x release. Look up the current stable minor and patch in the official release archive and release notes before starting or upgrading a project; the answer decides which node names, defaults, and export caveats apply. The skill covers the durable build spine (prototype → first playable → content → export) and fences the volatile engine layer (renderer names, minor-version API renames, physics-engine defaults, C# and web-export caveats) so you teach what is true for the pinned version, not what was true in Godot 3.
Version note: treat development snapshots as pre-release until the official archive marks them stable. Pin the exact patch level in CI, not just the minor. Before an upgrade, read the release notes of every minor between the project's version and the target, because defaults change between minors. Past examples: 4.6 made Jolt the default 3D physics engine for new projects, existing projects retain their configured physics engine; 4.7 integrated the Asset Store; legacy Asset Library links are not automatically broken. Check which addon source the target version uses before pointing contributors at a link.
| Stage | Read or Run | Durable default (Godot 4.x) |
|---|---|---|
| Setup & project | references/setup-and-project.md | One editor install per project via a version manager; commit project.godot + source, gitignore .godot/; pick GDScript unless you have a concrete reason for C# (heavier export; check whether the current stable supports C# web export, and if not, web means GDScript) |
| Language & architecture | references/gdscript-and-architecture.md | class_name + @export + static typing (var x: int); signals up, calls down; autoload singletons for cross-scene state; _physics_process for physics-synchronized logic; _process(delta) for frame-based updates |
| Build the game | references/scenes-and-nodes.md | Compose with scenes as reusable prefabs; keep the node tree shallow; instance scenes, don't deep-nest; CharacterBody2D/3D + move_and_slide() (velocity in units per second, not multiplied by delta); TileMapLayer for 2D grids (the monolithic TileMap was deprecated in 4.3 — use the editor's one-click migration); Jolt became the default 3D physics engine for new projects in 4.6 |
| Performance & traps | references/performance-and-traps.md | Cache get_node results; free with queue_free(); pool only when measured spawning/destruction cost warrants it; profile with the built-in profiler + --verbose; avoid per-frame allocations in _process |
| Rendering & platforms | references/rendering-and-export.md | Pick the renderer per target (Forward+ desktop, Mobile for phones, Compatibility for web/old GPUs); export needs matching export templates; test on-device, not just the editor |
| Ship & polish | references/rendering-and-export.md#shipping | Export presets per platform; strip debug; sign/notarize per store rules (verify per platform); one-button build via godot --headless --export-release in CI |
project.godot opens in a pinned editor version; .godot/ is gitignored; a trivial scene runs with F5. See references/setup-and-project.md.CharacterBody2D/3D, input map → verify: the core verb works with keyboard/gamepad and reads clearly at real speed. See references/scenes-and-nodes.md.get_node("../../..") path to the other. See references/gdscript-and-architecture.md.TileMapLayer/GridMap for levels, particles and shaders for feel → verify: frame time stays inside budget on a real target device, not just the editor. See references/scenes-and-nodes.md and references/performance-and-traps.md.queue_free(), remove subscriptions that should stop while their endpoints remain alive, validate saved data on load → verify: walk references/performance-and-traps.md Known Traps as a checklist; profiler shows no runaway per-frame allocation or leaked nodes.references/rendering-and-export.md..tscn, and instance it. Composition over deep inheritance.get_node("../../..") coupling._physics_process. Use the physics tick for body movement/collisions; _process(delta) can update visuals and non-physics timers using elapsed time (processing docs). Multiply accelerations (velocity.y += gravity * delta) and manual position or timer changes by delta. Do not multiply the velocity you pass to move_and_slide() by delta: it already integrates velocity over the physics step.move_and_slide() on CharacterBody. Set velocity in units per second (velocity = direction * speed), call move_and_slide(); let the engine resolve collisions. Don't hand-roll integration unless you have a reason.var speed: float = 200.0, typed @export, typed function signatures. Enables editor autocomplete, catches errors, and lets the compiler optimize.get_tree().call_group() for owned per-frame work.Resource, not a Node or Dictionary. class_name ItemData extends Resource with typed @exports — inspector-editable, shareable, no scene-tree overhead. The veteran's default for item/ability/stat data.MultiMeshInstance2D/3D / RenderingServer (visuals) or PhysicsDirectSpaceState2D/3D (bulk queries) — but only when the profiler says so.queue_free() for scene nodes. Deferred deletion avoids invalidating objects used by the current callback or iteration; child nodes are also deleted when their parent is freed._process, and reset interpolation after a teleport so the object does not smear across the screen.get_node("../../Player")) instead of signals, exported node references, or an autoload — the top cause of scenes that break when moved.delta from time-based frame updates. _process(delta) is valid for non-physics timing and visual movement.delta wrong in either direction: forgetting it on manual position, timer, or acceleration updates (speed then scales with frame rate), or multiplying the velocity passed to move_and_slide() by it (the classic crawl bug: at an example 60 Hz tick the body moves at 1/60 of the intended speed).queue_free() to avoid invalid references.CONNECT_ONE_SHOT when exactly one emission is intended (Object.connect).delta for these updates and physics processing for physics-body movement; do not scale move_and_slide() velocity by delta.TileMap → TileMapLayer migration — the monolithic TileMap node was deprecated in 4.3 (present but frozen — no new features) in favor of per-layer TileMapLayer nodes; code and scenes from older tutorials will not match. Use the editor's one-click conversion tool rather than hand-porting.@onready ordering — @onready var x = $Child is assigned just before _ready() runs, after _enter_tree(); do not rely on that deferred initializer in _init() or _enter_tree()._process; reset interpolation on teleport or respawn.SubViewport), persist the shader cache, and test on the real target where the editor's pre-cache doesn't hide it. See references/rendering-and-shaders.md..res/ResourceSaver save-file RCE — loading a user-modifiable .tres/.res can execute arbitrary GDScript via resource deserialization. Use FileAccess + JSON (or ConfigFile) for save data, never ResourceSaver for user-shared files. See references/rendering-and-export.md..godot/ in git — committing the generated .godot/ cache causes churn and merge pain; gitignore it and commit only project.godot + source + assets.| Need | Pick | Status |
|---|---|---|
| Primary language | GDScript (typed) | First-class, fastest iteration, full web export; typed Dictionaries (Dictionary[K,V], added in 4.4) |
| Performance-critical / .NET ecosystem | C# (.NET) | First-class but heavier; check C# web-export support in the current stable — if absent, GDScript for web targets |
| Native performance modules | GDExtension (C/C++/Rust via godot-cpp / gdext) | Read GDExtension compatibility and binding support for the exact engine versions and target platforms before distributing binaries |
| 3D physics | Jolt (built-in) | Became the default for new 3D projects in 4.6; check the current default and whether Godot Physics is still selectable |
| 2D tilemaps | TileMapLayer (per-layer) | Per-layer node; the monolithic TileMap was deprecated in 4.3 |
| Dependency/asset sharing | The engine's official addon store + git submodules | Check which store your version uses (4.7 moved in-editor browsing from the Asset Library to an Asset Store); vet third-party addons for version fit |
| Console export | Licensed middleware/porting vendor, or an in-house port | Check the official console process: platform approval, official SDKs, private export templates and certification; the Foundation does not maintain official ports |
| CI export | godot --headless --export-release | Scriptable headless export; needs version-matched templates on the runner |
Treat save data as a versioned external contract. Store a schema version, migrate one version at a time, preserve the pre-migration file until the new save is verified, and reject unknown future versions without overwriting them. Before release, load representative saves from every supported shipped version in an exported build and verify the migrated state by gameplay behavior, not only by successful parsing.
Recommending Godot by default is itself a judgment call, not a rule — push back when the project profile doesn't fit:
AnimationTree/AnimationPlayer cover most 2D/indie-3D needs but are thinner for complex character-animation production pipelines.Resources:
call_group beat them), autoloads, _process vs _physics_process, custom Resource data modeling, @tool, _notification lifecycle, and node-communication patternsCharacterBody, Jolt physics default, TileMapLayer/GridMap, and instancingMultiMesh/servers), object pooling, node/signal lifecycle, and the full Known Traps catalog with fixesWorldEnvironment, and SubViewport techniques.res security trap), high-level multiplayer, per-platform presets, and shipping/signingRelated skills:
For a relevant previously observed pitfall, consult learnings.consolidated.md; otherwise skip empty learning files.
Before an upgrade or export commitment, read the pinned release’s migration notes and platform docs for renderer support, C#/web export, physics settings and signing requirements. If unavailable, mark that specific claim unverified.
まだレビューはありません。使ってみた感想をお寄せください。
概要と使いどころ
Configures Claude Code hooks and Codex hooks.json/notify. Use when adding PreToolUse guards, Stop hooks, managed hooks, format-on-save, preflight, audits, or worktree/budget hooks.
日本語の概要は準備中です。原文の説明を表示しています。
Configures and hardens Claude Code and Codex MCP servers. Use when connecting databases, APIs, SaaS, building servers, or serving a clearance-filtered knowledge base.
日本語の概要は準備中です。原文の説明を表示しています。
Owns instruction files: AGENTS.md, CLAUDE.md, personal and repo rules. Use when writing, pruning, auditing them, sharing rules across Claude and Codex, or fixing ignored rules.
日本語の概要は準備中です。原文の説明を表示しています。
Creates and audits agent skills: SKILL.md, references, scripts, runtime metadata. Use when writing, validating, or security-reviewing a skill, or fixing truncated skill listings.
日本語の概要は準備中です。原文の説明を表示しています。
Adds per-skill learnings loops for dated patterns, mistakes, and domain facts. Use when wiring skill memory, consolidation, or drift audits.
日本語の概要は準備中です。原文の説明を表示しています。
Chooses subagent, team, workflow, or debate and launches it on Claude Code or Codex. Use when delegating, running agent review boards, or installing shared agents.
日本語の概要は準備中です。原文の説明を表示しています。