# How I automated the boring part of game development with AI skills

> Source: <https://dev.to/abhishekbarali/how-i-automated-the-boring-part-of-game-development-with-ai-skills-2koa>
> Published: 2026-06-28 04:43:47+00:00

A few days ago I was adding a double jump to a Godot 4 project. My AI handed me this:

```
move_and_slide(velocity, Vector2.UP)
```

Looks fine. But that's the Godot 3 signature. In Godot 4 you set `velocity`

as a property and call `move_and_slide()`

with no arguments. The code didn't run.

This kept happening. Unity methods that don't exist. Bevy code written against a two-versions-old API. The AI isn't broken, it's just averaging over years of docs and old forum posts and picking the most common-looking code. Game engines move fast. The model doesn't know what version you're on.

I tried pasting a big "here's how Godot works" doc into the chat. It kind of helps. Mostly doesn't. A giant doc is expensive, buries the part you need, and still doesn't tell the agent which 200 words out of 5,000 apply to "add a double jump."

I built [awesome-gamedev-agent-skills](https://github.com/gamedev-skills/awesome-gamedev-agent-skills). It's 66 small focused skills plus a router that picks the right ones for you. Free, open source (Apache 2.0), one install:

```
npx skills add gamedev-skills/awesome-gamedev-agent-skills
```

Each "skill" is a small file with a name and a one-line description. The agent only reads the full body when that skill is actually needed. So you can have all 66 installed and your context stays tiny.

A router sits on top and does three things:

`project.godot`

means Godot, a `.uproject`

means Unreal, etc.)So "add a double jump to my Godot player" loads the Godot movement skill and the platformer skill. Nothing else. "Make an inventory for my Unity RPG" loads the ScriptableObjects skill, the RPG skill, and the save systems skill. Three small files instead of sixty-six.

| Category | What's in there |
|---|---|
| Engines (40) | Godot, Unity, Unreal, Phaser, PixiJS, three.js, Bevy, pygame, LOVE, Roblox |
| Disciplines (13) | game AI, procedural gen, save systems, shaders, game-feel, camera, performance |
| Genres (9) | platformer, roguelike, RPG, FPS, tower defense, card game, visual novel, survival, puzzle |
| Workflows (4) | game jam, Steam publish, itch publish, fast prototyping |

Every skill says which engine version it targets and sticks to it. Godot 4.x, Unity 6, Unreal 5.4+, PixiJS v8, and so on.

This is boring but it's the whole point. It caught real bugs while I was writing the skills. A Godot ray query that used `exclude = [self]`

when the field wants an array of RIDs. A .NET setup that was right for Godot 4.3 and wrong by 4.5.

Without pinning, you're just trusting the model to guess. With it, the code matches your version.

Since skills are just markdown files, the same set works in Claude Code, Cursor, Codex, Gemini CLI, Kiro, and anything else that reads the format. One install, no lock-in.

```
npx skills add gamedev-skills/awesome-gamedev-agent-skills
```

Point your agent at a real project and give it a game dev request. Watch what the router loads before it writes anything. If it picks the wrong skill or the code is out of date for your engine version, that's exactly the bug report I want.

Repo: [github.com/gamedev-skills/awesome-gamedev-agent-skills](https://github.com/gamedev-skills/awesome-gamedev-agent-skills)

It's early and the routing still has gaps on weird project setups. But it already writes a lot less broken engine code than a plain agent, which was the whole point.
