MCP Driver
RandallLiuXin/GodotMaker
Runtime debugging and live project inspection via godot-mcp.
A skill your agent uses when Godot 4.7 work must run without a mouse or at scale: batch import of hundreds of GLB props or an AI image-to-3D art drop, naming rules, import presets and post-import…
$ npx skills add scenario-labs/skills --skill scenario-godot-pipeline-automation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scenario-labs/skills scenario-godot-pipeline-automation --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/game-engines/godot/scenario-godot-pipeline-automation .claude/skills/scenario-godot-pipeline-automation && rm -rf skills-srcUse ~/.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/
Install the "scenario-godot-pipeline-automation" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-pipeline-automation into .claude/skills/scenario-godot-pipeline-automation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-pipeline-automation", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-pipeline-automationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add scenario-labs/skills --skill scenario-godot-pipeline-automation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scenario-labs/skills scenario-godot-pipeline-automation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/game-engines/godot/scenario-godot-pipeline-automation .agents/skills/scenario-godot-pipeline-automation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "scenario-godot-pipeline-automation" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-pipeline-automation into .agents/skills/scenario-godot-pipeline-automation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-pipeline-automation", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scenario-labs/skills --skill scenario-godot-pipeline-automation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scenario-labs/skills scenario-godot-pipeline-automation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/game-engines/godot/scenario-godot-pipeline-automation .cursor/skills/scenario-godot-pipeline-automation && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "scenario-godot-pipeline-automation" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-pipeline-automation into .cursor/skills/scenario-godot-pipeline-automation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-pipeline-automation", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/scenario-labs/skills.git --path skills/game-engines/godot/scenario-godot-pipeline-automation--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add scenario-labs/skills --skill scenario-godot-pipeline-automation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scenario-labs/skills scenario-godot-pipeline-automation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/game-engines/godot/scenario-godot-pipeline-automation .gemini/skills/scenario-godot-pipeline-automation && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "scenario-godot-pipeline-automation" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-pipeline-automation into .gemini/skills/scenario-godot-pipeline-automation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-pipeline-automation", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install scenario-labs/skills scenario-godot-pipeline-automationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add scenario-labs/skills --skill scenario-godot-pipeline-automation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/game-engines/godot/scenario-godot-pipeline-automation .github/skills/scenario-godot-pipeline-automation && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "scenario-godot-pipeline-automation" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-pipeline-automation into .github/skills/scenario-godot-pipeline-automation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-pipeline-automation", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add scenario-labs/skills --skill scenario-godot-pipeline-automation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install scenario-labs/skills scenario-godot-pipeline-automation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/scenario-labs/skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/game-engines/godot/scenario-godot-pipeline-automation .opencode/skills/scenario-godot-pipeline-automation && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "scenario-godot-pipeline-automation" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-pipeline-automation into .opencode/skills/scenario-godot-pipeline-automation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-pipeline-automation", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
scenario-godot-pipeline-automationA skill your agent uses when Godot 4.7 work must run without a mouse or at scale: batch import of hundreds of GLB props or an AI image-to-3D art drop, naming rules, import presets and post-import…
Scenario Godot Pipeline Automation is an agent skill from scenario-labs/skills. Use when Godot 4.7 work must run without a mouse or at scale: batch import of hundreds of GLB props or an AI image-to-3D art drop, naming rules, import presets and post-import scripts, editor plugins, EditorScript and @tool, EditorImportPlugin, GUT or gdUnit4 tests in CI, a GitHub Actions export workflow, GDExtension basics, or a Godot MCP server; also when --import is slow, textures stay uncompressed, tests pass locally but CI fails, or an export ships test folders.
Its SKILL.md is about 5.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 40 other files, including scripts and reference files (for example `references/critique.md`, `references/expert-notes.md` and `references/gui-paths.md`).
It sits in Game Development, covering Game development. It works with Godot, Model Context Protocol and GitHub Actions. The repository describes itself as: Get production-ready images, video, audio, and 3D from any AI agent: skills that pick the right model, price before spending, and keep characters and brands consistent through… The licence is MIT.
8 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit f6f8ab7. It shows what the files ask for, not the result of running them.
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.
Ships 10 files in scripts/, which the agent can run.
Shell commands in SKILL.md call:
npxFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Scenario Godot Pipeline Automation loads about 5.5k tokens when it runs, and up to ~21k if it reads all its reference files. Until then it costs about 127 tokens; SKILL.md has 2,215 words of instructions outside code blocks.
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.
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.
The full file from scenario-labs/skills at commit f6f8ab7, republished under its MIT licence (© scenario-labs). 2,215 words, ~5,471 tokens.
.claude/skills/scenario-godot-pipeline-automation/SKILL.md (or your agent's skills folder). This skill also uses 35 other files; get the full folder from GitHub.Target: Godot 4.7.2.stable, macOS Apple Silicon, gdUnit4 6.2.1.
Expert level here means every step a human would click is a command that CI can run twice with the same result, and every result is checked by a test that has been seen failing. The tools engineer owns the path from an art drop or a commit to a tested export: ingest, import, editor tooling, tests, CI, native extensions and agent channels. If a sibling skill named here is missing from your available skills, ask the user to install it (npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.
REQUIRED BACKGROUND: scenario-godot-expert (channels, gd_run and gd_env, the review loop, 4.7 traps). This skill adds scripts/gd_pipeline.py and the AgentKit module scripts/agentkit/pipeline/; it never starts Godot itself, every run goes through gd_run.
Status (2026-10-02): 43 live checks in 9 test files, the round-2 checks (procedures 15) and 8 offline tests, all pass, on a 200-GLB art drop that includes 12 real image-to-3D files (references/procedures.md). Not run: the workflow on GitHub runners, godot-cpp and Rust builds (no scons or cargo here).
.glb.import sidecar holding only [remap] importer="scene" and [params] is honored by headless --import, and Godot adds the uid [added, verified M2]. Ingest therefore decides scale, pivot, collision and texture mode per file, then imports once. Rewriting .import files after the fact doubles the import time and dirties the repo.EditorScenePostImportPlugin declares per-file options (pipeline/fit_height, pipeline/unit_scale, pipeline/fix_pivot, pipeline/collision) that sit in each sidecar, appear in the Import dock, and run under headless --import once the plugin is listed in project.godot [added, verified M6, M10]. One plugin serves the whole project; files without pipeline/prop_id are untouched.parse(bytes: PackedByteArray) with the source injected, so the same parser serves res://, user://, zips and tests with literal bytes (sSurjCgebjw [00:04:46]). The GLB probe here works this way, and its tests build GLBs in memory.--export-pack crashed at shutdown with signal 11 after "[ DONE ] savezip" in 4 of 5 runs while gdUnit4 was in the pack, and the pack was complete [added, observation]. Check the file, its size and its contents; exclude dev folders from every preset.monitor_signals() before the action, since a signal emitted earlier is missed (CreugthdgJ0 [00:36:34]); every wait has a timeout. Headless has no input device, so GUI-input tests are skipped in CI (Butch Wesley [00:48:33]; gdUnit4 6.2.1 prints the same warning).| Input | Changes | Default |
|---|---|---|
Art drop: count, formats, manifest (file,category,name,height_m,source) | ingest rules, AI fit | GLB only, manifest required for AI files |
| Category budgets (triangles, materials, texture side) | warn and reject lines | prop_rules.gd defaults, set from the frame budget with scenario-godot-performance-export |
| Texture path: extract plus VRAM pass, or Basis Universal embed | import time, disk, Import dock control | extract |
| Target platforms | VRAM formats (import_etc2_astc for mobile and macOS universal), presets | Linux and macOS desktop |
| Test framework | runner, CI command | gdUnit4 for JUnit reports, GUT if the project already has it; not both |
| CI host | workflow file, caches | GitHub Actions, official binaries checked by SHA-512 |
1. Probe and decide (no import). prop_ingest.gd:ingest reads every file as bytes, probes it (glb_probe.gd: header, chunks, triangles, materials, images with their glTF role, extensions, world bounds), applies prop_rules.gd, copies accepted files to res://props/<category>/<id>/<id>.glb with a sidecar, and writes props_manifest.json. Writes happen only when content changes. Put an empty .gdignore in a raw drop inside the project, or the editor imports it too (verified, procedures 15). Collision naming uses Godot's node suffixes, stripped on import (verified, procedures 15): -col keeps the mesh and adds a StaticBody3D with a trimesh shape, -convcol a convex one, -colonly keeps only the body, -noimp drops the node. GATE: counts add up (accepted + warned + rejected + duplicates = files), every reject has a reason, zero engine errors.
2. Import. gd_run.import_project(P). GATE: no ERROR: lines except the exit noise 4.7.2 prints after the work is done (ERROR: N resources still in use at exit, WARNING: N ObjectDB instances were leaked at exit, WARNING: N RIDs of type ... were leaked; filter these three, procedures 15); every accepted prop has a .scn in .godot/imported.
3. Texture pass (extract mode). prop_textures.gd:fix sets VRAM compression, mipmaps, the normal-map flag by glTF role and the size limit by category in each extracted texture's .import, then import again. Headless never draws a frame, so detect_3d never flips and extracted textures stay lossless without this pass [added, verified M7]. GATE: every extracted texture lands as .s3tc.ctex (plus ETC2/ASTC when mobile is a target).
4. Audit and test. prop_audit.gd:audit loads every prop and checks meta version, root name, pivot, fitted height, height range, triangles against three times the budget, the Collision body, no AnimationPlayer, VRAM textures. The same check_prop() runs inside one gdUnit4 case over all props. GATE: 0 failures, JUnit parsed, the planted failure exits 100.
5. Look. prop_thumbs.gd:thumbs (windowed, 160x90 main window, SubViewport renders) frames each prop at three-quarter view next to a red 1 m post; gd_review.contact_sheet builds sheets of 100 at 1500 px. Open them. GATE: no black or missing prop, sizes plausible against the post, nothing floating or sunk.
6. Rerun and change one file. Run ingest and import again: 0 copies, 0 sidecars, nothing reimported. Change one source: only that prop and its textures reimport. GATE: both.
7. Export. Templates: the .tpz holds everything under templates/ (35 files) plus version.txt reading 4.7.2.stable, the folder name; move the contents into export_templates/4.7.2.stable/ under the data dir (~/.local/share/godot on Linux; Voylin AbMESM0UEHk [00:11:34]). C# projects run --build-solutions first (listed in the 4.7.2 --help, implies --editor). Then gd_run.ensure_preset, gp.exclude_from_export(P, preset) (test frameworks, tests, agent tooling, editor-only plugins), gd_run.export. GATE: artifact exists and non-empty, no dev files in the pack listing, verify_pack loads a prop.
8. CI. gp.write_workflow(root, "game", presets=(...)) writes .github/workflows/godot-ci.yml and tools/ci/godot_ci.sh. Run the script locally first, plant a failing test, lint with gp.lint_workflow, HEAD-check the URLs with gp.check_urls. GATE: local run exit 0, planted failure exit 11, actionlint clean, URLs 200.
9. Editor tooling. An EditorScript's _run() is a plain method: a gd_run.run_script(..., editor=True) job opens the scene (EditorInterface.open_scene_from_path), waits a few frames, calls _run(), saves with EditorInterface.save_scene(). Route changes through EditorInterface.get_editor_undo_redo() so Ctrl+Z works later (Queble, nW7YtSSJzbQ [00:04:41]); set owner on new nodes or they vanish on save (docs). Call an @export_tool_button Callable and _get_configuration_warnings() directly. GATE: undo and redo restore the child count, the saved .tscn contains the new nodes, warnings match good and bad inputs.
GridMap. A GridMap level wants a MeshLibrary: create_item(id), set_item_mesh(id, mi.mesh) per imported mesh, saved as .res (verified, procedures 15).
10. Custom formats. An EditorImportPlugin registered by an enabled plugin runs under headless --import; a parse error returns ERR_PARSE_ERROR, leaves valid=false in the sidecar and logs the bad line. GATE: good files load as their resource type, bad files fail with a readable message, a format-version bump reimports through reimport_files().
11. Native code. Only for a profiled hotspot or a native library (Snopek, 4R0uoBJ5XSk [00:03:16]). Smoke-test the chain: dump gdextension_interface.h, build, write the .gdextension, --import, then ClassDB.class_exists and one bound call. Production uses godot-cpp with a renamed entry_symbol (Snopek [00:13:22]); not yet run (no scons here). GATE: class registered, method answers, no load errors.
12. Agent channels. For live scene inspection, clone and build one MCP server in the project's tooling folder, pass GODOT_PATH in its environment only, and call it through gp.mcp_stdio(..., hold_project=P) (shares the GD_MAX lock). Never call tools that launch the editor or game on a shared machine. GATE: tools listed, one headless edit verified by loading the result through gd_run.
Measured here (Godot 4.7.2, 2026-10-02), 200-file drop, two fresh runs: relative to that drop. Thumbnail, pack, CI and time-factor numbers are in procedures.md.
| Measure | Value |
|---|---|
| Full pipeline, 200 files (190 imported) | 21.8 to 24.2 s: ingest 0.6 to 1.4, import 17.4 to 19.7, texture pass 0.4 to 0.5, import 1.9 to 2.7, audit 0.6 to 0.7 |
| Rerun, nothing changed | ingest 0.6 to 0.7 s, import 1.4 s, 0 files reimported |
| One file changed | import 1.4 to 1.6 s, 4 imported files touched (scene + texture) |
| Basis Universal embed instead | 13.8 to 14.4 s total; .godot/imported 80.6 MB vs 154.5 MB |
| Reject line | more than 3x the category triangle budget (3 of 12 AI files, 69k to 181k triangles) |
| gdUnit4 6.2.1 exit codes | 0 pass, 100 failures or errors, 101 orphans only, 103 headless refused, 104 Godot version unsupported, 105 script errors (GdUnitTestSessionRunner.gd) |
godot_ci.sh exit codes [added] | 10 import, 11 tests, 12 export produced no file |
addons/gdUnit4, test/, addons/agentkit, addons/prop_pipeline; project.godot checked for physics/3d/physics_engine="Jolt Physics", the renderer and the plugin line; actionlint clean.| Mistake | What it looks like | Fix |
|---|---|---|
Flag AI assets by asset.generator | AI files pass as DCC and keep arbitrary scale (a toy robot 1.96 m tall) | manifest source column |
| Scale every prop to the manifest height | authored size variation is lost (every lamp becomes 2.2 m) | unit fix for DCC, fit only AI |
| Trust headless to compress extracted textures | lossless .ctex, big packs | texture pass or [importer_defaults] texture (project-wide, also hits UI) |
-rd /abs/path for gdUnit4 | reports land under <project>/Users/..., CI finds no JUnit | -rd res://... |
ResourceLoader.exists() as an import check | a failed import "exists" | read valid=false in the .import |
Bump _get_format_version() and run --import | nothing reimports | -e job: scan(), wait, reimport_files() |
| Ship with default export filter | gdUnit4, tests, agent tools in the pack | exclude_from_export |
upload-artifact the Linux binary | executable bit lost | tar first (Voylin, AbMESM0UEHk [00:20:10]) |
| Loose checksum grep | matches the mono build line too | exact names, expect 2 lines |
Toggle plugins from a --script -e job | contradictory is_plugin_enabled, engine errors | edit [editor_plugins] in project.godot |
pause_before_teardown() left in a GUT test | a windowed run hangs (killed at 25 s); headless GUT 9.7.1 does not pause | -gignore_pause (Butch Wesley [00:32:08], procedures 15) |
| GUI-input test in CI | fails: headless has no input device | should_skip_script() returns a reason; GUT counts it Risky, exit 0 (Butch Wesley [00:48:33], procedures 15) |
| Ignoring GUT's orphan count | a leak ships (3 leaked nodes print "3 orphans") | a jump from 1 to 80 is a real leak (Butch Wesley [00:57:00]) |
Trusting a merged .tscn | conflict markers break the scene; ResourceLoader.exists() still says true | load every .tscn after a merge (null plus a Parse Error, procedures 15; Lilith Duncan CAJ_iIedx_I [00:01:36]) |
Trust the first --import after adding a GDExtension | shutdown crash (2 of 3 fresh projects), exit code bad | check extension_list.cfg, run the smoke job |
scenario-*), budgets (scenario-godot-performance-export), scene conventions (scenario-godot-architecture, scenario-godot-3d-world, which owns how a prop looks and plays).EditorScenePostImportPlugin, _pre_process sees ImporterMeshInstance3D nodes and _post_process sees MeshInstance3D (verified, procedures 15); collision suffixes are already applied in both.EditorScript.get_scene() is deprecated: use EditorInterface.get_edited_scene_root() (verified: the job logs the deprecation).EditorPlugin.add_dock(EditorDock) replaces add_control_to_dock (4.6, still present).classdb_register_extension_class4 and classdb_construct_object2 still load in 4.7.2 but are deprecated; godot-cpp is the production path. A project loads an extension only after --import writes .godot/extension_list.cfg..uid sidecars move with their scripts; 4.6 .tscn files carry unique_id.references/procedures.md (every procedure with code, live test and result; round 2 is section 15), expert-notes.md (judgment by source, timestamps), critique.md (rubric), gui-paths.md (editor GUI), sources.md.scripts/agentkit/prop_pipeline_addon/ (the addons/prop_pipeline plugin), scripts/ci/ (workflow and CI script), scripts/gdunit/ (gdUnit4 tests), scripts/examples/ (EditorScript tools, a level importer, a C GDExtension).© scenario-labs, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 35 other files (scripts, references) in skills/game-engines/godot/scenario-godot-pipeline-automation of scenario-labs/skills.
Open the folder on GitHubat commit f6f8ab7
Scenario Godot Pipeline Automation 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Scenario Godot Pipeline Automation this skillscenario-labs/skills | 946 | — | ~5.5k | Automated safety check: Pass | MIT | |
| MCP DriverRandallLiuXin/GodotMaker | 550 | 1 repos | ~1.1k | Automated safety check: Pass | Custom licence | |
| Godotvalkor-ai/loom | 1.2k | — | ~765 | Automated safety check: Pass | Apache-2.0 | |
| Game Assetsglifxyz/glif-mcp-server | 213 | — | ~831 | Automated safety check: Pass | MIT | |
| Export Pipelinejame581/GodotPrompter | 805 | — | ~3.5k | Automated safety check: Pass | MIT | |
| Studiowith-pebbly/aseprite-ai-artist | 230 | — | ~4k | Automated safety check: Pass | MIT |
RandallLiuXin/GodotMaker
Runtime debugging and live project inspection via godot-mcp.
valkor-ai/loom
Build, test, debug, and visually verify Godot projects through Loom.
glifxyz/glif-mcp-server
Make art and media for a game you are building with Glif: character reference sheets, consistent characters, pixel-art sprite sheets with animation cycles, seamless and PBR textures, 3D models, item…
jame581/GodotPrompter
A skill your agent uses when exporting and distributing Godot games — export presets, platform settings, CI/CD with GitHub Actions
with-pebbly/aseprite-ai-artist
The front door for any Aseprite or pixel-art request. An agent skill from with-pebbly/aseprite-ai-artist.
gamedev-skills/awesome-gamedev-agent-skills
Run GDScript test suites from the command line with godot --headless, using a SceneTree/MainLoop runner script that exits non-zero on failure so CI can gate merges.
scenario-labs/skills
A skill your agent uses when drawing or animating with Grease Pencil in Blender 5.x from Python: 2D or 2.5D illustration, frame-by-frame animation, a cutout or part-based 2D character, strokes with…
scenario-labs/skills
A skill your agent uses when grooming hair or fur in Blender with hair curves, such as a character hairstyle, animal fur, procedural fur in geometry nodes, or hair cards and mesh hair for games.
scenario-labs/skills
A skill your agent uses when lighting, rendering or compositing in Blender: light a character, product or hero shot, interior at dusk or night, three-point or motivated lighting, sun and sky, HDRI…
scenario-labs/skills
A skill your agent uses when creating a ChatGPT pet or Codex pet with Scenario: hatching an animated companion from a text idea, a character, mascot or brand cue, or reference photos and art; making…
scenario-labs/skills
A skill your agent uses when animating characters or scenes in Godot 4.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop…
scenario-labs/skills
A skill your agent uses when adding or fixing sound in Godot 4.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D…
Categories
A skill your agent uses when Godot 4.7 work must run without a mouse or at scale: batch import of hundreds of GLB props or an AI image-to-3D art drop, naming rules, import presets and post-import…. Scenario Godot Pipeline Automation is an agent skill from scenario-labs/skills.7 work must run without a mouse or at scale: batch import of hundreds of GLB props or an AI image-to-3D art drop, naming rules, import presets and post-import scripts, editor plugins, EditorScript and @tool, EditorImportPlugin, GUT or gdUnit4 tests in CI, a GitHub Actions export workflow, GDExtension basics, or a Godot MCP server; also when --import is slow, textures stay uncompressed, tests pass locally but CI fails, or an export ships test folders.
Scenario Godot Pipeline Automation fits situations like: godot 4.7 work must run without a mouse; at scale: batch import of hundreds of GLB props; an AI image-to-3D art drop; import presets and post-import scripts.
Run `npx skills add scenario-labs/skills --skill scenario-godot-pipeline-automation -a claude-code`. Or copy the skill folder (skills/game-engines/godot/scenario-godot-pipeline-automation in scenario-labs/skills) into .claude/skills/scenario-godot-pipeline-automation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add scenario-labs/skills --skill scenario-godot-pipeline-automation -a codex`. Or copy the skill folder (skills/game-engines/godot/scenario-godot-pipeline-automation in scenario-labs/skills) into .agents/skills/scenario-godot-pipeline-automation in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add scenario-labs/skills --skill scenario-godot-pipeline-automation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scenario-godot-pipeline-automation, .gemini/skills/scenario-godot-pipeline-automation, .github/skills/scenario-godot-pipeline-automation and .opencode/skills/scenario-godot-pipeline-automation in your project.
Going by SKILL.md and its folder, Scenario Godot Pipeline Automation needs the command-line tools its instructions call (npx). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Scenario Godot Pipeline Automation is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 5.5k tokens (SKILL.md is roughly 22k 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 15k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Scenario Godot Pipeline Automation: MCP Driver (RandallLiuXin/GodotMaker, 550 stars), Godot (valkor-ai/loom, 1.2k stars), Game Assets (glifxyz/glif-mcp-server, 213 stars) and Export Pipeline (jame581/GodotPrompter, 805 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
scenario-labs (a GitHub organization) maintains it in scenario-labs/skills, which has 946 GitHub stars. The repository holds 146 skills in this directory. The repository was last updated on October 10, 2026.
Source: scenario-labs/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.