Agent skill

Godot Signal Architecture

by thedivergentai in thedivergentai/GD-Agentic-Skills

Expert blueprint for signal-driven architecture using "Signal Up, Call Down" pattern for loose coupling.

LGPL-3.0Auto-check passedGame Development

Install Godot Signal Architecture

skills CLI
$ npx skills add thedivergentai/GD-Agentic-Skills --skill godot-signal-architecture -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install thedivergentai/GD-Agentic-Skills godot-signal-architecture --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/thedivergentai/GD-Agentic-Skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/godot-signal-architecture .claude/skills/godot-signal-architecture && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
godot-signal-architecture
GitHub stars
821
Token cost
~3k tokens
SKILL.md length
902 words
Files
16 (incl. scripts, references)
Skills in repo
98
Repo updated
First seen
Licence
LGPL-3.0

At a glance

Expert blueprint for signal-driven architecture using "Signal Up, Call Down" pattern for loose coupling.

  • Implementing event systems OR decoupling nodes
  • SKILL.md covers NEVER Do in Signal Architecture, Signal Up / Call Down, Decision Tree: Where to Connect and Available Scripts, plus 4 more sections
  • Tasks that involve Game development
  • Tasks that involve Event-driven systems

What it does

Godot Signal Architecture is an agent skill from thedivergentai/GD-Agentic-Skills. Expert blueprint for signal-driven architecture using "Signal Up, Call Down" pattern for loose coupling. Covers typed signals, signal chains, one-shot connections, and AutoLoad event buses. Use when implementing event systems OR decoupling nodes. Keywords signal, emit, connect, CONNECTONESHOT, CONNECTREFERENCECOUNTED, event bus, AutoLoad, decoupling.

Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 17 other files, including scripts and reference files (for example `references/implementation-patterns.md` and `references/migration-notes.md`).

It sits in Game Development, covering Game development and Event-driven systems. It works with Godot. The repository describes itself as: The official "Long-Term Memory" for Godot 4.7+ AI Agents. A high-density library of 99 expert skills and 27 genre blueprints, providing audited, strictly typed GDScript patterns… The licence is LGPL-3.0.

When your agent uses it

  • Implementing event systems OR decoupling nodes
  • Tasks that involve Game development
  • Tasks that involve Event-driven systems

Example prompts

  • “Signal Up, Call Down”
  • “/godot-signal-architecture”

What it can do on your machine

Read from SKILL.md and the folder at commit 4c4d0ff. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 13 files in scripts/, which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.godotengine.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Godot Signal Architecture loads about 3k tokens when it runs, and up to ~4.5k if it reads all its reference files. Until then it costs about 96 tokens; SKILL.md has 902 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~96
When it runs · the whole SKILL.md, loaded when a task matches
~3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from thedivergentai/GD-Agentic-Skills at commit 4c4d0ff, republished under its LGPL-3.0 licence (© thedivergentai). 902 words, ~3,039 tokens.

Download SKILL.mdSave it as .claude/skills/godot-signal-architecture/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.
name
godot-signal-architecture
description
Expert blueprint for signal-driven architecture using "Signal Up, Call Down" pattern for loose coupling. Covers typed signals, signal chains, one-shot connections, and AutoLoad event buses. Use when implementing event systems OR decoupling nodes. Keywords signal, emit, connect, CONNECT_ONE_SHOT, CONNECT_REFERENCE_COUNTED, event bus, AutoLoad, decoupling.

NEVER Do in Signal Architecture

  • NEVER use the legacy string-based Object.connect() — Typos result in silent failures. Always use signal.connect(_callback) for compile-time validation.
  • NEVER use signals to dictate behavior top-down — Signals are past-tense events (e.g., "died"). Use direct method calls for commands (e.g., "kill").
  • NEVER connect a signal twice to the same Callable — This throws an ERR_INVALID_PARAMETER at runtime unless using the Object.CONNECT_REFERENCE_COUNTED flag to stack connections.
  • NEVER use a Global Signal Bus for local data — Pollutes global state and makes debugging harder. Use local connections for scene-specific logic.
  • NEVER assume callbacks must accept all signal arguments — Use unbind() to drop unwanted parameters and keep your API clean.
  • NEVER create circular signal dependencies — A signals B, B signals back to A? Use a mediator (parent or AutoLoad) to break the loop.
  • NEVER skip signal typing — signal moved without types lacks editor support. Always use signal moved(dir: Vector2).
  • NEVER forget to disconnect dynamic signals — Ghost connections cause "call on null instance" errors. Disconnect in _exit_tree() or when retargeting (disconnect_ghost_signals.gd).
  • NEVER emit signals with immediate side effects on the emitter — If died.emit() calls queue_free(), listeners might fail to respond. Emit first.
  • NEVER use signals for high-frequency data streams — Sending 1000+ signals/second (like per-particle updates) is inefficient. Use shared arrays or direct buffers.

Signal Up / Call Down

  • Children → parents: past-tense signals (health_changed, died).
  • Parents → children: direct calls / properties (apply_damage, play_anim).
  • Siblings: parent mediator or carefully scoped Autoload bus — never sibling hard refs.

Use signals for: UI presses, death → game over, loot → inventory, cross-scene bus events. Use direct calls for: parent commanding child, local property access.

Decision Tree: Where to Connect

ScopePatternMANDATORY script
Child notifies parent / UILocal signal.connect in parent _readysignal_up_call_down_pattern.gd
Parent orchestrates childrenMethod calls down (not signals)same
Cross-scene / systems (achievements, save)Autoload busglobal_signal_bus_router.gd / global_event_bus.gd
Linear async steps (load → fade → spawn)await signal sequenceawait_signal_sequencing.gd / complex_signal_sequencer.gd
Retarget tracking (new enemy)Disconnect old firstdisconnect_ghost_signals.gd
One-shot / physics-safeCONNECT_ONE_SHOT / CONNECT_DEFERREDone_shot_deferred_connections.gd
Extra context / drop argsCallable.bind / unbindcallable_bind_context.gd / unbind_unwanted_args.gd

Available Scripts

Lambda Capture Cleanup (complete)

Godot auto-disconnects most connections when a node frees. Exception: lambdas that capture locals — you must disconnect manually.

gdscript
var my_lambda: Callable

func _ready() -> void:
    var x := 10
    my_lambda = func(): print(x)
    player.died.connect(my_lambda)

func _exit_tree() -> void:
    if player and player.died.is_connected(my_lambda):
        player.died.disconnect(my_lambda)

Prefer named methods or disconnect_ghost_signals.gd when retargeting.

CONNECT_REFERENCE_COUNTED — Correct Semantics

CONNECT_REFERENCE_COUNTED means multiple identical connects share one connection with a refcount (connect N times / disconnect N times). It is not "auto-cleanup when the emitter frees" and does not fix capturing-lambda leaks.

  • Auto-cleanup on free: normal connections to Object methods (non-capturing) are cleared when either side is freed.
  • Capturing lambdas: always manual disconnect (see above).
  • One-shot auto-remove after fire: CONNECT_ONE_SHOT.

Deep recipes (on demand)

LLM-ignorance rule: if a general agent would not know it before reading, it lives here or in scripts/ — never delete, only move.

TopicReference
Patterns 1–7 + gotchasimplementation-patterns.md

Reference

Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.

Show full SKILL.md (381 more words)Show less
Official Documentation
  • Using signals — Core emit/connect model and why signals decouple nodes without hard references.
  • Scene organization — Canonical “signal up, call down” ownership rules that keep parent→child command flows explicit.
  • Instancing with signals — Emit from spawned scenes so parents/managers receive bullets, loot, and other products without fixed node paths.
  • Autoloads versus regular nodes — When a global EventBus is justified vs when scene-local signal wiring is safer.
  • Singletons (Autoload) — How to register a typed signal bus that survives scene changes.
  • Signal — Typed Signal API: emit, connect, is_connected, and disconnect helpers used throughout this skill.
  • Callable — bind() / unbind() for injecting or discarding callback context without wrapper lambdas.
  • Object — CONNECT_ONE_SHOT, CONNECT_DEFERRED, CONNECT_REFERENCE_COUNTED, and CONNECT_APPEND_SOURCE_OBJECT flags.
  • GDScript basics — Typed signal declarations and await on signals for linear async sequences.
  • Using SceneTree — Connection lifetime across enter/exit tree and why dynamic listeners must disconnect when retargeting.
  • Godot notifications — Safe connection timing relative to _ready, parent caches, and user signals.
  • Idle and Physics Processing — Why deferred signal handlers matter when callbacks mutate physics bodies mid-step.
Prerequisites
  • godot-project-foundations — Project layout, Autoload registration, and scene ownership conventions signals plug into.
  • godot-gdscript-mastery — Typed Callables, await, and signal syntax required before advanced connect flags and sequencers.
  • godot-autoload-architecture — Singleton boot order and ownership rules for global EventBus routers (not for local scene events).
Complements
  • godot-composition — Component nodes emit past-tense events; parents compose by connecting those signals and calling down.
  • godot-scene-management — Scene swaps and loaders must reconnect or re-emit through buses without ghost listeners.
  • godot-state-machine-advanced — State enter/exit often drives signal fan-out; keeps FSM transitions from becoming circular signal graphs.
  • godot-resource-data-patterns — Prefer Resources for shared config; signals carry change events, not duplicated mutable state blobs.
  • godot-testing-patterns — watch_signals / spies pair with this skill’s emit contracts for unit and integration tests.
  • godot-ui-containers — Buttons and menus should signal intent upward; controllers call down to update Control trees.
Downstream / consumers
  • godot-dialogue-system — Line/choice completion events should follow signal-up orchestration into UI and quest listeners.
  • godot-ability-system — Cooldown, cast, and hit payloads need typed signals so HUD/VFX stay decoupled from ability nodes.
  • godot-combat-system — Damage/death/score chains are the classic signal-up fan-out into UI, audio, and progression.
  • godot-performance-optimization — Escalate when high-frequency emit storms show up; replace per-tick signals with buffers or direct reads.
Master
  • godot-master — Library router and mirrored module entry; open when discovering which Domain Skill owns a cross-cutting architecture concern.

© thedivergentai, LGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 15 other files (scripts, references) in skills/godot-signal-architecture of thedivergentai/GD-Agentic-Skills.

  • SKILL.md
  • references/implementation-patterns.md
  • references/migration-notes.md
  • scripts/await_signal_sequencing.gd
  • scripts/callable_bind_context.gd
  • scripts/complex_signal_sequencer.gd
  • scripts/disconnect_ghost_signals.gd
  • scripts/global_event_bus.gd
  • scripts/global_signal_bus_router.gd
  • scripts/one_shot_deferred_connections.gd
  • scripts/safe_dynamic_connections.gd
  • scripts/signal_debugger.gd
  • scripts/signal_spy.gd
  • scripts/signal_up_call_down_pattern.gd
  • scripts/track_signal_emitter_source.gd
  • scripts/unbind_unwanted_args.gd

Open the folder on GitHubat commit 4c4d0ff

Compare with similar skills

Godot Signal Architecture next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Godot Signal Architecture compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Godot Signal Architecture this skillthedivergentai/GD-Agentic-Skills821—~3kAutomated safety check: PassLGPL-3.0
Csharp Signalsjame581/GodotPrompter805—~2.4kAutomated safety check: PassMIT
Event Busjame581/GodotPrompter805—~2.8kAutomated safety check: PassMIT
Godot Gdscript Patterns925236118/AlphaAgent10310 repos~5kAutomated safety check: PassMIT
2D Map and Scene Generator0x0funky/agent-sprite-forge4.4k—~2.9kAutomated safety check: PassMIT
Godot UI Integrationzimo-xiao-zheng/godot-ui-integration285—~1.5kAutomated safety check: PassMIT

Similar skills

  • Csharp Signals

    jame581/GodotPrompter

    A skill your agent uses when implementing signals in C — [Signal] delegates, EmitSignal patterns, async signal awaiting, and event-driven architecture

    805 GitHub stars~2.4k tokensUpdated 2 days ago
    Game DevelopmentAuto-check passed
  • Event Bus

    jame581/GodotPrompter

    A skill your agent uses when implementing decoupled communication between nodes — global EventBus autoload with typed signals

    805 GitHub stars~2.8k tokensUpdated 2 days ago
    Game DevelopmentAuto-check passed
  • Godot Gdscript Patterns

    925236118/AlphaAgent

    Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.

    103 GitHub starsUsed in 10 repos~5k tokens
    Game DevelopmentAuto-check passed
  • 2D Map and Scene Generator

    0x0funky/agent-sprite-forge

    Plans and builds 2D game maps and scenes, from tilemaps and parallax backgrounds to HD-2D plates, with collision checks, a playable HTML preview and Tiled, Godot or LDtk export.

    4.4k GitHub stars~2.9k tokensUpdated 5 days ago
    Game DevelopmentAuto-check passed
  • Godot UI Integration

    zimo-xiao-zheng/godot-ui-integration

    Build or revise Godot UI from an approved design, separated art, or a visual reference when scene structure, gameplay binding, and runtime visual verification all matter.

    285 GitHub stars~1.5k tokensUpdated 1 mo ago
    Game DevelopmentAuto-check passed
  • Godot Wechat Minigame Adapter

    godothub/godot-minigame

    Apply the bundled self-contained Godot WeChat Mini Game adapter kit to an official Godot checkout.

    187 GitHub stars~1.5k tokensUpdated 25 days ago
    Game DevelopmentAuto-check passed

More from thedivergentai/GD-Agentic-Skills

All 98 skills in this repo
  • Godot 2D Animation

    thedivergentai/GD-Agentic-Skills

    Expert patterns for 2D animation in Godot using AnimatedSprite2D and skeletal cutout rigs.

    821 GitHub stars~3.6k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot 3D World Building

    thedivergentai/GD-Agentic-Skills

    Expert patterns for 3D level design using GridMap with MeshLibrary, CSG constructive solid geometry, occlusion, and runtime GridMap builders.

    821 GitHub stars~3.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot Adapt 2D To 3D

    thedivergentai/GD-Agentic-Skills

    Expert patterns for migrating 2D games to 3D including node type conversions, camera systems (third-person, first-person, orbit), physics layer migration, sprite-to-model art pipeline, and control…

    821 GitHub stars~4.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot Adapt 3D To 2D

    thedivergentai/GD-Agentic-Skills

    Expert patterns for simplifying 3D games to 2D including dimension reduction strategies, 2.5D fake-depth, isometric ports, camera flattening, physics conversion, 3D-to-sprite art pipeline, and…

    821 GitHub stars~4.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot Agent Vision

    thedivergentai/GD-Agentic-Skills

    Agentic eyes for Godot work: cross-platform screenshot CLI (asset/region/window/screen) to budgeted WebP, TEMP editor viewport bridge under .gdskills/, and Taste Receptor Atlas v2 (~237…

    821 GitHub stars~3.5k tokensUpdated 1 mo ago
    Auto-check passed
  • Godot Animation Tree Mastery

    thedivergentai/GD-Agentic-Skills

    Expert patterns for AnimationTree including StateMachine transitions, BlendSpace2D for directional movement, BlendTree for layered animations, root motion, transition conditions, advance…

    821 GitHub stars~3.6k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Questions about Godot Signal Architecture

What does Godot Signal Architecture do?

Expert blueprint for signal-driven architecture using "Signal Up, Call Down" pattern for loose coupling. Godot Signal Architecture is an agent skill from thedivergentai/GD-Agentic-Skills. Expert blueprint for signal-driven architecture using "Signal Up, Call Down" pattern for loose coupling.

When should I use Godot Signal Architecture?

Godot Signal Architecture fits situations like: implementing event systems OR decoupling nodes; tasks that involve Game development; tasks that involve Event-driven systems.

How do I install Godot Signal Architecture in Claude Code?

Run `npx skills add thedivergentai/GD-Agentic-Skills --skill godot-signal-architecture -a claude-code`. Or copy the skill folder (skills/godot-signal-architecture in thedivergentai/GD-Agentic-Skills) into .claude/skills/godot-signal-architecture in your project. Claude Code loads it when a task matches its description.

How do I install Godot Signal Architecture in Codex?

Run `npx skills add thedivergentai/GD-Agentic-Skills --skill godot-signal-architecture -a codex`. Or copy the skill folder (skills/godot-signal-architecture in thedivergentai/GD-Agentic-Skills) into .agents/skills/godot-signal-architecture in your project. Codex loads it when a task matches its description.

Can I use Godot Signal Architecture in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add thedivergentai/GD-Agentic-Skills --skill godot-signal-architecture -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/godot-signal-architecture, .gemini/skills/godot-signal-architecture, .github/skills/godot-signal-architecture and .opencode/skills/godot-signal-architecture in your project.

What does Godot Signal Architecture need to run?

SKILL.md names no scripts, command-line tools or credentials: Godot Signal Architecture is instructions for the agent only.

Does Godot Signal Architecture access the network?

SKILL.md names 1 domain. As links in the text: docs.godotengine.org. This is read from the text; nothing was executed.

Is Godot Signal Architecture safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Godot Signal Architecture use?

Godot Signal Architecture is published under the LGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Godot Signal Architecture use?

About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.5k tokens, read only when the agent opens those files.

What are the alternatives to Godot Signal Architecture?

Skills that share tags, products or a category with Godot Signal Architecture: Csharp Signals (jame581/GodotPrompter, 805 stars), Event Bus (jame581/GodotPrompter, 805 stars), Godot Gdscript Patterns (925236118/AlphaAgent, 103 stars) and 2D Map and Scene Generator (0x0funky/agent-sprite-forge, 4.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Godot Signal Architecture?

thedivergentai (a GitHub user) maintains it in thedivergentai/GD-Agentic-Skills, which has 821 GitHub stars. The repository holds 98 skills in this directory. The repository was last updated on September 9, 2026.

Source: thedivergentai/GD-Agentic-Skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.