0
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill chen19007/my_skills --skill godot-dev- SKILL.md6.5 KB
Overview
This skill defines practical GDScript implementation guidelines to keep Godot projects consistent, testable, and engine-friendly. It focuses on type safety, proper use of Godot features (signals, @onready, @export, autoload), and avoiding common anti-patterns. Use it to standardize new code, refactors, and unit-testable designs.
How this skill works
The skill inspects GDScript patterns and recommends concrete replacements: enforce type annotations, prefer private fields with getters, use @onready for node caching, and emit/connect signals cleanly. It flags risky practices like hardcoded autoload access, circular class_name dependencies, missing types, and test pollution, and suggests safe alternatives and code idioms.
When to use it
- Writing new GDScript features or game systems
- Refactoring existing Godot scripts to be test-friendly
- Configuring exported properties and editor-facing values
- Implementing signal-based event flows and node references
- Diagnosing circular dependencies or autoload issues
Best practices
- Annotate all function parameters and return types; annotate variables and constants
- Prefix private properties with an underscore and expose read-only getters
- Cache node references with @onready instead of repeated get_node calls
- Connect signals using callable syntax and prefer emit for decoupled events
- Access autoloads safely by checking /root existence to avoid null errors
- Keep test logic out of production code; separate via interfaces or test-only hooks
Example use cases
- Converting loose-typed movement code into fully-annotated, testable functions
- Refactoring a manager/player circular dependency using delayed binding or generic Node parameters
- Defining editor-configurable gameplay values with @export and organized export groups
- Replacing repeated get_node calls with @onready cached references for performance
- Implementing health and death flows with signals to decouple UI, audio, and gameplay
FAQ
No. Avoid class_name when it creates circular dependencies between scripts; prefer extends and delayed binding or base-class interfaces instead.
When is an object pool appropriate in Godot?
Usually unnecessary due to reference counting and scene instancing; only consider pooling for proven performance hotspots after profiling.