godot-signal-architecture — Claude Code skill for Godot signals
A skill with signal architecture rules for Godot: when to emit, when to call directly, how to build an event bus. Handy for wiring nodes and untangling connections.
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-signal-architecture -a claude-codeWhat godot-signal-architecture does
The skill enforces a "Signal Up, Call Down" pattern. Children report upward with past-tense signals like died or health_changed, parents command downward through direct calls. Siblings talk via a parent mediator or a scoped AutoLoad bus.
Inside are sample scripts: signal_up_call_down_pattern.gd for hierarchy wiring, global_signal_bus_router.gd for cross-scene events, disconnect_ghost_signals.gd when switching tracked emitters, and one_shot_deferred_connections.gd for one-shot and deferred flags. Debug helpers signal_debugger.gd and signal_spy.gd are included too.
Watch out: lambdas that capture locals are not auto-disconnected by Godot, so you must disconnect them manually in _exit_tree(). Connecting the same Callable twice without CONNECT_REFERENCE_COUNTED throws ERR_INVALID_PARAMETER. For high-frequency data the skill suggests shared arrays or buffers instead of emit().
What it helps with
- Decouple nodes in a hierarchy without hard references
- Set up a global AutoLoad event bus
- Clean up duplicate and ghost connections
- Sequence async steps with await on signals
- Trace which emitter fired a signal
Example prompts for the agent
- Design player-to-UI communication with signals using signal up, call down
- Build a global event bus on AutoLoad for achievements and saves
- Find duplicate connects and ghost connections in my code, then suggest fixes
How to install godot-signal-architecture
1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-signal-architecture -a claude-code2Manually: put the files in place
~/.claude/skills/godot-signal-architecture/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/godot-signal-architecture/
1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-signal-architecture -a codex2Manually: put the files in place
.agents/skills/godot-signal-architecture/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-signal-architecture -a cursor2Manually: put the files in place
.cursor/skills/godot-signal-architecture/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install thedivergentai/Game-Dev-Agentic-Skills godot-signal-architecture2Manually: put the files in place
.github/skills/godot-signal-architecture/SKILL.md1Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-signal-architecture -a gemini-cli2Platform CLI
gemini skills install https://github.com/thedivergentai/Game-Dev-Agentic-Skills --path skills/godot-signal-architectureManually: put the files in place
.devin/skills/godot-signal-architecture/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-signal-architecture -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-signal-architecture
How do I install godot-signal-architecture in Claude Code?
Run npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-signal-architecture -a claude-code. The skill lands in ~/.claude/skills/godot-signal-architecture/SKILL.md.
What does godot-signal-architecture do?
It sets signal rules for Godot: children emit past-tense events upward, parents call downward, siblings go through a mediator or AutoLoad bus. The skill ships scripts for common cases like one-shot connections, disconnecting old targets, and debugging.
How does CONNECT_REFERENCE_COUNTED behave?
It stacks identical connects into one connection with a reference count, so N connects need N disconnects. It does not auto-clean on free and does not fix capturing-lambda leaks.