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