godot-gdscript-patterns
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
Skill by jwd83
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jwd83-godot-gdscript-patterns
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/godot-gdscript-patterns
What's inside
- Skill name
godot-gdscript-patterns- Description
- 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.
- License
- Unlicense
- Instructions
- 561 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- body: 561 lines (spec recommends under 500)
Files (2)
- SKILL.md
- advanced-patterns.md · references/
SKILL.md (first lines)
# 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
```gdscript
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()
```
## Patterns
### Pattern 1: State Machine
```gdscript
# state_machine.gd
class_name StateMachine
extends Node
signal state_changed(from_state: StringName, to_state: StringName)
@export var initial_state: State
var current_state: State
var states: Dictionary = {}
func _ready() -> void:
# Register all State children
for child in get_children():
if child is State:
states[child.name] = child
child.state_machine = self
child.process_mode = Node.PROCESS_MODE_DISABLED
# Start initial state
if initial_state:
current_state = initial_state
current_state.process_mode = Node.PROCESS_MODE_INHERIT
current_state.enter()
func _process(delta: float) -> void:
if current_state:
current_state.update(delta)
func _physics_process(delta: float) -> void:
if current_state:
current_state.physics_update(delta)
func _unhandled_input(event: InputEvent) -> void:
if current_state:
current_state.handle_input(event)
func transition_to(state_name: StringName, msg: Dictionary = {}) -> void:
if not states.has(state_name):
push_error("State '%s' not found" % state_name)
return
var previous_state := current_state
previous_state.exit()
previous_state.process_mode = Node.PROCESS_MODE_DISABLEDFrom jwd83/skills, Unlicense.
More from jwd83/skills
- 0.502score
local-wikipedia-search
jwd83
Search and read Jared's publicly hosted text-only English Wikipedia Kiwix/ZIM mirror at wiki.ayrscott.com.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
architectural-review
jwd83
Create and maintain a whole-project architectural review under the shared plans lifecycle: a dated markdown assessment with objective metrics, preserved…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
auto-research-repo
jwd83
Create, audit, maintain, ingest into, query, or draft from an auto-research repository using the shared project paths for immutable references, work notes, an…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
wiki-me
jwd83
Build or extend a project wiki using the shared project paths — a persistent, interlinked Markdown knowledge base under docs/wiki that the LLM incrementally…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
next-step
jwd83
Resume an in-progress codebase from its actual current state, identify the next smallest defensible implementation step, make that change, and update tests…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
project-layout
jwd83
Define and enforce the standard project paths for documentation, plans, notes, references, research, and publications.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
python-refactor
jwd83
Standalone Python refactoring skill for behavior-preserving cleanup using Python best practices.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
pygame-patterns
jwd83
Pygame-specific best practices, architecture patterns, and antipatterns for Python games.
SkillCFreshness: C★ 1Claude Code +9 - 0.472score
grill-with-docs
jwd83
Interview the user relentlessly about a plan or design.
SkillCFreshness: C★ 1Claude Code +9 - 0.464score
clumsy-ms-paint-redraw
jwd83
Redraw the attached image in the most clumsy, scribbly, and utterly pathetic way possible.
SkillCFreshness: C★ 1Claude Code +9 - 0.429score
simplify
jwd83
Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality.
SkillDFreshness: D★ 1Claude Code +9 - 0.427score
system-verilog-expert
jwd83
Expert SystemVerilog guidance for RTL, interfaces, and verification-adjacent code with EDA-friendly design patterns.
SkillDFreshness: D★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Apr 19, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Unlicense
- Repository
- github.com/jwd83/skills
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jwd83
- 0.502score
local-wikipedia-search
jwd83
Search and read Jared's publicly hosted text-only English Wikipedia Kiwix/ZIM mirror at wiki.ayrscott.com.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
next-step
jwd83
Resume an in-progress codebase from its actual current state, identify the next smallest defensible implementation step, make that change, and update tests…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
architectural-review
jwd83
Create and maintain a whole-project architectural review under the shared plans lifecycle: a dated markdown assessment with objective metrics, preserved…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
pygame-patterns
jwd83
Pygame-specific best practices, architecture patterns, and antipatterns for Python games.
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
auto-research-repo
jwd83
Create, audit, maintain, ingest into, query, or draft from an auto-research repository using the shared project paths for immutable references, work notes, an…
SkillCFreshness: C★ 1Claude Code +9 - 0.497score
project-layout
jwd83
Define and enforce the standard project paths for documentation, plans, notes, references, research, and publications.
SkillCFreshness: C★ 1Claude Code +9
Cite this page
godot-gdscript-patterns skill. Agent Mart. https://agentmart.dev/skills/jwd83-godot-gdscript-patterns (last updated 2026-10-24)