Godot Gdscript Patterns
925236118/AlphaAgent
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
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…
$ npx skills add scenario-labs/skills --skill scenario-godot-animation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scenario-labs/skills scenario-godot-animation --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-animation .claude/skills/scenario-godot-animation && 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-animation" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-animation into .claude/skills/scenario-godot-animation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-animation", 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-animationType 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-animation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scenario-labs/skills scenario-godot-animation --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-animation .agents/skills/scenario-godot-animation && 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-animation" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-animation into .agents/skills/scenario-godot-animation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-animation", 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-animation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scenario-labs/skills scenario-godot-animation --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-animation .cursor/skills/scenario-godot-animation && 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-animation" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-animation into .cursor/skills/scenario-godot-animation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-animation", 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-animation--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-animation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scenario-labs/skills scenario-godot-animation --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-animation .gemini/skills/scenario-godot-animation && 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-animation" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-animation into .gemini/skills/scenario-godot-animation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-animation", 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-animationInstalls 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-animation -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-animation .github/skills/scenario-godot-animation && 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-animation" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-animation into .github/skills/scenario-godot-animation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-animation", 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-animation -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-animation --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-animation .opencode/skills/scenario-godot-animation && 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-animation" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-animation into .opencode/skills/scenario-godot-animation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-animation", 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-animationA 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 Godot Animation is an agent skill from scenario-labs/skills. Use 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 settings, BoneMap retargeting and shared animation libraries, root motion, foot sliding, foot IK with TwoBoneIK3D or custom SkeletonModifier3D, tweens, SpringArm3D cameras, cutscenes; or when a character T-poses, slides, floats, freezes mid-blend or a transition never fires.
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 24 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.
7 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 11 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 Animation loads about 4.7k tokens when it runs, and up to ~19k if it reads all its reference files. Until then it costs about 119 tokens; SKILL.md has 2,098 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,098 words, ~4,656 tokens.
.claude/skills/scenario-godot-animation/SKILL.md (or your agent's skills folder). This skill also uses 20 other files; get the full folder from GitHub.Target: Godot 4.7.2.stable, macOS, Forward+ with Jolt Physics. Every procedure in references/procedures.md was run live in 4.7.2 on 2026-10-02 against a procedurally built humanoid, so nothing needs a download.
anim_motion.gd:foot_speed) and use that number for BlendSpace points and the controller. On a retargeted body the speed scales with Skeleton3D.motion_scale (a 1.15x body walked 1.38 m/s on a 1.2 m/s clip).gd_anim.pose_sheet). Real-time captures land on random frames.npx skills add scenario-labs/skills --skill <name>); unattended, proceed from tool schemas and flag the gap.Ask once, then run:
Kit and project. gd_anim.install_animkit(P); confirm project.godot has Jolt for 3D and the brief's renderer. Gate: the kit's jobs return ok.
Import. Name cycles with a loop hint (Walk-loop), import once, then set options in the .import file (gd_anim.set_import_options, P3) and run --import. Turn on animation/import_rest_as_RESET. Gate: gd_anim.audit has no flags; every cycle loops; RESET exists.
Retarget. Build the BoneMap from the imported bone names (anim_import.gd:make_bonemap, P4); : becomes _ on import. Gate: skeleton is %GeneralSkeleton, bones renamed, sampled poses within 2 mm of the source.
Share. Import clips As Animation Library, give each body its own BoneMap, attach with anim_setup.gd:share_library (P5). Gate: 0 unresolved tracks, identical track layout.
Speeds. foot_speed per cycle and per body (P9). Gate: controller and BlendSpace speeds within 2 percent.
Tree. Build in code (anim_tree.gd, P6): BlendTree root, StateMachine inside, BlendSpace1D with sync, OneShot with a filter, TimeScale. Gate: drive with scripted input gives the expected state list and times; tree audit clean. The transition helper that passed the drive test:
static func transition(expr: String, at_end: bool, xfade: float) -> AnimationNodeStateMachineTransition:
var t := AnimationNodeStateMachineTransition.new()
t.xfade_time = xfade
t.advance_mode = AnimationNodeStateMachineTransition.ADVANCE_MODE_AUTO # default Enabled never auto-fires
if at_end:
t.switch_mode = AnimationNodeStateMachineTransition.SWITCH_MODE_AT_END
if expr != "":
t.advance_expression = expr # read on tree.advance_expression_base_node
return t
# sm.add_transition(&"Ground", &"Fall", transition("not on_floor and not jump_pressed", false, 0.2))Drive it from gameplay with tree.set("parameters/sm/Ground/blend_position", speed) and the state node's properties; fire actions with tree.set("parameters/act/request", AnimationNodeOneShot.ONE_SHOT_REQUEST_FIRE).
Layers and IK. OneShot filters (P7), FootPlacer plus TwoBoneIK3D (P10). Gate: foot within 2 cm of the target on a step, a hole and a 15 deg slope, read in skeleton_updated. Modifiers run in child order, so the placer (targets and hips) goes before the solver:
var ik := TwoBoneIK3D.new()
skeleton.add_child(ik) # after FootPlacer
ik.setting_count = 2
for i in 2:
var side: String = ["Left", "Right"][i] # := cannot infer from an array index
ik.set_root_bone_name(i, side + "UpperLeg")
ik.set_middle_bone_name(i, side + "LowerLeg")
ik.set_end_bone_name(i, side + "Foot")
ik.set_target_node(i, ik.get_path_to(targets[i]))
ik.set_pole_node(i, ik.get_path_to(knee_poles[i])) # 0.6 m in front of the knee
ik.set_pole_direction(i, SkeletonModifier3D.SECONDARY_DIRECTION_PLUS_Z)
skeleton.skeleton_updated.connect(_check_feet) # final pose, after every modifier and influenceLower influence while running and set it to 0 in the air, so authored motion shows through (Lukky, MbaPDWfbNLo 00:09:30).
Camera and cutscene. SpringArm3D with a sphere shape (P12); one AnimationPlayer timeline (P13). Gate: call order and times, camera at checkpoints, animation_finished, section playback.
Look. Pose sheets: T-pose front and side, 8 walk phases, each state, IK terrain, cutscene timeline (P14). Gate: every sheet opened and described.
pose_persist.gd with role RESTORE first and SNAPSHOT last: an incremental 5 deg modifier then reached 60 deg in 12 frames instead of staying at 5 (P16). RESTORE overrides the animation, so never use it on top of a playing clip.CopyTransformModifier3D after it (rotation only, reference type Node, an align node with the ground tilt) brought it to 0.0 deg without moving the foot (P16; Lukky MbaPDWfbNLo 00:07:49).deterministic defaults to false on IterateIK3D; turn it on for stepping legs (MeroDev 17xi4vDqQJk 00:02:28).play_with_capture (P16).find_track in a path-to-index map when scripts sample many tracks: Fair Fight measured 1.5 to 3x on large rigs (XFZQNsFejwk 00:04:03 to 00:06:45); on the 22-track test rig in GDScript, 1.2x (P16). It needs one track layout across clips, so turn off animation/remove_immutable_tracks.animation_finished plus a flag, or the next frame's locomotion call replaces the hit clip (DevWorm GMyw3eHDw7s 00:22:58). Measured: "hurt" held for its 0.4 s, then walk resumed (P16).nodes/apply_root_scale (default true) bakes import scale into meshes and clips, root stays at 1 (docs).| What | Value | Source |
|---|---|---|
| Human walk, run ground speed | about 1.2 to 1.5 m/s walk, 3 to 4 m/s jog [added] | measure the clip instead (P9) |
| No-slide speed measured | walk 1.200, run 3.504 m/s on clips built for 1.2 and 3.5 | P9 |
| Foot-slide tolerance | planted foot under 0.1 m/s; speeds within 2 percent [added] | baseline G5, P9 |
| Locomotion crossfade | 0.1 to 0.2 s; landing 0.05 s; Land to Ground at end with 0.15 s | P6 |
| Import FPS | 30 (default animation/fps) | importer |
motion_scale after Normalize Position Tracks | source hip height (0.97 m test rig) | P4 |
| IK foot error | under 2 cm required, under 0.1 mm measured | P10 |
| FootPlacer ray | 0.5 m above to 1.0 m below the animated foot; hips drop clamp 0.35 m | P10 |
| Spring arm | sphere r 0.2 stops 0.2 m plus margin 0.01 m short of a wall | P12 |
| IterateIK3D defaults | max_iterations 4, min_distance 0.001, angular_delta_limit 2 deg, deterministic false | class reference |
| Tween stagger | 0.05 s per item, 0.2 s per tween | P11; aagPe4dvM2M 00:04:04 |
| Modifier cost | Fair Fight halved a 2 ms overlay with incremental global transforms | XFZQNsFejwk 00:14:07 |
Score with references/critique.md; record each live check as "run in Godot 4.7.2 on <date>: pass, key numbers" and mark anything not run "not yet run" with the reason. Blocking: every track resolves; cycles loop and RESET covers every animated path; speeds match the measured no-slide speeds; the tree passes a scripted drive; a pose sheet was opened. Also: no overwrite_axis or other keys missing from 4.7.2 in .import edits; no SkeletonIK3D in new code; IK results read in skeleton_updated or modification_processed, never from _process.
BoneMap with mixamorig: names. Godot imports mixamorig_Hips; the map matches nothing, the skeleton is still renamed GeneralSkeleton, every library track fails to resolve, and nothing is printed. Build the map from imported names; the audit flags a GeneralSkeleton with no Hips.
Expression transitions left at advance mode Enabled. They never fire. Set ADVANCE_MODE_AUTO (2) on every transition driven by an expression or condition.
Two auto transitions true in one frame. A jump that clears on_floor went Ground to Fall, skipping JumpUp. Guard the expression (not on_floor and not jump_pressed) or give the jump transition priority 0.
Unfiltered OneShot or Add with a partial clip. Deterministic (the AnimationTree default): unlisted bones go to RESET, the character T-poses. Non-deterministic: they freeze. Filter the node.
No RESET. Imported files have none by default; blends and saved scenes then start from rest or zero. animation/import_rest_as_RESET, or author RESET upstream (Blargis, ghYilg9cq-I 00:02:39).
Reading IK results in _process. You get the animated pose. Read in Skeleton3D.skeleton_updated (final, after influence) or in the modifier's modification_processed (100 percent, before influence).
Root motion on Hips. It wobbles; insert a real Root (FinePointCGI, fq0hR2tIsRk 00:04:35). Velocity is basis * get_root_motion_position() / delta.
Speed constants on retargeted bodies. A taller body has a longer stride through motion_scale; re-measure per body.
Tweens without a kill guard. Two tweens on one property both write every frame (Queble, KUyQzjpRsU8 00:02:54). Keep a reference and kill() it.
Method tracks in a headless or skipped cutscene. Default Deferred calls wait for a frame; a loop that never yields fires them all at the end. Use Immediate, or yield frames.
Editing tree nodes at runtime. They are shared by every instance of the scene; per-character values belong in parameters/....
Ray-only spring arm. The camera lands on the wall plane; give the arm a sphere shape.
Cameras keyed without a look target. A cutscene camera whose rotation keys drift lost the hero for the last 5 s; check framing on the timeline sheet, not on the first and last key.
Library loaded on a body with its own clips. Skip Import on the second character's AnimationPlayer so only the shared library plays (Quilled, nb6uSeEZFCI 00:04:36).
gd_run, capture and review tools. Read it first..import edits at scale, CI runs.set_root_bone_name(i, ...), set_target_node(i, path), set_pole_node, set_pole_direction). SkeletonIK3D is deprecated._process_modification_with_delta(delta); _process_modification() is deprecated. Do not apply influence yourself.retarget/rest_fixer/retarget_method (0 None, 1 Overwrite Axis default, 2 Use Retarget Modifier) replaces any overwrite_axis key; RetargetModifier3D exists for runtime retargeting (not run here).tween_await(signal).set_timeout(s) is new in 4.7; tween_subtween since 4.4.play_section_with_markers (4.3+); Animation.length is a double in 4.7; animation names are StringName.root_motion_track, deterministic (false on the player, true on the tree), callback_mode_process, callback_mode_method.priority (lower wins) also decides between auto transitions that are true in the same frame, not only travel() paths; travel() called before the first advance() starts the machine in that state without error; a transition's default advance_mode is Enabled (travel only).modification_processed reports the modifier's result before influence; skeleton_updated gives the blended final pose; outside both, bone poses read as animated..import is applied by a plain --import; loop-hint suffixes are stripped from clip names, a loop prefix is kept; . in clip names becomes _.: and / in bone names; its error string for that is malformed in 4.7.2 (logged in tests/OPEN_ISSUES.md).references/procedures.md (P1 to P16, live results, not yet run), expert-notes.md (attributed claims), critique.md (rubric, scored G5 baseline), gui-paths.md (editor clicks), sources.md.scripts/gd_anim.py: Python helpers (install, run, rig, pose sheets, audit, GLB edits, .import edits, bone sampling).scripts/agentkit/animation/: anim_rig, anim_audit, anim_capture, anim_import, anim_setup, anim_tree, anim_motion, anim_ik, anim_tween, anim_cutscene, plus foot_placer.gd, locomotion_state.gd, cutscene_director.gd, pose_persist.gd.tests/code/godot-animation/test_anim_live.py (A1 to A9, W) and test_anim_offline.py.© 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 20 other files (scripts, references) in skills/game-engines/godot/scenario-godot-animation of scenario-labs/skills.
Open the folder on GitHubat commit f6f8ab7
Scenario Godot Animation 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 Animation this skillscenario-labs/skills | 946 | — | ~4.7k | 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 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…
scenario-labs/skills
A skill your agent uses when a Godot 4 game goes online or co-op: host and join with ENet, WebSocket for a web build, RPCs (@rpc, rpcid, anypeer), MultiplayerSpawner and MultiplayerSynchronizer…
Works with
Categories
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 Godot Animation is an agent skill from scenario-labs/skills.7: AnimationPlayer clips and RESET, AnimationTree state machines and blend spaces built in code, Mixamo or glTF import, loop settings, BoneMap retargeting and shared animation libraries, root motion, foot sliding, foot IK with TwoBoneIK3D or custom SkeletonModifier3D, tweens, SpringArm3D cameras, cutscenes; or when a character T-poses, slides, floats, freezes mid-blend or a transition never fires.
Scenario Godot Animation fits situations like: animating characters; scenes in Godot 4.7: AnimationPlayer clips and RESET; animationTree state machines and blend spaces built in code; boneMap retargeting and shared animation libraries.
Run `npx skills add scenario-labs/skills --skill scenario-godot-animation -a claude-code`. Or copy the skill folder (skills/game-engines/godot/scenario-godot-animation in scenario-labs/skills) into .claude/skills/scenario-godot-animation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add scenario-labs/skills --skill scenario-godot-animation -a codex`. Or copy the skill folder (skills/game-engines/godot/scenario-godot-animation in scenario-labs/skills) into .agents/skills/scenario-godot-animation 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-animation -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-animation, .gemini/skills/scenario-godot-animation, .github/skills/scenario-godot-animation and .opencode/skills/scenario-godot-animation in your project.
Going by SKILL.md and its folder, Scenario Godot Animation 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 Animation is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.7k tokens (SKILL.md is roughly 19k 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 Animation: 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.