Tooluck logoTooluck
SKILL.md

godot-gdscript

Agent skill fromgamedev-skills/awesome-gamedev-agent-skills

Write idiomatic GDScript for Godot 4.7: static typing, the node lifecycle (_ready/_process/_physics_process), @export/@onready/@tool annotations, signals, and await for asynchronous flow. Use when editing .gd scripts in a Godot project (project.godot), writing or debugging GDScript, or porting 3.x GDScript to 4.x (function signatures, yield to await, export to @export).

How to install godot-gdscript

install godot-gdscript
# install the awesome-gamedev-agent-skills pack with the skills CLI
npx skills add gamedev-skills/awesome-gamedev-agent-skills

# or add only this skill to Claude Code: copy the folder

skills/godot/godot-gdscript/

# into

~/.claude/skills/godot-gdscript/ (all projects)

.claude/skills/godot-gdscript/ (one project)

skills/godot/godot-gdscript/SKILL.md

Apache-2.0Full file
1# Godot GDScript (4.x)
2
3Write correct, statically typed GDScript and use the node lifecycle and signal
4system the way the engine intends. Targets **Godot 4.7** (GDScript 2.0).
5
6## When to use
7
8- Use when writing or fixing `.gd` files: declaring variables, functions, classes,
9 using `@export`/`@onready`, connecting signals, or awaiting coroutines/signals.
10- Use when porting Godot 3.x scripts to 4.x and the script no longer parses.
11
12**When *not* to use:** scene/node structure and instancing questions →
13`godot-nodes-scenes`; signal *architecture*/decoupling patterns →
14`godot-signals-groups`; using C# instead of GDScript → `godot-csharp`.
15
16## Core workflow
17
181. **Type everything you can.** GDScript 2.0 supports static types
19 (`var hp: int = 10`, `func add(a: int, b: int) -> int:`). Types catch errors at
20 parse time and speed up the VM. Use `:=` for inferred types.
212. **Use the lifecycle callbacks for their purpose:** `_ready()` once when the node
22 and its children enter the tree; `_process(delta)` every rendered frame;
23 `_physics_process(delta)` on the fixed physics tick (use it for movement/physics).
243. **Grab node references with `@onready`**, not in `_init()` — children do not exist
25 until the node enters the tree.
264. **Expose tunables with `@export`** so designers edit them in the Inspector.
275. **React to events with signals + `await`**, not polling, where it reads cleanly.
286. **Run and read errors.** The Debugger panel prints typed errors with line numbers;
29…

Excerpt shown under the repository's Apache-2.0 license.

More skills in awesome-gamedev-agent-skills

Keep exploring

Similar skill repositories

Newsletter

Join the Community

Subscribe to our newsletter for the latest news and updates