audio-direction is a skill from the Summer skill library: a guide your AI agent reads when the task matches, so it builds the good version on the first try. Define the game’s sound (music style, SFX vocabulary, dynamic music) as .summer/audio-bible.md.
When your agent uses it
- Defining the sonic identity — music style, instruments, SFX vocabulary, dynamic music plan
- Starting audio work with no audio bible, or soundtrack and SFX requests keep drifting in style
- “what should my game sound like overall?” / “what is the audio vibe of this game?” — the whole-game sound question, before any single track or effect is made
Install
summer setup installs every skill for your agent. To add only this one:
claude-code for your agent, such as codex or cursor. See Skills for every option.
The skill
Overview
Many indie games sound like one sound library used flat: the same generic “swoosh” for menu, jump, pickup and hit. This skill builds an audio bible that names the music style, the SFX vocabulary, the dynamic music plan, and the spatial / mix rules. Writes to.summer/audio-bible.md and configures the audio bus layout in the project so the rest of the work has a real foundation.
Core principle: SFX needs a vocabulary, not a library. Eight named SFX classes with consistent character beat 80 random library hits.
Steps
1. Open with three references
Ask exactly this:Three reference tracks, games, or films for the music. What instruments matter? And what’s the SFX vibe — chunky, clean, synthetic, or organic?Three is the minimum. One or two collapses into a clone. If they freeze, offer four axes (not titles):
Pick the closest: a) orchestral + cinematic (Hollow Knight, Journey), b) lo-fi electronic + ambient (Disco Elysium, Outer Wilds), c) chiptune / synth (Hyper Light Drifter, Celeste), d) acoustic / folk (Sable, A Short Hike).
2. Read the brief and art bible if they exist
Art bible says “soft, hand-warmed, golden-hour, painterly”. That rhymes with acoustic / folk / lo-fi over orchestral or aggressive synth. Confirming.If the brief says “horror”, that constrains the music style harder than the user’s references will. Name the constraint.
3. Pin the music style
Force one primary style. Sub-styles can blend, but a primary is required.
Ask:
One primary style. Which?
4. Define tempo + key range
Concrete numbers, not “varies”.5. Build the SFX vocabulary
Eight named classes. Each class has a character, not a single sound.
Ask:
Eight classes above. Adjust any character / examples / DON’Ts?
6. Define the dynamic music plan
Static music = one track loops forever in a level. Boring. Dynamic music = layers swell with player state. Pick a model.
Pick one. State the state machine:
7. Define the spatial + mix rules
8. Configure the audio bus layout
Real audio in Summer Engine needs a bus layout. A new project starts with only the Master bus, so configure the remaining buses now. Preferred (Summer MCP): Buses are typically indefault_bus_layout.tres. Modify project setting:
May I create audio/default_bus_layout.tres with these buses: Master / Music / SFX / UI / Voice / Ambient / Reverb_Small / Reverb_Large / Reverb_Outdoor?
On yes, write the .tres directly via Write (it is the engine’s plain-text
resource format):
.tres for the user to paste, plus the project.godot line.
9. Save the audio bible
Always write the bible. Path:.summer/audio-bible.md.
May I create .summer/audio-bible.md with this bible?
10. Optional — generate first SFX seeds
If the user wants to start generating, propose 3-5 SFX seeds aligned with the vocabulary. These are starting points, not finals. Generate them with thesound-effect skill: the first sound effect in a chat starts with its question (three versions from three models, picked by ear in Summer Studio), and its prompt shape is the one that tested well.
capability is required; sound_effects reads from text (not prompt), and the length argument is durationSeconds (not duration) with a floor of 0.5 s (1 s for Stable Audio 3 SFX). Leave out modelId so the person’s approved default model runs. Ask for the character you want inside the text and let the player only use the front of the clip — you cannot request 80 ms.
Ask first:
May I generate first-pass SFX seeds for UI, pickup, and damage classes? They’re starting points, not finals.
11. Route to the next step
End with:Bible saved. Next:
/design-mechanicto wire SFX cues into specific mechanics./game-feelif you haven’t paired audio with visual effect cues yet.- Author or generate the calm music track first; it’s the longest-running and sets the room tone.
Common mistakes
Collaborative protocol
This skill writes one bible (.summer/audio-bible.md), creates a bus layout (audio/default_bus_layout.tres), modifies project.godot, and may generate audio (metered). Always ask before writing or generating. See summer_docs_read id reference/collaborative-protocol.
Want a working starter?
No template — this is a workflow that produces the bible the rest of the project obeys. After the bible exists, the bus layout is set up and any subsequent audio work (footstep system, dynamic music) reads from it.See also
summer_docs_readidreference/collaborative-protocolsummer_docs_readidreference/godot-version— Summer compatibility and version-sensitive audio API notessummer_docs_readidreference/mcp-tools-referencebrainstorm-game— produces the brief that anchors the bibleart-direction— the visual counterpart; audio must rhyme with itadaptive-music— implements the dynamic music plansound-effect,music-track,ambient-bed,voice-line— generate the audio the bible describes
From a shell
No Summer MCP tools in this session? Run each one as a command; whensummer --version is missing or below 4.0, use npx -y summer-engine@latest in place of summer. Fields are flags in kebab-case (--scene-path res://main.tscn) or one --input '<json>', and summer ops describe <op> prints the exact input. The summer-cli skill has the rest.
Related skills
art-direction: Define the game’s visual style (palette, mood, lighting, post) as an art bible in .summer/art-bible.md.brainstorm-game: Turn a vague game idea into a 1-page brief (genre, scope, core loop, mechanics) in .summer/GameSoul.md.adaptive-music: Wire music stems to game state: combat, explore, boss and tension crossfades on a shared bus.music-track: Generate a music track: game loops of 30s or more with a loop point, or linear cinematic cues.sound-effect: Make sound effects (swings, hits, whooshes, reloads, UI): three versions to pick from, then wire them.
Source:
library/skills/audio-direction/SKILL.md, rendered from summer-engine@4.3.0 on npm.
