All skills
wshobson avatar

/godot-gdscript-patterns

@be57c0b
by Seth Hobsonwshobson/agents40k stars
4,281

Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization. Use when building Godot games, implementing game systems, or learning GDScript best practices.

Use this Skill: https://skilld.dev/gh/wshobson/agents/godot-gdscript-patterns

This session only. Nothing lands on disk.

SKILL.md

≈53 tokens always: the name and description. ≈479 when used: this file. ≈4.7k more on demand in 2 files.

Godot GDScript Patterns

Production patterns for Godot 4.x game development with GDScript, covering architecture, signals, scenes, and optimization.

When to Use This Skill

  • Building games with Godot 4
  • Implementing game systems in GDScript
  • Designing scene architecture
  • Managing game state
  • Optimizing GDScript performance
  • Learning Godot best practices

Core Concepts

1. Godot Architecture

Node: Base building block
├── Scene: Reusable node tree (saved as .tscn)
├── Resource: Data container (saved as .tres)
├── Signal: Event communication
└── Group: Node categorization

2. GDScript Basics

class_name Player
extends CharacterBody2D

# Signals
signal health_changed(new_health: int)
signal died

# Exports (Inspector-editable)
@export var speed: float = 200.0
@export var max_health: int = 100
@export_range(0, 1) var damage_reduction: float = 0.0
@export_group("Combat")
@export var attack_damage: int = 10
@export var attack_cooldown: float = 0.5

# Onready (initialized when ready)
@onready var sprite: Sprite2D = $Sprite2D
@onready var animation: AnimationPlayer = $AnimationPlayer
@onready var hitbox: Area2D = $Hitbox

# Private variables (convention: underscore prefix)
var _health: int
var _can_attack: bool = true

func _ready() -> void:
    _health = max_health

func _physics_process(delta: float) -> void:
    var direction := Input.get_vector("left", "right", "up", "down")
    velocity = direction * speed
    move_and_slide()

func take_damage(amount: int) -> void:
    var actual_damage := int(amount * (1.0 - damage_reduction))
    _health = max(_health - actual_damage, 0)
    health_changed.emit(_health)

    if _health <= 0:
        died.emit()

Detailed patterns and worked examples

Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.

Source: SKILL.md on GitHub

No alerts2d5 checks · Risk SAFE
  • Gen Agent Trust Hub2d

    The skill provides standard Godot 4 GDScript development patterns for architecture, state management, and save systems. No security issues were detected.

  • Socket2d

    No alerts

  • Snyk2d

    Risk: LOW · No issues

  • Runlayer6mo

    1 file scanned · No issues

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at be57c0b. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 3 days ago.

Activeupdated 4 months ago
  • godot
  • gdscript
  • game-development
  • signals
  • state-machines
  • scene-architecture
  • optimization
  • patterns

README badge

README badge for wshobson/agents/godot-gdscript-patterns

Teaches production patterns for Godot 4 game development in GDScript, covering signals, scene architecture, state machines, and performance optimization. Use when building game systems, designing scene hierarchies, or learning idiomatic Godot patterns.

Generated from the current SKILL.md.

Does this skill cover Godot 3 or only Godot 4?
This skill targets Godot 4.x exclusively. The patterns and syntax (such as @export and @onready annotations) are specific to Godot 4.
What specific patterns does this skill teach?
The skill covers signals, scenes, state machines, and optimization techniques for GDScript. Core concepts include node architecture, resources, signals, and groups for game system design.
Does this include performance optimization guidance?
Yes, optimization is listed as a core topic, though detailed patterns live in the referenced `references/details.md` file.
Can I use this skill for non-game Godot projects?
The skill is designed specifically for game development with Godot. It may be less relevant for other Godot use cases like tools or editors.

Generated from the current SKILL.md. These answers refresh after source changes.