thedivergentai/gd-agentic-skills

godot-project-templates

Navigation skill for genre project scaffolds: pick platformer/RPG/FPS (or other genre) then load matching template scripts and route gameplay fill to godot-genre-* skills.

First seen Feb 10, 2026

Installation

$ npx skills add thedivergentai/gd-agentic-skills --skill godot-project-templates

Summary

  • Navigation skill for genre project scaffolds: pick platformer/RPG/FPS (or other genre) then load matching template scripts and route gameplay fill to godot-genre-* skills.
  • Use when bootstrapping architecture, bootstrap order, pause modes, PCK DLC, or feature tags — not for pasting FPS/inventory recipes.
  • Keywords: project templates, bootstrap, Subsystem Locator, PCK, feature tags, PROCESS_MODE_ALWAYS, genre scaffold.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from thedivergentai/gd-agentic-skills · top by installs.

npx skills add thedivergentai/gd-agentic-skills

Browse all from thedivergentai/gd-agentic-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 678
License LICENSE
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 13,433 B
  • docs SUMMARY.md 3,996 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 270 installs

SKILL.md

Project Templates (Navigation)

Scaffold architecture, then adapt — never dump genre tutorials into the project verbatim.

NEVER Do (Expert Anti-Patterns)

Directory & Scaffolding

  • NEVER hardcode scene paths in dozens of call sites — AutoLoad constants or a scene registry.
  • NEVER skip .gdignore for designer asset drops outside import pipelines.
  • NEVER copy-paste templates as-is — Understand structure, then adapt (see checklist below).

Architecture & Lifecycle

  • NEVER use gettree().paused without process-mode groups — Pause menus need PROCESSMODEALWAYS. Why: pausing the tree freezes process on menu nodes too, so buttons never receive input; set gameplay to INHERIT (paused) and menu/HUD to ALWAYS via [basemenu.gd](scripts/basemenu.gd) or explicit process_mode on the pause root.
  • NEVER skip virtual lifecycle hooks on base classes — Prefer initialize*() over brittle _ready() overrides.
  • NEVER rely on monolithic God singletons — Signal Bus or Subsystem Locator.

Platform & UI

  • NEVER skip Input.MOUSEMODECAPTURED in FPS scaffolds — Set when the FPS genre path is chosen.
  • NEVER use floating-point constants for UI layout — Anchors/containers.
  • NEVER ignore i18n translation context — Disambiguate strings in tr() / contexts.

Performance

  • NEVER load massive levels synchronouslyResourceLoader.loadthreadedrequest().

Golden Path

  1. BootstrapMANDATORY [bootstrapconfig.gd](scripts/bootstrapconfig.gd): config/network before audio/UI (do not rely on accidental Autoload order).
  2. Pick a genre row below → load listed scripts only.
  3. Rename project, register locator/bootstrap, configure Input Map.
  4. Open the consumer godot-genre-* skill for gameplay systems.

Platformer end-to-end: row 1 scripts → godot-genre-platformer (advancedplatformercontroller.gd for movement; template base_level + state machine for scene flow). Do NOT paste FPS/inventory recipes from this skill.

Genre Router → Scripts

MANDATORY: Choose a genre row, load the listed scripts, then open the consumer godot-genre-* skill for gameplay systems. Do NOT paste inline FPS controllers or inventory managers from memory.

Genre intent Load these template scripts (MANDATORY) Fill gameplay via
2D platformer [basegamemanager.gd](scripts/basegamemanager.gd), [baselevel.gd](scripts/baselevel.gd), [baseactor.gd](scripts/baseactor.gd), [scenestatemachine.gd](scripts/scenestatemachine.gd), [statemachinenode.gd](scripts/statemachinenode.gd) godot-genre-platformer
Top-down / action RPG Same bases + [subsystemlocator.gd](scripts/subsystemlocator.gd), [basemenu.gd](scripts/basemenu.gd) godot-genre-action-rpg
3D FPS / shooter Bases + [multiplatforminput.gd](scripts/multiplatforminput.gd), [platformfeatureconfig.gd](scripts/platformfeatureconfig.gd) godot-genre-shooter-fps
Any genre + DLC packs [modulardlcloader.gd](scripts/modulardlcloader.gd) Genre skill + godot-export-builds
Cross-platform input/features [multiplatforminput.gd](scripts/multiplatforminput.gd), [platformfeatureconfig.gd](scripts/platformfeatureconfig.gd) godot-input-handling
Threaded level streaming [levelsteamermanager.gd](scripts/levelsteamermanager.gd) godot-scene-management
Accessibility TTS [accessibilityttsmanager.gd](scripts/accessibilityttsmanager.gd) Project foundations / UI skills

Folder-by-feature skeleton (all genres): entities/<name>/, levels/ or maps/, ui/, autoloads/ or locator-registered systems, resources/. Details belong in the genre consumer skill — not duplicated here.


Architecture Deltas (keep in this skill)

Subsystem Locator vs God Autoload

Prefer [subsystemlocator.gd](scripts/subsystemlocator.gd) for modular registration; keep a thin bootstrap Autoload only.

Bootstrap order

MANDATORY [bootstrapconfig.gd](scripts/bootstrapconfig.gd) (or equivalent): critical systems (config/network) before audio/UI. Do not rely on accidental Project Settings Autoload order alone.

Pause modes

Gameplay tree pauses; UI/pause menu nodes use PROCESSMODEALWAYS. Wire via [basemenu.gd](scripts/basemenu.gd).

PCK / DLC

MANDATORY [modulardlcloader.gd](scripts/modulardlcloader.gd) for ProjectSettings.loadresourcepack() mounts — never hand-roll path hacks in gameplay code.

Feature tags

MANDATORY [platformfeatureconfig.gd](scripts/platformfeatureconfig.gd) for OS.hasfeature() / export-tag forks (mobile, lowend, dedicated_server).


Adapt-Not-Copy Checklist

Map each template piece to a consumer skill before writing gameplay code:

Template piece Adapt into
base_actor / state machine nodes Genre movement/combat skill (godot-genre-*) + godot-state-machine-advanced
basegamemanager signals godot-autoload-architecture / godot-signal-architecture
Level streamer godot-scene-management
Input / feature config godot-input-handling + platform skills
Menus / HUD shells godot-ui-containers
Export / CI / PCK godot-export-builds

Usage: pick genre row → load scripts → rename project → register locator/bootstrap → configure Input Map → open genre skill for systems — do not paste stock FPS/inventory recipes from this skill.

Deep dive (load on demand)

Platformer/RPG/FPS directory trees, input map template, CI export YAML, PCK mount, bootstrap priority — [references/genre-template-scaffolds.md](references/genre-template-scaffolds.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.

Official Documentation

  • Project organization — Feature-folder layouts, .gdignore, and VCS hygiene that genre boilerplates should bake in from day one.
  • Scene organization — Ownership boundaries for entities/, levels/, and UI scenes so templates stay refactor-safe.
  • Singletons (Autoload) — Registering lean GameManager / Audio / SceneTransitioner services that survive scene changes.
  • Autoloads versus regular nodes — When a Subsystem Locator or scene-local node beats a monolithic God singleton.
  • Background loadingResourceLoader.loadthreaded_* patterns used by level streamer templates.
  • Pausing games — Process modes so pause menus stay alive while gameplay freezes.
  • Multiple resolutions — Stretch mode/aspect defaults (canvasitems / expand) every new project template should document.
  • Feature tagsOS.hasfeature() profiles for mobile/PC/server overrides in platform config templates.
  • Exporting packs (PCK) — Modular DLC / patch mounts via ProjectSettings.loadresource_pack().
  • Using controllers and gamepads — Default Input Map actions and deadzone tuning for multi-platform templates.
  • Text-to-speech — DisplayServer TTS hooks for accessibility manager scaffolding.
  • Internationalizing games — Translation contexts so UI strings in menus/HUD avoid ambiguous keys.

Related Skills

Prerequisites

  • godot-project-foundations — Folder hygiene, naming, and import basics before copying a genre skeleton into a real repo.
  • godot-gdscript-mastery — Typed base classes, virtual hooks, and signal style used by every template script here.

Complements

  • godot-autoload-architecture — Boot order and ownership rules once BootstrapConfig / GameManager Autoloads leave the template stage.
  • godot-scene-management — Production scene swaps and load queues that deepen the level streamer boilerplate.
  • godot-input-handling — Full action maps, device routing, and remapping beyond MultiPlatformInput scaffolding.
  • godot-state-machine-advanced — Hierarchical / visual FSM patterns that extend SceneStateMachine and StateMachineNode.
  • godot-export-builds — Export presets, VRAM compression, and CI headless flags assumed by Standard-Export-Presets templates.
  • godot-signal-architecture — Typed EventBus patterns when templates grow past direct GameManager signals.
  • godot-ui-containers — Anchor/container layouts for BaseMenu and HUD scenes instead of floating-point pixel drift.
  • godot-adapt-desktop-to-mobile — Touch, safe-area, and mobile feature-tag profiles that PlatformFeatureConfig only stubs.

Downstream / consumers

  • godot-genre-platformer — Fills the 2D platformer directory skeleton with movement, coyote time, and level flow.
  • godot-genre-action-rpg — Combat, inventory, and quest systems that plug into the top-down RPG template folders.
  • godot-genre-shooter-fps — Weapons, hit detection, and camera feel layered on the 3D FPS player scaffold.

Master

  • godot-master — Library router and mirrored module entry for cross-skill discovery.