Godot Gdscript Patterns
925236118/AlphaAgent
Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization.
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…
$ npx skills add scenario-labs/skills --skill scenario-godot-audio -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install scenario-labs/skills scenario-godot-audio --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-audio .claude/skills/scenario-godot-audio && 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-audio" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-audio into .claude/skills/scenario-godot-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-audio", 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-audioType 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-audio -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install scenario-labs/skills scenario-godot-audio --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-audio .agents/skills/scenario-godot-audio && 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-audio" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-audio into .agents/skills/scenario-godot-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-audio", 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-audio -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install scenario-labs/skills scenario-godot-audio --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-audio .cursor/skills/scenario-godot-audio && 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-audio" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-audio into .cursor/skills/scenario-godot-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-audio", 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-audio--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-audio -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install scenario-labs/skills scenario-godot-audio --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-audio .gemini/skills/scenario-godot-audio && 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-audio" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-audio into .gemini/skills/scenario-godot-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-audio", 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-audioInstalls 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-audio -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-audio .github/skills/scenario-godot-audio && 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-audio" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-audio into .github/skills/scenario-godot-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-audio", 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-audio -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-audio --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-audio .opencode/skills/scenario-godot-audio && 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-audio" agent skill from https://github.com/scenario-labs/skills/tree/main/skills/game-engines/godot/scenario-godot-audio into .opencode/skills/scenario-godot-audio/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "scenario-godot-audio", 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-audioA 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 Godot Audio is an agent skill from scenario-labs/skills. Use 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 sound too quiet or not panning, reverb zones not working, occlusion, adaptive or interactive music (AudioStreamInteractive, layers, stingers), music loops with gaps, SFX that repeat, AudioStreamRandomizer, AudioStreamGenerator, import settings, or importing AI-generated music, SFX and voice from Scenario or ElevenLabs.
Its SKILL.md is about 4.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 17 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 and ElevenLabs. 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 8 files in scripts/ (Python), 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 Audio loads about 4.7k tokens when it runs, and up to ~17k if it reads all its reference files. Until then it costs about 130 tokens; SKILL.md has 2,126 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,126 words, ~4,698 tokens.
.claude/skills/scenario-godot-audio/SKILL.md (or your agent's skills folder). This skill also uses 13 other files; get the full folder from GitHub.Target: Godot 4.7.2.stable, macOS Apple Silicon.
At expert level, the mix is designed as data and then measured. Bus layouts, music transitions and voice limits are written as specs. Every claim gets checked with numbers read from the mixer, since an agent cannot listen. Experts spend more effort deciding which sounds not to play than on playing them. That is the core of combat audio. 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, the review loop, 4.7 traps).
Status (2026-10-02): 18 live jobs in 12 test groups, the round-2 checks (P15) and 13 offline tests all pass in Godot 4.7.2 (references/procedures.md, tests/code/godot-audio/).
--headless uses the Dummy driver and is silent. That is true for the speakers only. In 4.7.2 the Dummy driver still mixes in real time at 44.1 kHz. Peak meters, AudioEffectCapture and AudioEffectRecord all work there, and a -24.08 dBFS file reads -24.07 (observed). For timing, render offline with AudioStreamPlayback.mix_audio() (audio_meter.render_stream), sample-exact; real-time recordings start about 0.2 s late (observed).music_builder.audit_interactive lists the missing pairs."Master" and plays there. It recovers once the name is restored (observed). Audit scenes for players on Master or on missing buses (P13).area_mask defaults to 0, so Area3D reverb overrides do nothing until it is set to 1 (P7).| Input | Why it changes the plan | Default if not given |
|---|---|---|
| Platform (desktop, mobile, web) | Web plays in Sample mode by default (default_playback_type.web = 1), which bypasses bus effects (docs) | desktop |
| 2D or 3D, listener | AudioStreamPlayer2D or 3D, unit size, max distance | 3D, Camera3D listener |
| Peak simultaneous sources | pool size, caps | 200 enemies, 32 voices |
| Music style (rhythmic, ambient) | bar or beat exits versus immediate, BPM import | rhythmic, 4/4 |
| Asset source | conditioning: AI (scenario-audio, scenario-elevenlabs) or a sound designer | AI files, conditioned |
| Middleware (FMOD, Wwise) | native nodes versus plugin banks | native Godot |
| Loudness targets | per-kind LUFS | -18 LUFS SFX, voice and music; -24 ambience [added] |
audio_buses.COMBAT_LAYOUT with build_layout, save it to the file named by audio/buses/default_bus_layout, and reload it in a fresh process. GATE: audit_layout returns no flags, and the HardLimiter is on Master after the reload. A slider at 0.5 sets -6.02 dB, and the output drops 6.02 dB..import keys with gd_audio.set_import_params, run gd_run.import_project, then read the loaded resource. GATE: music has loop, bpm and beat_count set on the loaded stream, and gd_audio.audit_imports returns no flags.prepare_ai_audio(src, dst, kind) trims silence, levels the file and converts SFX to mono WAV. bars_for(seconds, bpm) gives beat_count. GATE: a loudness spread under 1 LU per kind, no lead silence, and a loop seam with a lag of 0 samples from audio_meter.loop_seam(stream).SfxPool with per-type limit, radius_m, radius_limit, cooldown_ms, max_distance_m and priority stealing. GATE: on the 200-enemy burst, live voices stay within the cap, the node count stays flat, and the peak before the limiter is under 0 dBFS. Then open the waveform sheet and look at it.AudioListener3D.make_current() overrides the camera (moved 40 m off: -12.1 to -29.8 dB, sides swapped). In 2D without a listener the viewport center hears: put an AudioListener2D on the player (DevWorm 07Ky 00:33:25, First Pancake 1PDU 00:04:05). Then unit_size, max_distance, area_mask = 1 for room buses, and occlusion (one ray at play time for shots, Occluder3D for long emitters). GATE: one current listener; every positional player on a named non-Master bus (audio_audit.scan); measured levels per distance, left/right balance, and an 8 kHz drop of 12 dB or more when blocked.music_builder.build_interactive(spec), audit it and save it as .tres. Use AudioStreamSynchronized stems for layers. GATE: a tone-tracked offline render shows each switch on its bar or beat, and the stinger returns to the held clip.static func combat_mix(engaged: int) -> Dictionary:
if engaged == 0: return {"Ambience": -6.0, "Music": -8.0}
if engaged <= 5: return {"Ambience": -12.0, "Music": -6.0}
return {"Ambience": -80.0, "Music": -4.0}
# on change: audio_buses.apply_state(self, combat_mix(n), 1.0)--write-movie x.avi --fixed-fps 60 (windowed, 160x90), then gd_audio.movie_audio. GATE: 48 kHz output, two seeded renders with identical MD5, integrated loudness inside the target, a true peak under -1 dBTP, and a spectrogram that you open.| Value | Measured or source | Relative to |
|---|---|---|
| 3D level, flat region | 1 to 7 m at 0 dB, -3 dB at 10 m, -8.9 at 20, -14.8 at 40, -20.7 at 80 (500 Hz) | inverse model, unit_size 10, max_db +3 |
| Distance low-pass | none at 10 m; 8 kHz a further -22 dB at 20 m, -29 at 40 m | defaults 5000 Hz, filter_db -24; filter_db 0 disables it |
| Pan, 5 m to the right | L -16.0 / R -10.0 dB | panning_strength 1.0 times project 3d 0.5 |
| Linear slider | 0.5 is -6.02 dB; mute under 0.05 | Game Dev Artisan (h3_1 00:09:23) |
| Pool | 32 voices, ring of players | Michael Games (H-6p 00:09:44) |
| Radius rule | keep about 2 plays per radius | Somberg (00:05:52), Murch's "rule of two and a half" |
| Combat peak before the limiter | naive +32.4, pooled +8.5, tuned -13.9 dBFS | 200 enemies, 10 Hz, 2 s (P6) |
| Occlusion | 8 kHz -58 dB through a 1 kHz low-pass; Occluder3D 20 kHz to 800 Hz in about 0.5 s | P8 |
| Loudness targets | -18 LUFS SFX, voice, music; -24 ambience; true peak -1 dBTP | [added] starting points |
| Short-sound threshold | under 3 s, peak level to -3 dBFS | loudnorm missed by 3 LU on 0.5 s (P4) |
| Master | never above 0 dB; work in -60 to 0 dB | audio buses doc |
audit_layout; a clean audit_interactive, with no missing reachable pairs; a clean audit_imports; a clean audio_audit.scan (no players on Master, no missing streams, area_mask set where an Area overrides the bus). On the stress burst, the peak before the limiter is under 0 dBFS, live voices are at or under the cap, and the node count is stable. analyze() per file: loudness within 1 LU of target, true peak at or under -1 dBTP, lead_silence_s under 0.01 for one-shots. Loop seams show lag 0. Generator get_skips() is 0.| Mistake | What it looks like | Fix |
|---|---|---|
| One AudioStreamPlayer3D per enemy, play on every shot | +32 dBFS wall, limiter pumping, 200 live voices | SfxPool with caps, radius rule, cooldown |
| A cap without a cooldown | Mix pulses every clip length | cooldown_ms 25 or more, Randomizer takes |
| Area3D reverb zone does nothing | Room bus reads -200 dB | area_mask = 1 on players (4.7 default 0) |
| Bus renamed in the layout | Player shows Master, ignores the slider | Keep names stable; audio_audit.scan |
| Hold set on the transition into the stinger | Music silent after the stinger | Hold on the transition leaving the held clip |
Trusting the .import text | Loop still off in game | Check the loaded stream's loop and bpm |
| loudnorm on a 0.5 s hit | -21 LUFS instead of -18 | Peak-level short sounds (prepare_ai_audio) |
| Music as WAV, SFX in stereo | Large builds, wasted mono fold | audit_imports: Ogg or MP3 music, mono SFX |
Awaiting finished on looping audio | Code hangs | finished fired 0 times in 1 s on a looping 0.2 s clip, once without loop (docs, P15) |
| No current listener in 3D | Every 3D sound silent, no error | a current Camera3D or AudioListener3D (P15) |
Setting both random_pitch and random_pitch_semitones | The second silently overwrites the first | one property: 2 semitones is random_pitch 1.1225; all variation defaults to 0 (docs, P15) |
Footstep timer tested with == | No steps at all: 0 in 10 s | timer <= 0.0, then timer += interval: 28 steps (FinePointCGI 7kD7 00:38:17, P15) |
AudioEffectLimiter on Master | Deprecated warning | AudioEffectHardLimiter, ceiling -1 dB |
| Bus effects on web | No reverb or filters in the browser | Playback type Stream for those players (docs) |
Ogg made with ffmpeg's native vorbis encoder | Loop wraps 32 samples late (8.0007 s file) | Use libvorbis or MP3 with a gapless header; check audio_meter.loop_seam |
prepare_ai_audio, then P3); events, positions and the engaged-enemy count from scenario-godot-gameplay; autoload placement from scenario-godot-architecture; slider nodes from scenario-godot-ui.save_volumes/load_volumes to scenario-godot-ui; a play(type, pos) API returning an int id to scenario-godot-gameplay; pool stats and the web Sample-mode list to scenario-godot-performance-export; the live test file to scenario-godot-pipeline-automation.analyze() table, open issues.area_mask defaults to 0 on AudioStreamPlayer2D and 3D (4.7). Area bus overrides need it set to 1 (verified).AudioEffectLimiter is deprecated; use AudioEffectHardLimiter. AudioEffectSpectrumAnalyzer.tap_back_pos is removed.set_bus_volume_linear, volume_linear and max_polyphony (default 1) exist. AudioStreamInteractive, Synchronized and Playlist date from 4.3.bpm and beat_count like Ogg (verified). AudioStreamWAV has no bpm, so beat-synced clips must be Ogg or MP3.compress/mode 2, format 3).yield, Tween nodes, ResourceSaver.save(path, res).references/procedures.md (P1 to P15 with code and results; generator, pool cost and Movie Maker numbers are there), expert-notes.md (principles by expert, timestamps), critique.md (rubric), gui-paths.md (Audio panel, transition matrix, Import dock, Profiler), sources.md.scripts/gd_audio.py: install, import edit and audit, analyze, tone tracking, AI intake, movie audio, pictures.scripts/agentkit/audio/: audio_meter, audio_buses, music_builder, sfx_pool, occluder_3d, tone_generator, audio_audit.© 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 13 other files (scripts, references) in skills/game-engines/godot/scenario-godot-audio of scenario-labs/skills.
Open the folder on GitHubat commit f6f8ab7
Scenario Godot Audio 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 Audio 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 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 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 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 Godot Audio is an agent skill from scenario-labs/skills.7: audio buses and effects, volume sliders, 'too many sounds', combat audio with hundreds of enemies, sounds clipping or distorting, 3D sound too quiet or not panning, reverb zones not working, occlusion, adaptive or interactive music (AudioStreamInteractive, layers, stingers), music loops with gaps, SFX that repeat, AudioStreamRandomizer, AudioStreamGenerator, import settings, or importing AI-generated music, SFX and voice from Scenario or ElevenLabs.
Scenario Godot Audio fits situations like: fixing sound in Godot 4.7: audio buses and effects; too many sounds; combat audio with hundreds of enemies; sounds clipping.
Run `npx skills add scenario-labs/skills --skill scenario-godot-audio -a claude-code`. Or copy the skill folder (skills/game-engines/godot/scenario-godot-audio in scenario-labs/skills) into .claude/skills/scenario-godot-audio in your project. Claude Code loads it when a task matches its description.
Run `npx skills add scenario-labs/skills --skill scenario-godot-audio -a codex`. Or copy the skill folder (skills/game-engines/godot/scenario-godot-audio in scenario-labs/skills) into .agents/skills/scenario-godot-audio 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-audio -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-audio, .gemini/skills/scenario-godot-audio, .github/skills/scenario-godot-audio and .opencode/skills/scenario-godot-audio in your project.
Going by SKILL.md and its folder, Scenario Godot Audio needs Python for the scripts in its folder and the command-line tools its instructions call (npx). Our summary lists: Python 3; 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 Audio 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 13k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Scenario Godot Audio: 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.