{"id":48850868,"url":"https://github.com/jame581/godotprompter","last_synced_at":"2026-05-29T15:00:26.677Z","repository":{"id":349443388,"uuid":"1200746432","full_name":"jame581/GodotPrompter","owner":"jame581","description":"Agentic skills framework for Godot 4.x. Domain-specific skills for AI coding agents (Claude Code, Copilot, Gemini, Cursor)","archived":false,"fork":false,"pushed_at":"2026-05-17T21:31:50.000Z","size":1242,"stargazers_count":80,"open_issues_count":0,"forks_count":7,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-17T23:41:22.643Z","etag":null,"topics":["ai-skills","claude-code","copilot","csharp","game-development","gamedev","gdscript","godot","godot-4","godot-engine"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jame581.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null},"funding":{"github":["jame581"],"buy_me_a_coffee":"jame581"}},"created_at":"2026-04-03T19:25:56.000Z","updated_at":"2026-05-17T23:10:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/jame581/GodotPrompter","commit_stats":null,"previous_names":["jame581/godotprompter"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/jame581/GodotPrompter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jame581%2FGodotPrompter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jame581%2FGodotPrompter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jame581%2FGodotPrompter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jame581%2FGodotPrompter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jame581","download_url":"https://codeload.github.com/jame581/GodotPrompter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jame581%2FGodotPrompter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33657690,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-skills","claude-code","copilot","csharp","game-development","gamedev","gdscript","godot","godot-4","godot-engine"],"created_at":"2026-04-15T08:40:05.583Z","updated_at":"2026-05-29T15:00:26.665Z","avatar_url":"https://github.com/jame581.png","language":"JavaScript","funding_links":["https://github.com/sponsors/jame581","https://buymeacoffee.com/jame581","https://www.buymeacoffee.com/jame581"],"categories":[],"sub_categories":[],"readme":"# GodotPrompter\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Godot 4.x](https://img.shields.io/badge/Godot-4.3+-blue.svg)](https://godotengine.org)\n[![Skills: 48](https://img.shields.io/badge/Skills-48-green.svg)](#available-skills)\n\nAgentic skills framework for Godot 4.x game development. Gives AI coding agents domain-specific expertise for GDScript and C# projects.\n\nInspired by and built on top of the [Superpowers](https://github.com/obra/superpowers) plugin for Claude Code — which provides the underlying skill loading, brainstorming, and workflow infrastructure that GodotPrompter extends with Godot-specific domain knowledge.\n\n## What is this?\n\nGodotPrompter is a plugin that provides **skills** — structured domain knowledge that AI agents load on demand. When you ask your agent to \"add a state machine\" or \"set up multiplayer\", it loads the relevant GodotPrompter skill and follows Godot-specific best practices instead of relying on generic knowledge.\n\n**48 skills** covering project setup, architecture, gameplay systems, input handling, physics, 2D/3D systems, animation, shaders, audio, UI, multiplayer, localization, procedural generation, XR/VR, native extensions, multithreading, mobile shipping, optimization, and GDScript / C# patterns. All targeting Godot 4.3+ with both GDScript and C# examples — newer features from Godot 4.5 and 4.6 (variadic functions, abstract classes, stencil buffers, SoftBody3D forces, FoldableContainer, OpenXR Spatial Entities, and more) are included as annotated additive sections.\n\n**v1.7.0 introduces a 16 KB token budget** for `SKILL.md` files (validator-enforced) and the new **`gdscript-advanced`** skill for production-grade GDScript depth (performance idioms, metaprogramming, `@tool` lifecycle, profiler-driven idioms).\n\n**v1.9.0 adds native power and mobile shipping** — the new **`gdextension`** (godot-cpp / Rust native extensions), **`multithreading`** (WorkerThreadPool, threads, threaded loading), and **`mobile-development`** (Android/iOS export, lifecycle, plugins, IAP) skills.\n\n## Quick Start\n\n### Claude Code (recommended)\n\n```bash\n# Add the marketplace\nclaude plugins marketplace add jame581/skillsmith\n\n# Install the plugin\nclaude plugins install godot-prompter@skillsmith\n```\n\nOr install from a local clone:\n\n```bash\ngit clone https://github.com/jame581/GodotPrompter.git\nclaude plugins marketplace add ./GodotPrompter\nclaude plugins install godot-prompter@godot-prompter\n```\n\nThen start a new session and ask:\n\n```\n\"I'm starting a new Godot 4.3 project. How should I organize it?\"\n```\n\nThe agent loads the `godot-project-setup` skill and provides a complete directory structure, autoload setup, and .gitignore — not generic advice.\n\n### Gemini CLI\n\n```bash\ngemini extensions install https://github.com/jame581/GodotPrompter\n```\n\n### GitHub Copilot CLI\n\n```bash\ncopilot plugin marketplace add jame581/skillsmith\ncopilot plugin install godot-prompter@skillsmith\n```\n\n### Cursor\n\n```\n/add-plugin godot-prompter\n```\n\nOr clone and place in your project — Cursor reads `.cursor-plugin/plugin.json`.\n\n### Codex\n\n```bash\ngit clone https://github.com/jame581/GodotPrompter.git ~/.codex/godot-prompter\nmkdir -p ~/.agents/skills\nln -s ~/.codex/godot-prompter/skills ~/.agents/skills/godot-prompter\n```\n\nSee `.codex/INSTALL.md` for Windows instructions.\n\n### OpenCode\n\nAdd to `opencode.json`:\n\n```json\n{\n  \"plugin\": [\"godot-prompter@git+https://github.com/jame581/GodotPrompter.git\"]\n}\n```\n\nSee `.opencode/INSTALL.md` for details.\n\n## How It Works\n\n### 1. Design Phase\nAsk the agent to brainstorm a feature. It loads `godot-brainstorming` and walks you through:\n- Clarifying questions about your game/system\n- Architectural approaches with trade-offs\n- Scene tree design, signal maps, and data flow\n- An implementation plan with ordered tasks\n\n### 2. Implementation Phase\nFor each task, the agent loads the relevant domain skill:\n- Building a player? → `player-controller` + `input-handling` + `state-machine`\n- Adding inventory? → `inventory-system` + `resource-pattern`\n- Setting up 3D scene? → `3d-essentials` + `assets-pipeline`\n- Adding particles? → `particles-vfx` + `shader-basics`\n- Need animations? → `animation-system` + `tween-animation`\n- Need save/load? → `save-load`\n\n### 3. Review Phase\nAsk for a code review. The agent loads `godot-code-review` and checks against Godot-specific checklists.\n\n### Example Use Cases\n\n- **\"Set up a new Godot project\"** — Loads the `godot-project-setup` skill and scaffolds a complete directory structure, autoloads, input map, and .gitignore following Godot best practices.\n- **\"Add a platformer player controller with coyote time and jump buffering\"** — Loads `player-controller` and `input-handling` skills, providing complete CharacterBody2D code with physics-correct movement in both GDScript and C#.\n- **\"Design an enemy AI system with patrol, chase, and attack\"** — Uses the `godot-game-architect` agent to plan the system with `ai-navigation`, `state-machine`, and `animation-system` skills, then the `godot-game-dev` agent to implement it.\n- **\"Set up a 3D scene with lighting, materials, and fog\"** — Loads `3d-essentials` skill with StandardMaterial3D PBR workflow, DirectionalLight3D shadow configuration, environment setup, and volumetric fog.\n- **\"Add particle effects for explosions and fire\"** — Loads `particles-vfx` skill with GPUParticles2D/3D recipes, ParticleProcessMaterial configuration, color ramps, and one-shot burst patterns.\n- **\"Review my code for Godot best practices\"** — Uses the `godot-code-reviewer` agent with the `godot-code-review` skill to check node architecture, signal patterns, performance, input handling, and resource management.\n\n### Agents\n\nGodotPrompter includes 9 specialized agents:\n\n| Agent | Purpose |\n|-------|---------|\n| **godot-game-architect** | Designs systems, plans scene trees, chooses patterns |\n| **godot-game-dev** | Implements features guided by skills |\n| **godot-code-reviewer** | Reviews code against Godot best practices |\n| **godot-shader-author** | Authors custom shaders, post-processing, Compositor effects |\n| **godot-performance-profiler** | Diagnoses performance issues from profiler data |\n| **godot-animator** | Designs animation graphs, blend trees, IKModifier3D, BoneConstraint3D, retargeting |\n| **godot-csharp-engineer** | C#-first development; parity mode for closing this repo's C# debt |\n| **godot-ui-designer** | Builds Control-tree UI — themes, responsive layouts, localization-aware |\n| **godot-tools-engineer** | Editor plugins, custom inspectors, gizmos, `@tool` scripts, plugin distribution |\n\n## Supported Platforms\n\n| Platform | Status | Install |\n|----------|--------|---------|\n| Claude Code | Primary | `claude plugins marketplace add jame581/skillsmith` |\n| Gemini CLI | Supported | `gemini extensions install https://github.com/jame581/GodotPrompter` |\n| GitHub Copilot CLI | Supported | `copilot plugin marketplace add jame581/skillsmith` |\n| Cursor | Supported | `/add-plugin godot-prompter` or clone with `.cursor-plugin/` |\n| Codex | Supported | Clone + symlink (see `.codex/INSTALL.md`) |\n| OpenCode | Supported | Add to `opencode.json` (see `.opencode/INSTALL.md`) |\n\n\u003e **Legacy marketplace:** The [`godot-prompter-marketplace`](https://github.com/jame581/godot-prompter-marketplace) repo remains online so existing installs keep receiving updates, but new users should install from [`skillsmith`](https://github.com/jame581/skillsmith).\n\n## Available Skills\n\n### Core / Process (6 skills)\n\n| Skill | Description |\n|-------|-------------|\n| `using-godot-prompter` | Bootstrap — skill catalog, workflow guide, platform setup |\n| `godot-project-setup` | Scaffold directory structure, autoloads, .gitignore, input maps |\n| `godot-brainstorming` | Scene tree planning, node selection, architectural decisions |\n| `godot-code-review` | Review checklist — best practices, anti-patterns, Godot pitfalls |\n| `godot-debugging` | Remote debugger, print techniques, signal tracing, error patterns |\n| `godot-testing` | TDD with GUT and gdUnit4 — test structure, mocking, CI |\n\n### Architecture \u0026 Patterns (6 skills)\n\n| Skill | Description |\n|-------|-------------|\n| `scene-organization` | Scene tree composition, when to split scenes, node hierarchy |\n| `state-machine` | Enum-based, node-based, resource-based FSM with trade-offs |\n| `event-bus` | Global EventBus autoload with typed signals, decoupled communication |\n| `component-system` | Hitbox/Hurtbox/Health components, composition over inheritance |\n| `resource-pattern` | Custom Resources for items, stats, config, editor integration |\n| `dependency-injection` | Autoloads, service locators, @export injection, scene injection |\n\n### Physics, 2D/3D \u0026 XR (4 skills)\n\n| Skill | Description |\n|-------|-------------|\n| `physics-system` | RigidBody, Area, raycasting, collision shapes, Jolt, ragdolls, interpolation |\n| `2d-essentials` | TileMaps, parallax, 2D lights/shadows, particles, custom drawing, canvas layers |\n| `3d-essentials` | Materials, lighting, shadows, environment, GI, fog, LOD, occlusion, decals |\n| `xr-development` | OpenXR, XROrigin3D, hand tracking, controllers, passthrough, Meta Quest |\n\n### Gameplay Systems (12 skills)\n\n| Skill | Description |\n|-------|-------------|\n| `player-controller` | CharacterBody2D/3D movement — top-down, platformer, first-person |\n| `input-handling` | InputEvent system, Input Map actions, controllers/gamepads, mouse/touch, action rebinding |\n| `animation-system` | AnimationPlayer, AnimationTree, blend trees, state machines, sprite animation |\n| `tween-animation` | Tween class, easing, chaining, parallel sequences, common motion recipes |\n| `audio-system` | Audio buses, music management, SFX pooling, spatial audio, interactive music |\n| `inventory-system` | Resource-based items, slot management, stacking, UI binding |\n| `dialogue-system` | Branching dialogue trees, conditions, UI presentation |\n| `save-load` | ConfigFile, JSON, Resource serialization, version migration |\n| `ai-navigation` | NavigationAgent2D/3D, steering behaviors, patrol patterns, async baking |\n| `camera-system` | Smooth follow, screen shake, camera zones, transitions |\n| `localization` | TranslationServer, CSV/PO files, locale switching, RTL support, pluralization |\n| `procedural-generation` | Noise, BSP dungeons, cellular automata, WFC, seeded randomness |\n\n### UI/UX (3 skills)\n\n| Skill | Description |\n|-------|-------------|\n| `godot-ui` | Control nodes, themes, anchors, containers, layout patterns |\n| `responsive-ui` | Multi-resolution scaling, aspect ratios, DPI, mobile adaptation |\n| `hud-system` | Health bars, score displays, minimap, damage numbers, notifications |\n\n### Multiplayer (3 skills)\n\n| Skill | Description |\n|-------|-------------|\n| `multiplayer-basics` | MultiplayerAPI, ENet/WebSocket, RPCs, authority model |\n| `multiplayer-sync` | MultiplayerSynchronizer, interpolation, prediction, lag compensation |\n| `dedicated-server` | Headless export, server architecture, lobby management |\n\n### Rendering \u0026 Visual (2 skills)\n\n| Skill | Description |\n|-------|-------------|\n| `shader-basics` | Godot shader language, visual shaders, common recipes, post-processing |\n| `particles-vfx` | GPUParticles2D/3D, process materials, subemitters, trails, attractors, collision |\n\n### Build \u0026 Deploy (5 skills)\n\n| Skill | Description |\n|-------|-------------|\n| `export-pipeline` | Platform exports, CI/CD with GitHub Actions, itch.io/Steam deploy |\n| `godot-optimization` | Profiler, draw calls, physics tuning, object pooling, bottlenecks |\n| `addon-development` | EditorPlugin, @tool scripts, custom inspectors, dock panels |\n| `assets-pipeline` | Image compression, 3D scene import, audio formats, resource management |\n| `mobile-development` | Android/iOS export, signing, lifecycle, permissions, plugins, IAP, device features |\n\n### Scripting (4 skills)\n\n| Skill | Description |\n|-------|-------------|\n| `gdscript-patterns` | Static typing, await/coroutines, lambdas, match, exports, common idioms |\n| `gdscript-advanced` | Performance idioms, metaprogramming, `@tool` lifecycle, profiler-driven depth |\n| `csharp-godot` | C# conventions, GodotSharp API, project setup, GDScript interop |\n| `csharp-signals` | [Signal] delegates, EmitSignal, async awaiting, event architecture |\n\n### Native \u0026 Performance (2 skills)\n\n| Skill | Description |\n|-------|-------------|\n| `gdextension` | godot-cpp (C++) / gdext (Rust) native extensions, class binding, building, interop |\n| `multithreading` | WorkerThreadPool, Thread/Mutex/Semaphore, call_deferred, threaded resource loading |\n\n### Math \u0026 Data (1 skill)\n\n| Skill | Description |\n|-------|-------------|\n| `math-essentials` | Vectors, transforms, interpolation, curves, paths, RNG, game math recipes |\n\n## Validation\n\nQuality is enforced by an automated validator that runs on every release tag. Human-readable run:\n\n```bash\nnode scripts/validate-skills.mjs           # exit 1 on errors, 0 otherwise\nnode scripts/validate-skills.mjs --json    # machine-readable for CI\n```\n\nThe validator (`scripts/validate-skills.mjs`) checks every `skills/*/SKILL.md` and `agents/*.md` against these rules:\n\n| Rule | What it checks | Severity |\n|---|---|---|\n| `frontmatter-{missing,name-missing,description-missing,name-mismatch}` | YAML frontmatter is present and `name` matches folder | error |\n| `cross-ref-broken` | Every skill referenced on the `**Related skills:**` line and inline `see \u003cskill\u003e skill` mentions resolves to an existing skill folder | error |\n| `agent-skill-path-broken` | Every `skills/\u003cname\u003e/SKILL.md` path inside an agent definition exists | error |\n| `related-skills-line-missing` | Skill has a `**Related skills:**` line between H1 and first section | warning |\n| `csharp-parity-missing` / `csharp-parity-accepted` | Every section with a GDScript code block also has a C# block (skills allowlisted as GDScript-only-by-design emit `accepted` instead of `missing`) | warning |\n| `checklist-missing` | Implementation checklist (`- [ ]` items) present near end of file | warning |\n| `token-budget-exceeded` | `SKILL.md` ≤ 16 KB (references under `skills/\u003cname\u003e/references/` are unrestricted) | warning |\n| `orphan-reference` | Every `references/*.md` file is linked from its parent `SKILL.md` | warning |\n\nToken cost reporting:\n\n```bash\nnode scripts/count-tokens.mjs --tokenizer --markdown\n```\n\nProduces a per-skill / per-agent table (bytes, KB, estimated tokens, Claude / GPT tokenizer counts, status) that lives between `\u003c!-- BEGIN-TOKEN-TABLE --\u003e` markers in [`docs/token-budget.md`](docs/token-budget.md).\n\nCI gate: `.github/workflows/release.yml` runs both `node scripts/validate-skills.mjs` and a tag-vs-manifest version-consistency check on every `v*.*.*` push. The release is blocked if the validator returns errors or any of `package.json` / `.claude-plugin/plugin.json` / `.claude-plugin/marketplace.json` drifts from the tag.\n\n**Current baseline (v1.9.0):** 0 errors, 10 warnings (all `csharp-parity-accepted` GDScript-only; 0 token-budget). Every `SKILL.md` is at or below the 16 KB budget.\n\nA manual agent-integration test plan covering full workflows (skill discovery, cross-reference navigation, end-to-end feature implementation) lives in [`tests/agent-integration/TEST_PLAN.md`](tests/agent-integration/TEST_PLAN.md) for spot-checks against new agent versions or platforms.\n\n## Contributing\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for how to add new skills, conventions, and testing requirements.\n\n## License\n\n[MIT](LICENSE)\n\n## Author\n\n* **Jan Mesarč** - *Creator* - [janmesarc.online/](https://janmesarc.online/)\n\nDo you like this project and want to support me? Great! I really appreciate it and it makes me very happy if you [Buy Me A Coffee](https://www.buymeacoffee.com/jame581).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjame581%2Fgodotprompter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjame581%2Fgodotprompter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjame581%2Fgodotprompter/lists"}