godot-resource-data-patterns — Claude Code skill for Godot data
A Godot skill that steers your agent toward Resource and RefCounted patterns for item databases, character stats and reusable data.
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-resource-data-patterns -a claude-codeWhat godot-resource-data-patterns does
The skill lays out data-oriented design in Godot: what belongs in a Resource, what fits RefCounted, and what should stay a plain variable. It ships a decision table plus scripts for named scenarios — resource_local_to_scene.gd, nested_resource_serialization.gd, resource_flyweight_caching.gd, resource_based_inventory.gd, resource_save_system.gd and more. The agent opens the matching file when your task lines up with a scenario.
The loudest warning is about shared .tres files. Change HP or mana on an instance without duplicate(true) or resource_local_to_scene and the edit reaches the asset on disk, so every user of that resource gets hit. Per-instance state therefore needs duplication or local-to-scene. Node references inside a Resource are another dead end — they cannot be serialized, so store NodePath or UID instead.
Past roughly 10,000 rows, individual .tres files lose to JSON or a binary format. Typed arrays like Array[ResourceClass] are treated as required, and heavy math in resource getters or setters is treated as a mistake. Install runs through npx skills add, and the file lands at ~/.claude/skills/godot-resource-data-patterns/SKILL.md.
What it helps with
- build an item database from Resource classes with typed arrays
- give each character its own mutable stats without touching the shared
.tres - serialize a nested Item → Weapon → StatusEffect tree
- share one enemy config across many entities through a cache
- check the
Errorreturned when saving resources
Example prompts for the agent
- make ItemData a Resource with @export and a typed array
- each character needs its own HP, leave the shared .tres alone
- save the nested resource tree with ResourceSaver and check the Error
How to install godot-resource-data-patterns
1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-resource-data-patterns -a claude-code2Manually: put the files in place
~/.claude/skills/godot-resource-data-patterns/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/godot-resource-data-patterns/
1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-resource-data-patterns -a codex2Manually: put the files in place
.agents/skills/godot-resource-data-patterns/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-resource-data-patterns -a cursor2Manually: put the files in place
.cursor/skills/godot-resource-data-patterns/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install thedivergentai/Game-Dev-Agentic-Skills godot-resource-data-patterns2Manually: put the files in place
.github/skills/godot-resource-data-patterns/SKILL.md1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-resource-data-patterns -a gemini-cli2Platform CLI
gemini skills install https://github.com/thedivergentai/Game-Dev-Agentic-Skills --path skills/godot-resource-data-patternsManually: put the files in place
.devin/skills/godot-resource-data-patterns/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-resource-data-patterns -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about godot-resource-data-patterns
How do I install godot-resource-data-patterns in Claude?
Run npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-resource-data-patterns -a claude-code. The skill then sits at ~/.claude/skills/godot-resource-data-patterns/SKILL.md.
What does godot-resource-data-patterns do?
It gives the agent rules for Godot data design with Resource and RefCounted: item databases, stats, nested resources, caching and serialization.
Why can't I edit values directly on a shared resource?
Without duplicate(true) or resource_local_to_scene the change lands in the shared .tres on disk, so every entity using it changes too.