remotion-dev/add-sfx
Add a new sound effect to @remotion/sfx
npx skills add https://github.com/remotion-dev/remotion --skill add-sfx
Sound effects must first be added to the remotion.media package.
Then it can be deployed using bun run build. The .env may be missing if we are in a worktree, but on the main non-worktree branch it should be present.
The source of truth is generate.ts in that repo. A sound effect must exist there before it can be added to @remotion/sfx.
Sound effects must be:
remotion.media repo (must be done first)In the remotion-dev/remotion.media repo:
soundEffects array in generate.ts: {
fileName: "my-sound.wav",
attribution:
"Description by Author -- https://source-url -- License: Creative Commons 0",
},
bun generate.ts to copy it to files/ and regenerate variants.jsonpackages/sfx/src/index.tsUse camelCase for the variable name. Avoid JavaScript reserved words (e.g. use uiSwitch not switch).
export const mySound = 'https://remotion.media/my-sound.wav';
packages/docs/docs/sfx/<name>.mdxFollow the pattern of existing pages (e.g. whip.mdx). Include:
image, title (camelCase export name), crumb: '@remotion/sfx'<AvailableFrom> tag with the next release version<PlayButton> import and usage@remotion/media's <Audio> componentafinfo on macOS to get duration/format)Open this file on remotion.dev/convertpackages/docs/sidebars.ts — add 'sfx/<name>' to the @remotion/sfx category itemspackages/docs/docs/sfx/table-of-contents.tsx — add a <TOCItem> with a <PlayButton size={32}>After the sound is added to packages/remotion-media and exported from packages/sfx/src/index.ts, regenerate the waveform samples used by the docs:
bun packages/docs/generate-sfx-waveforms.ts
This uses ffmpeg to sample every exported sound effect into around 2000 waveform samples and updates packages/docs/components/sfx-demos/sfx-waveforms.ts.
Add the new URL to the list in packages/skills/skills/remotion-markup/sfx.md.
cd packages/sfx && bun run make
| File name | Export name |
| --------------- | -------------------------- |
| my-sound.wav | mySound |
| switch.wav | uiSwitch (reserved word) |
| page-turn.wav | pageTurn |
Use the current version from packages/core/src/version.ts.
For docs <AvailableFrom>, increment the patch version by 1.
Take remotion-dev/add-sfx from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.