playableintelligence/game-creator

add-audio

Add music and sound effects to a game using the Web Audio API — background music, gameplay themes, and SFX.

Hot #3323 First seen Feb 21, 2026

Installation

$ npx skills add playableintelligence/game-creator --skill add-audio

Summary

  • Add music and sound effects to a game using the Web Audio API — background music, gameplay themes, and SFX.
  • Zero dependencies.
  • Use when the user says "add music", "add sound effects", "add audio", "make it sound good", "add BGM", or "add SFX to my game".
  • Do NOT use for gameplay features or visual design.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from playableintelligence/game-creator · top by installs.

npx skills add playableintelligence/game-creator

Browse all from playableintelligence/game-creator

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 327
License MIT
Default branch main
Open issues 4
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.3.0
LicenseMIT
More metadata
author
OpusGameLabs
version
1.3.0
tags
["game","audio","music","sfx","web-audio-api"]

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,399 B
  • docs SUMMARY.md 321 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 846 installs

SKILL.md

Performance Notes

  • Take your time to do this thoroughly
  • Quality is more important than speed
  • Do not skip validation steps

Add Audio

Add procedural music and sound effects to an existing game. BGM uses a Web Audio API step sequencer for looping patterns. SFX use the Web Audio API directly for true one-shot playback. No audio files or npm packages needed — everything is synthesized in the browser.

Instructions

Analyze the game at $ARGUMENTS (or the current directory if no path given).

First, load the game-audio skill to get the full Web Audio patterns and integration guide.

Step 1: Audit

  • Read src/core/EventBus.js to see what game events exist (flap, score, death, etc.)
  • Read all scene files to understand the game flow (gameplay, game over)
  • Identify what music and SFX would fit the game's genre and mood

Step 2: Plan

Present a table of planned audio:

Event / Scene Audio Type Style Description
GameScene BGM Chiptune Upbeat square wave melody + bass + drums
GameOverScene BGM Somber Slow descending melody
Player action SFX Retro Quick pitch sweep
Score SFX Retro Two-tone ding
Death SFX Retro Descending crushed notes

Explain in plain English: "Background music will automatically loop during each scene. Sound effects will play when you do things like jump, score, or die. The first time you click/tap, the audio system will activate (browsers require a user interaction before playing sound)."

Step 3: Implement

  1. Create src/audio/AudioManager.js — AudioContext init, master gain node, BGM sequencer play/stop
  2. Create src/audio/AudioBridge.js — wires EventBus events to AudioManager for BGM, calls SFX functions directly
  3. Create src/audio/music.js with BGM patterns for each scene (Web Audio step sequencer — note arrays that loop continuously)
  4. Create src/audio/sfx.js with SFX for each event (Web Audio API — OscillatorNode + GainNode + BiquadFilterNode for true one-shot playback)
  5. Add audio events to EventBus.js if not present (AUDIOINIT, MUSICGAMEPLAY, MUSICGAMEOVER, MUSICSTOP, AUDIOTOGGLEMUTE)
  6. Wire initAudioBridge() in main.js
  7. Emit AUDIO_INIT on first user interaction (game starts immediately, no menu)
  8. Emit music events at scene transitions and SFX events at game actions
  9. Add mute toggle — AUDIOTOGGLEMUTE event, UI button, M key shortcut

Step 4: Verify

  • Run npm run build to confirm no errors
  • List all files created/modified
  • Remind the user: "Click/tap once to activate audio, then you'll hear the music"

Example Usage

Full audio pass

/add-audio examples/flappy-bird

Result: Creates src/audio/AudioManager.js, music.js (gameplay + game-over BGM patterns), sfx.js (flap, score, death, button SFX) → wires via AudioBridge → mute toggle on M key. First click activates audio.

Troubleshooting

No sound plays

Cause: AudioContext not resumed after user interaction (browser autoplay policy). Fix: Ensure AudioContext.resume() is called on first user input (click/tap/keydown). Check for AUDIO_INIT event wiring.

Audio causes lag spikes

Cause: Creating new OscillatorNodes every frame. Fix: SFX should be one-shot (create, connect, start, stop). BGM uses a single looping sequencer. Never create nodes in update().

Next Step

Tell the user:

Your game now has music and sound effects! Next, run /game-creator:qa-game to add automated tests that verify your game boots correctly, scenes transition properly, scoring works, and visuals haven't broken.

Pipeline progress: /viral-game/design-game/add-audio/qa-game/review-game

(This is the /viral-game one-shot pipeline — not the /make-game multi-session, milestone-driven workflow.)