Back to the catalog

godot

Generate production-ready GDScript 2.0 for Godot 4.3+ with strict static typing, official style guide compliance, and modern architecture pa

Open source Open in the app JSON README (API)

About

Generate production-ready GDScript 2.0 for Godot 4.3+ with strict static typing, official style guide compliance, and modern architecture patterns.

Details

Kind
Plugins
Topic
Media, design & games
Publisher
shihabshahrier
Origin
gemini
Category
ferramentas
Version
1.0.0
Stars
1
Last push
2026-06-12T23:45:08Z
Repository state
ativo
Language
Shell
Added
2026-08-30 14:13:39
Updated
2026-08-30 14:13:39
Origin id
shihabshahrier/godot-skill

README

# Godot Skill

An AI agent skill that transforms coding assistants into expert Godot 4.3+ game development assistants. Generates production-ready GDScript 2.0 with strict static typing, official style guide compliance, and modern architecture patterns.

Works with **Claude Code, Cursor, Windsurf, Cline, Copilot, Codex, Gemini CLI, opencode, Amp, Goose, Kiro, and OpenClaw**.

## What It Does

- Writes **GDScript 2.0 only** — actively prevents Godot 3 syntax, deprecated APIs, and common AI hallucinations
- Enforces **strict static typing** on every variable, parameter, and return type
- Follows the **official GDScript style guide** — naming conventions, code ordering (17-step rule), formatting
- Applies **modern architecture patterns** — signals ("call down, signal up"), composition over inheritance, data-driven Resources, state machines
- Knows **TileMapLayer** (not deprecated TileMap), **FileAccess/DirAccess** (not File/Directory), modern tweens, Callable-based signal connections
- Outputs **code blocks only** with minimal architectural rationale — no filler

## Installation

### Quick Install (all agents)

```bash
bash install.sh
```

This installs the skill to all supported agent paths at once.

### Claude Code Plugin Marketplace

```bash
npx add-skill shihabshahrier/Godot-Skill
```

### Manual Installation (per agent)

```bash
# Claude Code
mkdir -p ~/.claude/skills/godot
cp -r skills/godot/. ~/.claude/skills/godot/

# Codex / Amp / Goose / Kiro
mkdir -p ~/.agents/skills/godot
cp -r skills/godot/. ~/.agents/skills/godot/

# opencode
mkdir -p ~/.config/opencode/skills/godot
cp -r skills/godot/. ~/.config/opencode/skills/godot/

# Gemini CLI
mkdir -p ~/.gemini/antigravity/skills/godot
cp -r skills/godot/. ~/.gemini/antigravity/skills/godot/

# OpenClaw
mkdir -p ~/.openclaw/workspace/skills/godot
cp -r skills/godot/. ~/.openclaw/workspace/skills/godot/
```

### Cursor / Windsurf / Cline / Copilot

Clone this repo into your project or copy the relevant config files:

| Agent | Config file | Auto-loaded |
|-------|------------|-------------|
| Cursor | `.cursor/rules/godot.mdc` | When Godot tasks detected |
| Windsurf | `.windsurf/rules/godot.md` | Manual trigger |
| Cline | `.clinerules/godot.md` | Always injected |
| Copilot | `.github/copilot-instructions.md` | Always injected |

## Agent Support

| Agent | How it loads the skill | Config files |
|-------|----------------------|--------------|
| Claude Code | Plugin system (`skills/godot/SKILL.md`) | `plugin.json`, `marketplace.json` |
| Cursor | Rules + skills directory | `.cursor/rules/godot.mdc`, `.cursor/skills/godot/` |
| Windsurf | Rules + skills directory | `.windsurf/rules/godot.md`, `.windsurf/skills/godot/` |
| Cline | Auto-injected rules | `.clinerules/godot.md` |
| GitHub Copilot | Repo-wide instructions | `.github/copilot-instructions.md` |
| OpenAI Codex | Hooks + AGENTS.md | `.codex/`, `agents/openai.yaml`, `AGENTS.md` |
| Gemini CLI | Extension + context file | `gemini-extension.json`, `GEMINI.md` |
| opencode (SST) | AGENTS.md / CLAUDE.md | `AGENTS.md`, `CLAUDE.md` |
| Amp / Goose / Kiro | Skills directory | `~/.agents/skills/godot/` via `install.sh` |
| OpenClaw | Skills directory | `~/.openclaw/workspace/skills/godot/` via `install.sh` |

## Repo Structure

```
Godot-Skill/
├── skills/godot/
│   ├── SKILL.md                         # Main skill (source of truth)
│   └── references/
│       ├── gdscript-style-guide.md      # Naming, formatting, 17-step ordering
│       ├── godot4-syntax.md             # Deprecation map, migration patterns
│       ├── architecture-patterns.md     # Signals, state machines, composition
│       └── common-systems.md            # TileMapLayer, FileAccess, Resources, UI
├── .claude-plugin/
│   ├── plugin.json                      # Claude Code plugin metadata
│   └── marketplace.json                 # Marketplace listing
├── .cursor/
│   ├── rules/godot.mdc                  # Cursor rule (condensed)
│   └── skills/godot/                    # Cursor skills copy
├── .windsurf/
│   ├── rules/godot.md                   # Windsurf rule (condensed)
│   └── skills/godot/                    # Windsurf skills copy
├── .clinerules/godot.md                 # Cline rule (condensed)
├── .github/copilot-instructions.md      # Copilot instructions (condensed)
├── .codex/
│   ├── config.toml                      # Codex feature flags
│   └── hooks.json                       # Codex session hooks
├── agents/openai.yaml                   # Codex display config
├── AGENTS.md                            # Codex / opencode / Amp / Goose include
├── CLAUDE.md                            # Claude Code / opencode project context
├── GEMINI.md                            # Gemini CLI include
├── gemini-extension.json                # Gemini CLI extension config
├── install.sh                           # Universal installer (all agents)
└── README.md
```

## What It Prevents

| Common AI Mistake | This Skill Enforces |
|---|---|
| `yield(obj, "signal")` | `await obj.signal` |
| `emit_signal("name")` | `signal_name.emit()` |
| String-based `connect()` | Callable-based connections |
| `TileMap` node | `TileMapLayer` node |
| `File` / `Directory` classes | `FileAccess` / `DirAccess` |
| Dynamic typing | Strict static typing with `:=` and `-> Type` |
| `deg2rad` / `rand_range` etc. | `deg_to_rad` / `randf_range` etc. |
| camelCase / Hungarian notation | Official snake_case / PascalCase conventions |
| God objects / tight coupling | Composition, signals, Resource separation |
| Autoload overuse | Static classes when no node lifecycle needed |

## Triggers

The skill activates when you mention anything related to Godot development:

- "Create a Godot game"
- "Write a player controller in GDScript"
- "Build a state machine for enemy AI"
- "Set up a save/load system"
- "Make a 2D platformer"
- "Implement tilemaps"
- Or any mention of Godot nodes, GDScript, or game mechanics

## Architecture Decisions

**SKILL.md under 500 lines** — core rules stay lean. Heavy reference material lives in `references/` and loads on demand.

**4 reference files** covering the complete Godot 4.3+ surface area:
1. **Style Guide** — naming/formatting/ordering rules
2. **Syntax** — complete Godot 3→4 deprecation map
3. **Architecture** — signals, state machines, composition, entity pattern
4. **Common Systems** — TileMapLayer, FileAccess, Resources, input, camera, UI

**Multi-agent by design** — same SKILL.md content adapted per agent's config format. Source of truth is always `skills/godot/SKILL.md`.

## License

MIT

---

📖 **Project page:** https://shihub.online/projects/godot-skill

More