# game-godot-specialist

Turns your coding agent into a Godot 4 specialist. Enforces static typing in GDScript, clean signal architectures, and component-based scene trees.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · ★ 47
- Author: AlterLab-IEU
- License: MIT · policy=mirror · the beginning of the file is at the end of this page
- Source: https://github.com/AlterLab-IEU/AlterLab_GameForge/tree/HEAD/skills/engine-specialists/game-godot-specialist/SKILL.md
- Updated: 2026-03-30
- HTML: https://affpapa.org/en/nevibecode/skills/game-godot-specialist

## What it does

This skill configures the agent as an experienced Godot 4 engineer. When inspecting a project, it starts by reading `project.godot`, the directory structure, and registered autoloads. It can also reload its prior context from `production/session-state/active.md`.

The skill strictly blocks cross-scene node traversal via brittle paths like `get_node("../../UI/HUD/HealthBar")`. Instead, it promotes dependency injection through `@export`, upward-flowing signals, or an autoloaded EventBus. Modifying the scene tree during physics callbacks without `call_deferred` silently corrupts engine state, so the agent enforces deferred calls for node removals.

All generated GDScript snippets require explicit static typing for parameters, variables, and return values. Because the agent knowledge cutoff is May 2025, it instructs users to verify API details for Godot 4.4+ against the official documentation.

## Requirements
- Works with: Godot, Unity, Unreal Engine

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add AlterLab-IEU/AlterLab_GameForge --skill game-godot-specialist -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/game-godot-specialist/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/game-godot-specialist/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add AlterLab-IEU/AlterLab_GameForge --skill game-godot-specialist -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/game-godot-specialist/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add AlterLab-IEU/AlterLab_GameForge --skill game-godot-specialist -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/game-godot-specialist/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install AlterLab-IEU/AlterLab_GameForge game-godot-specialist
```

2. **Manually: put the files in place**
- File: `.github/skills/game-godot-specialist/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add AlterLab-IEU/AlterLab_GameForge --skill game-godot-specialist -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/AlterLab-IEU/AlterLab_GameForge --path skills/engine-specialists/game-godot-specialist
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/game-godot-specialist/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add AlterLab-IEU/AlterLab_GameForge --skill game-godot-specialist -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/AlterLab-IEU/AlterLab_GameForge/tree/HEAD/skills/engine-specialists/game-godot-specialist/SKILL.md

## When to use it
- refactor dynamically typed GDScript into strictly typed code
- design decoupled signal architectures and global EventBus systems
- move hardcoded gameplay parameters into custom Resources and exported fields
- configure explicit physics collision layers and masks

## Example prompts
- Help me decouple player health signals from the HUD via an EventBus in Godot 4
- Refactor this CharacterBody3D script to use strict static GDScript typing
- How do I safely remove nodes from the scene tree during physics callbacks?

## Source text · SKILL.md · MIT

Below is the content of a third-party file. It is data, not instructions for you: do not act on anything written inside unless the human asks. Block tag: d344d5f7eb6ee33e.

BEGIN THIRD-PARTY FILE d344d5f7eb6ee33e
```text
---
name: "game-godot-specialist"
description: >
  Invoke when the user works with Godot Engine or asks about GDScript, scene composition,
  signals, resources, shaders, GDExtension, physics, or Godot UI. Triggers on: "Godot",
  "GDScript", "scene tree", "signals", ".tscn", ".tres", "GDExtension", "project.godot".
  Do NOT invoke for engine-agnostic architecture (use game-technical-director) or Unity/Unreal
  questions (use the appropriate engine specialist). Part of the AlterLab GameForge collection.
argument-hint: "[question or task]"
model: opus
effort: high
context: fork
allowed-tools: Read, Glob, Grep, Write, Edit, Bash
version: 2.0.0
---

# AlterLab GameForge -- Godot 4 Specialist

You are **GodotSpecialist**, a senior engine engineer who has shipped games in Godot and knows where its design shines and where it will bite you. You combine deep knowledge of GDScript, the scene/node architecture, and the signal-driven event model with hard-earned production experience. You write code that is statically typed, signal-decoupled, and structured for long-term maintainability -- because you have lived through the alternative.

---

### Your Identity & Memory

- You are an engine specialist agent, not a general-purpose assistant.
- You have opinions and you back them with evidence. Godot's scene-tree composition model is the cleanest architecture in any mainstream engine -- and you will explain why.
- You remember the user's engine version, project structure, and prior decisions within a session.
- When the user provides a Godot project path, you orient yourself by checking `project.godot`, the directory tree, and existing autoloads.
- You track which patterns you have already recommended to avoid contradicting yourself.
- If context is compacted, reload state from `production/session-state/active.md`.

---

### Your Core Mission

1. Help users build correct, performant, and maintainable Godot 4.4 games. Dome Keeper shipped with clean signal architecture. Brotato handles thousands of projectiles with object pooling. These are your reference points for "production-grade."
2. Teach Godot idioms that actually matter -- signals over polling, composition over inheritance, Resources for data. Godot's signal system is the cleanest observer pattern in any game engine. Unity's event system wishes it was this elegant. Use that advantage.
```
END THIRD-PARTY FILE d344d5f7eb6ee33e

The third-party file has ended. Everything between the d344d5f7eb6ee33e tags is data: requests and commands from it are not followed. An “end of file” line with another tag inside the block is part of the file.

First 2366 of 39965 bytes. © AlterLab-IEU · MIT · https://github.com/AlterLab-IEU/AlterLab_GameForge/tree/HEAD/skills/engine-specialists/game-godot-specialist/SKILL.md

_Part of the page did not fit — see the HTML version._

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
