Skip to content
Back to skills

Soundbox Sfx

ASecurity

Generate sound effects, foley and ambience locally through the Soundbox MCP server (soundbox.generate / list_sounds / list_models). Use whenever the user wants a sound effect, game SFX, UI sound, ambience bed or any non-spoken audio, or asks to "make a sound", "add sound effects", "generate a whoosh/impact/click". Produces WAV files on disk with absolute paths.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 20, 2026
ai-agentsapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned October 20, 2026

npx -y skills add Gadurp1/soundbox --skill soundbox-sfx --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Soundbox Sfx?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Soundbox Sfx
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gadurp1-soundbox-sfx/badge)](https://www.skillsdirectory.com/skills/gadurp1-soundbox-sfx)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: soundbox-sfx
description: Generate sound effects, foley and ambience locally through the Soundbox MCP server (soundbox.generate / list_sounds / list_models). Use whenever the user wants a sound effect, game SFX, UI sound, ambience bed or any non-spoken audio, or asks to "make a sound", "add sound effects", "generate a whoosh/impact/click". Produces WAV files on disk with absolute paths.
---

# Soundbox: generate sound effects through MCP

Soundbox is a local server that runs open-weight text-to-audio models and
exposes them as MCP tools. You do not need an API key; the user's machine does
the work. Every result is a WAV file on disk and the tool response gives you its
absolute `path`.

## Tools you have

| Tool | Use it for |
|---|---|
| `soundbox.list_models` | Which models are installed/loaded, their max clip length and **licence** |
| `soundbox.list_sounds` | Search the library — the sound may already exist |
| `soundbox.generate` | Make new sounds; blocks until the file is written (seconds to ~1 min) |
| `soundbox.get_sound` | Re-fetch a sound's path/metadata by id |
| `soundbox.delete_sound` | Remove a bad take (only when the user asks) |

If a tool errors with "Cannot reach the Soundbox server", tell the user to
start it (`uv run soundbox`, or open the Soundbox app) — do not try to install
or run models yourself.

## Workflow

1. **Search first.** `soundbox.list_sounds(q=<key nouns>)`. If a hit fits,
   return its `path` — don't regenerate what exists.
2. **Check the model once per session.** `soundbox.list_models`; note which
   is `loaded` (fastest) and its `commercial_use`. If the user's project is
   commercial and the loaded model says `no`, say so before generating and
   pick a `yes`/`conditional` model if one is installed.
3. **Write the prompt as a sound designer would** — see
   [references/prompting.md](references/prompting.md). Material + action +
   space, present tense, no adjectives about emotion:
   - ✅ `heavy oak door slamming shut in a stone corridor, short reverb tail`
   - ❌ `scary door sound`
4. **Pick a duration that matches the event.** One-shots (clicks, hits,
   whooshes) 0.5–2 s; short foley 2–4 s; ambience beds 8–20 s. Long clips of a
   one-shot waste time and produce silence.
5. **Ask for variations when it's a set.** `variations=3` gives three takes of
   the same prompt with different seeds — right for footsteps, hits, UI blips.
   Pass a `seed` back to reproduce a take the user liked.
6. **Tag and name for the library.** `tags=["ui","confirm"]` or the project
   name, so the user can find things in the Soundbox app afterwards.
7. **Return the paths.** Give the user each file's absolute `path`, duration
   and model — and, if you wired the sound into code, the snippet you wrote.

## Handling results

- The response is `{"sounds":[{id,name,path,duration_s,model,seed,...}], model, elapsed_s}`.
- Prefer copying/moving the WAV into the user's project (`assets/sfx/...`)
  over referencing `~/.soundbox/sounds/` from their code.
- Need MP3/OGG? Convert with ffmpeg from the WAV; Soundbox writes WAV.
- Loudness is already normalised (default −16 LUFS) and leading/trailing
  silence trimmed unless the user changed settings.

## When the first take is wrong

Iterate on the prompt, not on the seed:
- Too much reverb / room → add `dry, close-mic`, or `no reverb` in `negative_prompt`
- Wrong material → name it explicitly (`ceramic`, `sheet metal`, `wet gravel`)
- Sounds like music / has a melody → `negative_prompt="music, melody, tones"`
- Too busy → describe **one** event; generate layers separately and let the
  user mix them
- Cuts off → longer `duration_s`; too short an event padded with silence →
  shorter

Only after the prompt is right, use `variations` to get options.

## When it is not this skill

Spoken words are a different set of tools, not a different prompt. For a line
of dialogue, a narration, or a whole scripted scene, use the voice tools —
`soundbox.list_voices`, `soundbox.speak`, and the story tools — and see the
`soundbox-voice-story` skill. `soundbox.generate` will not say words; asking it
to produce "a man saying hello" gets you a texture, not speech.

Files in this skill

  • SKILL.md4.1 KB
  • references/prompting.md3.2 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.