Godot Gdscript Patterns
925236118/AlphaAgent
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
A skill your agent uses when making or fixing particle effects and game feel in Godot 4.7: GPUParticles3D or GPUParticles2D explosion, fireball projectile with trail, impact, sparks, smoke…
$ npx skills add scenario-labs/skills --skill scenario-godot-vfx -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scenario-labs/skills scenario-godot-vfx --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-vfx .claude/skills/scenario-godot-vfx && 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-vfx" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-vfx into .claude/skills/scenario-godot-vfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-vfx", 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-vfxType 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-vfx -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scenario-labs/skills scenario-godot-vfx --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-vfx .agents/skills/scenario-godot-vfx && 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-vfx" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-vfx into .agents/skills/scenario-godot-vfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-vfx", 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-vfx -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scenario-labs/skills scenario-godot-vfx --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-vfx .cursor/skills/scenario-godot-vfx && 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-vfx" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-vfx into .cursor/skills/scenario-godot-vfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-vfx", 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-vfx--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-vfx -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scenario-labs/skills scenario-godot-vfx --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-vfx .gemini/skills/scenario-godot-vfx && 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-vfx" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-vfx into .gemini/skills/scenario-godot-vfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-vfx", 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-vfxInstalls 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-vfx -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-vfx .github/skills/scenario-godot-vfx && 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-vfx" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-vfx into .github/skills/scenario-godot-vfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-vfx", 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-vfx -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-vfx --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-vfx .opencode/skills/scenario-godot-vfx && 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-vfx" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-vfx into .opencode/skills/scenario-godot-vfx/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-vfx", 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-vfxA skill your agent uses when making or fixing particle effects and game feel in Godot 4.7: GPUParticles3D or GPUParticles2D explosion, fireball projectile with trail, impact, sparks, smoke…
Scenario Godot Vfx is an agent skill from scenario-labs/skills. Use when making or fixing particle effects and game feel in Godot 4.7: GPUParticles3D or GPUParticles2D explosion, fireball projectile with trail, impact, sparks, smoke, shockwave, ribbon trails, sub-emitters, particle collision, color curve does nothing, particles pop out or vanish, effect too heavy on mobile, CPUParticles fallback for Compatibility or web, overdraw, hit-stop, freeze frame, screen shake, juice.
Its SKILL.md is about 5.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 29 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. 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 9 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 Vfx loads about 5.3k tokens when it runs, and up to ~19k if it reads all its reference files. Until then it costs about 109 tokens; SKILL.md has 2,176 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,176 words, ~5,333 tokens.
.claude/skills/scenario-godot-vfx/SKILL.md (or your agent's skills folder). This skill also uses 23 other files; get the full folder from GitHub.Target: Godot 4.7.2.stable, macOS Apple Silicon.
Expert level here means effects built as layers of small systems, every silent particle failure caught by a script before anyone looks, and every claim about look or cost backed by frames captured at exact times and by measured overdraw and GPU time per renderer. The agent builds effects in code, renders them windowed, and looks at contact sheets. 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 (gd_env, gd_run, gd_review, AgentKit, GD_MAX slots, windowed vs headless).
vertex_color_use_as_albedo; scale curves do nothing on a particle billboard without billboard_keep_scale; trails need trail_enabled, a Ribbon or Tube trail mesh and use_particle_trails (Godotneers cZ5Ang_Ji8E 00:09:44, 00:32:54; Brackeys 00:23:44). A sub-emitter's own amount is a global cap (Godotneers yKoGuBGZatY 00:44:48) and its AABB is not inherited (cZ5Ang_Ji8E 01:06:19). vfx_audit.gd flags all of these.visibility_aabb is both culling and the collision area (Godotneers cZ5Ang_Ji8E 00:45:28). Measure it rather than guessing: on 4.7.2, capture_aabb() pads particle positions by the draw mesh's longest axis and ignores per-particle scale (measured: Flash quad 2 m gave a 4 m box; a ring scaled to 4.5 m still gave 2 m) [added]. fit_aabb corrects for scale and must run inside the level, because debris without its colliders falls 8 m through the world.amount_ratio. amount_ratio hides particles and saves nothing (GPUParticles3D docs; Bonkahe BUa-mKHEPUM 00:01:18). Lower amount per tier and drop the layers the renderer cannot draw. Compatibility drops decals with no warning, and logs warnings for trails and sub-emitters (measured) [added].Engine.time_scale and waits on a timer that ignores it, then restores 1.0 (Mostly Mad Jwv9t5zFlqI 00:00:32, 00:01:37). Shake comes from smooth noise with decay (Mostly Mad pG4KGyxQp40 00:00:39); trauma squared and a 3D camera offset are [added].--fixed-fps 60, so frame k is t = k/60 s, at 0.03 to 2.2 s, and look at one contact sheet per renderer. Overdraw comes from DEBUG_DRAW_OVERDRAW with a measured per-layer calibration, and GPU time from the Vulkan driver (Metal reports 0 on macOS) [added].EMISSION_TRANSFORM[3].xyz in start() and process(), with no forces (Octodemy iPCzOe-S9EQ 00:05:42).| Input | Changes | Default |
|---|---|---|
| Target renderers | which layers exist (trails, decals, sub-emitters) | Forward+ desktop, Mobile phones, Compatibility web |
| 2D or 3D | node family, collision (LightOccluder2D vs GPUParticlesCollision3D) | 3D |
| Camera distance and screen share | quad sizes, overdraw budget | gameplay camera 4 to 10 m |
| Frame budget for VFX | amounts per tier | under 2.5 ms GPU for six bursts at 720p on the dev Mac [added] |
| Look | unshaded additive vs lit smoke (Le Lu e_6ZA-xa_DQ 00:07:23) | stylized, unshaded fire, alpha-blended smoke |
| Spawning model | free-on-done vs pooled | fx_burst frees itself; done signal for pools |
gd_vfx.install(P) copies tooling to addons/agentkit/vfx/, and shaders and runtime scripts to res://vfx/ (they ship with the game). Read project.godot. GATE: 3d/physics_engine="Jolt Physics" and the intended renderer/rendering_method are present as text; vfx_selftest.gd:compile reports 0 errors over 10 scripts (check_all skips addons/agentkit/).gd_vfx.build(P, "high"|"mobile"|"low") saves explosion_, impact_, fireball_, shot_ and burst_stage_<tier>.tscn from vfx_recipes.gd. Specs are dictionaries (VB.emitter); curves and ramps become CurveTexture and GradientTexture1D (HDR when a channel exceeds 1); shared textures live in res://vfx/tex/*.tres (Brackeys 00:15:04: never embed). GATE: build ok, no captured errors.
Kit layers: fireball (stretched SphereMesh head with fx_fire_head, noise minus gradient, HDR; inverted-Fresnel fx_soft_core; world-space eroded puffs driven by INSTANCE_CUSTOM.y, onetupthree N9ilhL8JFes 00:05:38; velocity sparks; ribbon via fx_trail_follow and an OmniLight3D, both off on low); explosion (flash, fire, depth-sorted smoke, colliding sparks, Face-Y ring, debris with a 30 Hz smoke sub-emitter on high, light, scorch Decal except low); fx_projectile (ray swept every tick, impact on the hit normal, frees itself after its trail dies).gd_vfx.audit(P, scene, tier, level). GATE: 0 errors for the matching tier. Warnings are read and either fixed or written down. Prove the audit catches problems once on broken.tscn (21 findings, 4 errors).gd_vfx.fit_aabb(P, "res://vfx/burst_stage_high.tscn", node="Explosion", play_method="Explosion:play", write=True, out=effect_scene). GATE: old_encloses_live true for every emitter, and the timeline aabb_check reports nothing outside.gd_vfx.timeline(P, scene, times=[0.03,0.1,0.2,0.35,0.6,1.0,1.5,2.2], renderer=..., trigger="none", extra={"play_method": "Explosion:play", "aabb_check": True}); for the projectile, extra={"hold": "Fireball"}. Open the contact sheet. GATE: no all-black, all-white or uniform flags. By eye: the flash reads first, fire turns to smoke, nothing pops, the ring fades, sparks bounce on the floor, the scorch stays, and the head reads as fire with its tail behind it.gd_vfx.to_cpu for a CPUParticles3D twin. GATE: read the lost list (collision, sub-emitters, trails, particle shaders, alpha_curve baked into the ramp, align mode) and render the twin in gl_compatibility.gd_vfx.overdraw(...) per tier, and gd_run.profile_scene(stress scene, size=(1280,720), driver="vulkan"). GATE: p99 layers and GPU p95 inside the numbers below, low tier lighter than high.vfx_selftest.gd: lifecycle (node count back to baseline after 5 spawns), projectile (one hit, explosion spawned, everything freed) and juice (time_scale restored, shake bounded and back to 0). GATE: all ok.vfx_recipes.gd specs and fx_fire_head.gdshader, not prose; readers may lack the kit.restart(), not emitting = true (docs).use_fixed_seed, then speed_scale = 0, restart(), request_particles_process(t). Two seeks to 0.4 s were pixel-identical; without a fixed seed they differed by 0.50 (P13).BLEND_MODE_PREMULT_ALPHA, texture imported with Premultiply Alpha): low alpha adds, high alpha mixes; fade with black and alpha 0 (Brackeys 30:56 to 32:39). Measured over gray: alpha 0 brightened it, alpha 1 replaced it (P13).fx_smoke_lod.gdshader maps a black-to-white color ramp to mip 0 to 8 of one noise texture, so the puff diffuses almost free; color moves to a uniform (Le Lu e_6ZA-xa_DQ 16:40 to 24:20). Detail spread fell from 0.10 to 0.0 over life on all three renderers (P13).duplicate(true) in 4.7.2: embedded curves become unique, external .tres textures stay shared (P13). Keep the mesh shared and the material in material_override (Brackeys 13:59 to 15:04).transform_align Z Billboard + Y to Velocity (Brackeys 27:07).sorting_offset (Brackeys 29:57).DRAW_ORDER_INDEX (the 3D default) is the only order with motion vectors; keep it for opaque particles (docs).fixed_fps times per preprocessed second and can stall the GPU; never on one-shots (docs, audit preprocess_one_shot).distance_fade_mode Pixel Alpha fades by distance without a depth read; proximity fade softens intersections.| Value | Relative to | Source |
|---|---|---|
| Head HDR color (2, 1.3, 0.6); sparks (2, 1.3, 0.5); spark lifetime 0.3 s | glow threshold 1.0 | Le Lu 00:08:05, 00:28:15 |
| Head render priority 2 over the core's 1; inverted Fresnel power 4 to 5 | nested transparent meshes | Le Lu 00:18:25 |
| Shockwave: 1 particle, 0.4 to 0.5 s | one-shot burst | Brackeys 00:18:34 |
| Tunnel step = v_max / fixed_fps; fixed_fps 30 by default | thinnest collider | Godotneers 00:47:17, docs |
collision_base_size default 0.01 m | visible particle size | Godotneers 00:57:27 |
Child amount at least parent amount x per-event count (AT_END, AT_COLLISION, AT_START); CONSTANT mode: parent amount x Hz x child lifetime | sub-emitter cap | Godotneers 00:44:48 (per event); CONSTANT derived [added], both in link_sub_emitter |
sub_emitter_frequency is in Hz: dots 1/f m apart at 1 m/s | measured 4 and 10 Hz | live V10 |
| Overdraw per layer: 0.070 linear luma (Forward+, Mobile); 36.6/255 raw (Compatibility, saturates past 6) | DEBUG_DRAW_OVERDRAW PNG | live V11 [added] |
| Explosion p99 layers at the 0.6 s peak: high 4.9 to 5.9, low 2.3 to 3.3 (seeds vary) | 640x360 view at about 5 m | live V11, 3 runs |
| GPU p95, 1280x720, M5 Max via Vulkan, machine shared with other Godot jobs: stage alone 1.0 to 2.3 ms; six looping explosions: high 3.4 to 4.0, mobile tier 2.1 to 2.7, low 1.2 ms | the frame | live V12, 3 runs |
| Particle counts, explosion / fireball: high 208 / 57, mobile 48 / 35, low 34 / 22 | tier scale 1.0 / 0.6 / 0.4 | kit [added] |
| Hit-stop 0.05 time scale for 0.08 s; shake 0.30 x 0.22 m at trauma 1, decay 1.8/s | the camera | [added], typical range in Mostly Mad note |
| Smoke ramp about 0.06 linear for mid gray on Forward+; x3.6 on Compatibility | the same frame | live V5 [added] |
Measurable:
visibility_aabb at every captured time.done fires N times with no safety timeouts.hit at the expected time (12 m at 14 m/s gives 0.867 s, frame 52) and nothing left in the tree.Engine.time_scale is 1.0 after single and overlapping stops, with no early restore; shake offset at most the maximum and exactly 0 at the end.Visual (contact sheets of at most 1600 px; rubric in references/critique.md): flash then fire then smoke, no popping, readable silhouette at gameplay distance, ring fades, sparks bounce, the trail follows the head, the explosion is oriented to the surface normal, and each tier holds up on its renderer.
| Mistake | What it looks like | Fix |
|---|---|---|
| Vertex color off | white quads, curves ignored | vertex_color_use_as_albedo |
| Keep scale off on a particle billboard | scale curve ignored | billboard_keep_scale |
Trail without use_particle_trails | chopped flat pieces | set it on the trail mesh material |
| Child amount under the cap | sub-emitter trails thin out | link_sub_emitter computes the cap |
| Default 8 m AABB | effect pops out, collisions stop | fit_aabb in the level |
collision_base_size larger than the spawn height | debris stuck at the origin (measured: 0.5 m of travel instead of 10 to 12 m) | spawn above the collider |
amount_ratio used as the mobile tier | no saving | lower amount |
emitting = true to replay | one-shot sometimes skipped | restart() (docs) |
| Freeing the projectile on hit | world-space trail vanishes at once | stop emitters, wait for the trail to die, then free |
convert_from_particles on view-depth sorting | "Index p_order = 3 is out of bounds", sorting lost | VB.to_cpu maps draw order |
| Same colors on every renderer | smoke near black on Compatibility | retune the low tier on Compatibility |
| Profiling on Metal | gpu_ms 0 | driver="vulkan" |
res://vfx/*.tscn per tier, res://vfx/shaders and runtime (fx_burst, fx_projectile, Juice), audit JSON, sheets, overdraw and GPU tables.capture_aabb() pads by the draw mesh's longest axis and ignores particle scale (4.7.2, measured).CPUParticles3D.convert_from_particles copies draw_order as a raw integer, but the enums differ: GPU view depth is 3, CPU view depth is 2. CPUParticles3D has no alpha_curve (4.7.2, measured).--rendering-driver vulkan.min_value and max_value since 4.4, so widen the range for scale curves above 1. AgX arrived in 4.4. Glow defaults changed in 4.6 (intensity 0.8 to 0.3): retune older effects.start() and process(); a Godot 3 vertex() writing VELOCITY fails.references/procedures.md (P1 to P13, calls, code, live results), expert-notes.md (principles with timestamps), critique.md (rubric), gui-paths.md (editor paths), sources.md (sources and timestamps).scripts/gd_vfx.py: install, build, audit, timeline, overdraw, fit_aabb, to_cpu, maths.scripts/agentkit/vfx/: vfx_build, vfx_recipes, vfx_audit, vfx_capture, vfx_jobs, vfx_selftest; shaders/ (including fx_smoke_lod) and runtime/ ship with the game.© 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 23 other files (scripts, references) in skills/game-engines/godot/scenario-godot-vfx of scenario-labs/skills.
Open the folder on GitHubat commit f6f8ab7
Scenario Godot Vfx 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 Vfx this skillscenario-labs/skills | 946 | — | ~5.3k | Automated safety check: Pass | MIT | |
| Godot Gdscript Patterns925236118/AlphaAgent | 103 | 10 repos | ~5k | Automated safety check: Pass | MIT | |
| 2D Map and Scene Generator0x0funky/agent-sprite-forge | 4.4k | — | ~2.9k | Automated safety check: Pass | MIT | |
| Godot UI Integrationzimo-xiao-zheng/godot-ui-integration | 285 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Godot Wechat Minigame Adaptergodothub/godot-minigame | 187 | — | ~1.5k | Automated safety check: Pass | MIT | |
| AI Game Art Pipelineybuild-ai/ai-game-art-pipeline-skill | 297 | — | ~1.1k | Automated safety check: Pass | MIT |
925236118/AlphaAgent
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
0x0funky/agent-sprite-forge
Plans and builds 2D game maps and scenes, from tilemaps and parallax backgrounds to HD-2D plates, with collision checks, a playable HTML preview and Tiled, Godot or LDtk export.
zimo-xiao-zheng/godot-ui-integration
Build or revise Godot UI from an approved design, separated art, or a visual reference when scene structure, gameplay binding, and runtime visual verification all matter.
godothub/godot-minigame
Apply the bundled self-contained Godot WeChat Mini Game adapter kit to an official Godot checkout.
ybuild-ai/ai-game-art-pipeline-skill
Provider-neutral open-source skill for planning and producing game-runtime art assets and animation: static props/icons, canonical character sheets, combat sprites, 3D/video motion references…
RandallLiuXin/GodotMaker
Runtime debugging and live project inspection via godot-mcp.
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…
Works with
Categories
A skill your agent uses when making or fixing particle effects and game feel in Godot 4.7: GPUParticles3D or GPUParticles2D explosion, fireball projectile with trail, impact, sparks, smoke…. Scenario Godot Vfx is an agent skill from scenario-labs/skills.7: GPUParticles3D or GPUParticles2D explosion, fireball projectile with trail, impact, sparks, smoke, shockwave, ribbon trails, sub-emitters, particle collision, color curve does nothing, particles pop out or vanish, effect too heavy on mobile, CPUParticles fallback for Compatibility or web, overdraw, hit-stop, freeze frame, screen shake, juice.
Scenario Godot Vfx fits situations like: fixing particle effects and game feel in Godot 4.7: GPUParticles3D; GPUParticles2D explosion; fireball projectile with trail; particle collision.
Run `npx skills add scenario-labs/skills --skill scenario-godot-vfx -a claude-code`. Or copy the skill folder (skills/game-engines/godot/scenario-godot-vfx in scenario-labs/skills) into .claude/skills/scenario-godot-vfx in your project. Claude Code loads it when a task matches its description.
Run `npx skills add scenario-labs/skills --skill scenario-godot-vfx -a codex`. Or copy the skill folder (skills/game-engines/godot/scenario-godot-vfx in scenario-labs/skills) into .agents/skills/scenario-godot-vfx 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-vfx -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-vfx, .gemini/skills/scenario-godot-vfx, .github/skills/scenario-godot-vfx and .opencode/skills/scenario-godot-vfx in your project.
Going by SKILL.md and its folder, Scenario Godot Vfx 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 Vfx 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.3k tokens (SKILL.md is roughly 21k 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 14k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Scenario Godot Vfx: Godot Gdscript Patterns (925236118/AlphaAgent, 103 stars), 2D Map and Scene Generator (0x0funky/agent-sprite-forge, 4.4k stars), Godot UI Integration (zimo-xiao-zheng/godot-ui-integration, 285 stars) and Godot Wechat Minigame Adapter (godothub/godot-minigame, 187 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.