godot-master
Consolidated expert library for professional Godot 4.7+ game and application development. Orchestrates 92 Domain Skills through architectural workflows, anti-pattern catalogs, performance budgets, and Server API patterns. Use when: (1) starting a new Godot project, (2) designing game or app architec
By thedivergentai · 3,519 installs
npx skills add thedivergentai/gd-agentic-skills --skill godot-master
Source repository · Upstream listing
Godot Master: Lead Architect Knowledge Hub
Every section earns its tokens by focusing on Knowledge Delta — the gap between what the base model already knows and what a senior Godot engineer knows from shipping real products.
Library target — Godot 4.7+
All Domain Skill mirrors target Godot 4.7+ (stable). For any engine version upgrade (1.x/2.x legacy → 3→4 → hop by hop 4.x), use [godot version migration](https://github.com/thedivergentai/gd agentic skills/blob/main/skills/godot version migration/SKILL.md) — do not treat this hub as a migration changelog.
Cross cutting 4.7 reminders while routing: AreaLight3D / HDR → [3D Lighting](references/3d lighting.md); Asset Store vs Asset Library → export/platform modules; RichTextLabel ImageUnit, input device ID constants, Jolt behavior → migration hub module notes.
🧠 Part 1: Expert Thinking Frameworks
"Who Owns What?" — The Architecture Sanity Check
Before writing any system, answer these three questions for EVERY piece of state:
Who owns the data? (The StatsComponent owns health, NOT the CombatSystem )
Who is allowed to change it? (Only the owner via a public method like apply damage() )
Who needs to know it changed? (Anyone listening to the health changed signal)
If you can't answer all three for every state variable, your architecture has a coupling problem. This is not OOP encapsulation — this is Godot specific because the signal system IS the enforcement mechanism , not access modifiers.
The Godot "Layer Cake"
Organize every feature into four layers. Signals travel UP, never down:
Critical rule : Presentation MUST NOT modify Data directly. Infrastructure speaks exclusively through signals. If a Label node is calling player.health = 1 , the architecture is broken.
The Signal Bus Tiered Architecture
Global Bus (Autoload) : ONLY for lifecycle events ( match started , player died , settings changed ). Debugging sprawl is the cost — limit events to < 15.
Scoped Feature Bus : Each feature folder has its own bus (e.g., CombatBus only for combat nodes). This is the compromise that scales.
Direct Signals : Parent child communication WITHIN a single scene. Never across scene boundaries.
🔗 The "Smart Interconnect" Mandate
Expert systems are defined not by their isolation, but by their Payload Synthesis .
Physics → Performance : PhysicsServer2D and RenderingServer bypass SceneTree node overhead. Use for 1,000+ bullets or particles to achieve O(1) processing.
Animation → Physics : AnimationTree.get root motion position() converts animation displacement into physics velocity , preventing "foot sliding" in complex movement.
Data → Reactivity : Serialized Resource objects (like Stats ) emit signals when modified, allowing UI to update automatically without tight coupling.
Asset → Spawning : An O(1) Dictionary based cache (preloaded during ResourceLoader async phases) prevents I/O hitches when spawning items or enemies.
Mobile → Visuals : Prevent runtime frame hitches by instantiating hidden effects during loading screens to force GPU shader pipeline compilation.
Networking → Bandwidth : Use bit packing into PackedByteArray for synchronization instead of JSON/Strings to keep packets under 100 bytes.
Genre Synthesis :
Shooter : strictly use intersect ray() (direct space state) over RayCast3D nodes for 100x performance.
RPG : Damage follows base pow(scaling, level) to sustain end game progression.
RTS : Moves groups based on their Center of Mass with Relative Offset to preserve formation integrity.
Metroidvania : Uses ResourceLoader.load threaded request() for seamless room swaps.
Platformer : Mandatory Jump Buffering (~0.15s) and Coyote Time for professional feel.
Simulation : Tick Manager batch processing; avoid per entity process to sustain thousands of units.
Romance : Multi Axial Affection (Attraction, Trust, Comfort) to map complex narrative branching.
Architecture : Signal Architecture strictly follows Signal Up, Call Down to eliminate circular scene coupling.
🧭 Part 2: Architectural Decision Frameworks
The Master Decision Matrix
Scenario Strategy MANDATORY Skill Chain Trade off
: : : :
Rapid Prototype Event Driven Mono READ : [Foundations](references/project foundations.md) → [Autoloads](references/autoload architecture.md). Do NOT load genre or platform refs. Fast start, spaghetti risk
Complex RPG Component Driven READ : [Composition](references/composition.md) → [States](references/state machine advanced.md) → [RPG Stats](references/rpg stats.md). Do NOT load multiplayer or platform refs. Heavy setup, infinite scaling
Massive Open World Resource Streaming READ : [Open World](references/genre open world.md) → [Save/Load](references/save load systems.md). Also load [Performance](references/performance optimization.md). Complex I/O, float precision jitter past 10K units
Server Auth Multi Deterministic READ : [Server Arch](references/server architecture.md) → [Multiplayer](references/multiplayer networking.md). Do NOT load single player genre refs. High latency, anti cheat secure
Mobile/Web Port Adaptive Responsive READ : [UI Containers](references/ui containers.md) → [Adapt Desk→Mobile](references/adapt desktop to mobile.md) → [Platform Mobile](references/platform mobile.md). UI complexity, broad reach
Application / Tool App Composition READ : [App Composition](references/composition apps.md) → [Theming](references/ui theming.md). Do NOT load game specific refs. Different paradigm than games
Romance / Dating Sim Affection Economy READ : [Romance](references/genre romance.md) → [Dialogue](references/dialogue system.md) → [UI Rich Text](references/ui rich text.md). High UI/Narrative density
Secrets / Easter Eggs Intentional Obfuscation READ : [Secrets](references/mechanic secrets.md) → [Persistence](references/save load systems.md). Community engagement, debug risk
Collection Quest Scavenger Logic READ : [Collections](references/game loop collection.md) → [Marker3D Placement](references/3d world building.md). Player retention, exploration drive
Seasonal Event Runtime Injection READ : [Easter Theming](references/theme easter.md) → [Material Swapping](references/3d materials.md). Fast branding, no asset pollution
Souls like Mortality Risk Reward Revival READ : [Revival/Corpse Run](references/mechanic revival.md) → [Physics 3D](references/physics 3d.md). High tension, player frustration risk
Wave based Action Combat Pacing Loop READ : [Waves](references/game loop waves.md) → [Combat](references/combat system.md). Escalating tension, encounter design
Balance / Difficulty / Economy Pacing Monte Carlo Balance Lab READ : [Resources](references/resource data patterns.md) → [Economy](references/economy system.md) → [Combat](references/combat system.md) / [RPG Stats](references/rpg stats.md) / [Waves](references/game loop waves.md) (as needed) → [Monte Carlo Balancer](references/monte carlo balancer.md) → [Testing](references/testing patterns expert testing patterns.md) → [Builder](references/builder.md). Statistical rigor; abstract sim must calibrate vs headless Godot
Survival Economy Harvesting Loop READ : [Harvesting](references/game loop harvest.md) → [Inventory](references/inventory system.md). Resource scarcity, loop persistence
Racing / Speedrun Validation Loop READ : [Time Trials](references/game loop time trial.md) → [Input Buffer](references/input handling.md) → [Genre Racing](references/genre racing.md). High precision, ghost record drive
Horror / Stealth Tension Management READ : [Genre Horror](references/genre horror.md) → [Genre Stealth](references/genre stealth.md) → [Audio](references/audio systems.md). Atmosphere, player vulnerability
Card / Board Game Rule Enforcement READ : [Genre Card Game](references/genre card game.md) → [Turn System](references/turn system.md). Deterministic state, UI heavy
Simulation / RTS Batch Processing READ : [Genre Simulation](references/genre simulation.md) → [Genre RTS](references/genre rts.md) → [Performance](references/performance optimization.md). High unit counts, O(1) logic
HDR / Cinematic Visuals Display Pipeline READ : [3D Lighting](references/3d lighting.md) → [Platform Desktop](references/platform desktop.md) → [Shaders](references/shaders basics.md). Enable viewport HDR in Project Settings. Platform specific tonemapping tuning
Rectangular Area Lights AreaLight3D READ : [3D Lighting](references/3d lighting.md) → [3D Materials](references/3d materials.md). Prefer AreaLight3D over emissive+GI hacks. Forward+ renderer required for full quality
Mobile Touch Controls Native Joystick READ : [Platform Mobile](references/platform mobile.md) → [Adapt Desk→Mobile](references/adapt desktop to mobile.md). Use built in virtual joystick (4.7+). Less plugin dependency
Addon / Asset Discovery Asset Store READ : [Project Foundations](references/project foundations.md) → [Export Builds](references/export builds.md). Asset Store replaces Asset Library. Beta store UI — verify licensing per addon
Agent Eyes / Visual QA Capture → WebP → Rubric READ : [Agent Vision](references/agent vision.md). Screenshot assets, window/region/screen, or TEMP editor bridge — then structured review. Do NOT load genre refs. Host side only; never Autoload / never leave staged addon
The "When NOT to Use a Node" Decision
One of the most impactful expert only decisions. The Godot docs explicitly say "avoid using nodes for everything":
Type When to Use Cost Expert Use Case
: : : :
Object Custom data structures, manual memory management Lightest. Must call .free() manually. Custom spatial hash maps, ECS like data stores
RefCounted Transient data packets, logic objects that auto delete Auto deleted when no refs remain. DamageRequest , PathQuery , AbilityEffect — logic packets that don't need the scene tree
Resource Serializable data with Inspector support Slightly heavier than RefCounted. Handles .tres I/O. ItemData , EnemyStats , DialogueLine — any data a designer should edit in Inspector
Node Needs process / physics process , needs to live in the scene tree Heaviest — SceneTree overhead per node. Only for entities that need per frame updates or spatial transforms
The expert pattern : Use RefCounted subclasses for all logic packets and data containers. Reserve Node for things that must exist in the spatial tree. This halves scene tree overhead for complex systems.
🔧 Part 3: Core Workflows
Workflow 1: Professional Scaffolding
From empty project to production ready container.
MANDATORY — READ ENTIRE FILE : [Foundations](references/project foundations.md)
1. Organize by Feature ( /features/player/ , /features/combat/ ), not by class type. A player/ folder contains the scene, script, resources, and tests for the player.
2. READ : [Signal Architecture](references/signal architecture.md) — Create GlobalSignalBus autoload with < 15 events.
3. READ : [GDScript Mastery](references/gdscript mastery.md) — Enable untyped declaration warning in Project Settings → GDScript → Debugging.
4. Apply [Project Templates](references/project templates.md) for base .gitignore , export presets, and input map.
5. Use [Builder](references/builder.md) ( create scene.py , add node.py , save scene.py ) to generate scene hierarchies programmatically via the Godot CLI.
[!CAUTION] Workflow 1 NEVER List
NEVER use res:// paths in logic scripts. Use @export file or @export dir to ensure resources r