Agent skill · Documentation

godot-gdscript

Write idiomatic GDScript for Godot 4.x: 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 (func signatures, yield -> await, export -> @export).

gamedev-skillsgithub.com/gamedev-skillsGitHub ↗
claude-codeclinecodexcursorcopilotwindsurfApache-2.0
Install
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-gdscript --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 2
SKILL.md size: 5 KB
Bundled scripts: none
Requires: Godot 4.3+ (GDScript 2.0)
Path: skills/godot/godot-gdscript/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 406
Language: Python

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Godot GDScript (4.x) Write correct, statically typed GDScript and use the node lifecycle and signal system the way the engine intends. Targets **Godot 4.3+** (GDScript 2.0). ## When to use - Use when writing or fixing `.gd` files: declaring variables, functions, classes, using `@export`/`@onready`, connecting signals, or awaiting coroutines/signals. - Use when porting Godot 3.x scripts to 4.x and the script no longer parses. **When *not* to use:** scene/node structure and instancing questions → `godot-nodes-scenes`; signal *architecture*/decoupling patterns → `godot-signals-groups`; using C# instead of GDScript → `godot-csharp`. ## Core workflow 1. **Type everything you can.** GDScript 2.0 supports static types (`var hp: int = 10`, `func add(a: int, b: int) -> int:`). Types catch errors at parse time and speed up the VM. Use `:=` for inferred types. 2. **Use the lifecycle callbacks for their purpose:** `_ready()` once when the node and its children enter the tree; `_process(delta)` every rendered frame; `_physics_process(delta)` on the fixed physics tick (use it for movement/physics). 3. **Grab node references with `@onready`**, not in `_init()` — children do not exist until the

What's inside
Steps it walks through
  1. When to use
  2. Core workflow
  3. Patterns
  4. 1. A typed script with lifecycle, @export, and @onready
  5. 2. Signals: declare, emit, connect (4.x Callable syntax)
  6. 3. await — pause until a timer or signal fires (replaces 3.x yield)
  7. 4. Lambdas, typed arrays, and safe access
  8. Pitfalls
  9. References
  10. Related skills
Ships with 1 file
  • references/annotations-and-typing.md
More from awesome-gamedev-agent-skills
All skills →
About this skill
What does the godot-gdscript skill do?

Write idiomatic GDScript for Godot 4.x: 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 (func signatures, yield -> await, export -> @export).

How do I install it?

Run `npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-gdscript --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From gamedev-skills/awesome-gamedev-agent-skills, a repository with 406 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going