add-music
Generate background music and add it to your Remotion project. Describe the mood/genre you want, and this will generate a…
Add TikTok-style, karaoke, YouTube or minimal captions to your Remotion video. Gets word-level captions through the official remotion-captions flow (whisper-webgpu, or ElevenLabs Scribe via @remotion/elevenlabs when there's no GPU), or imports the user's SRT with parseSrt,
$ npx -y skills add DojoCodingLabs/remotion-superpowers --skill add-captions --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/add-captionsContext preview
The summary Claude sees to decide when to auto-load this skill.
Add TikTok-style, karaoke, YouTube or minimal captions to your Remotion video. Gets word-level captions through the official remotion-captions flow (whisper-webgpu, or ElevenLabs Scribe via @remotion/elevenlabs when there's no GPU), or imports the user's SRT with parseSrt,
name: add-captions description: Add TikTok-style, karaoke, YouTube or minimal captions to your Remotion video. Gets word-level captions through the official remotion-captions flow (whisper-webgpu, or ElevenLabs Scribe via @remotion/elevenlabs when there's no GPU), or imports the user's SRT with parseSrt, places one official caption element per clip, and applies a style preset with platform-safe placement.
You are helping the user add captions to their Remotion video.
**Load the `remotion-production` skill** for the `captions-workflow` rule (routes, presets and safe zones), and the official **`remotion-captions`** skill for transcription and display. For the Scribe fallback, also load the official ElevenLabs **`speech-to-text`** skill. The official skills win on any API detail.
Find the voiceover or primary audio file(s):
ls public/ public/footage/ 2>/dev/null | grep -E '\.(mp3|wav|m4a|ogg|mp4|mov|webm|srt)$'
If the user already has an `.srt` file, use it (step 3). If no audio exists, suggest running `/add-voiceover` first. If the video has one voiceover per scene (`vo-scene1.mp3`, `vo-scene2.mp3`, …), caption **each file separately**.
Make sure Studio is already running (`npx remotion studio`, or `--no-open` with an in-app browser; open the URL it prints), so the user sees captions appear.
Ask the user what style they want:
Both routes give word-level `Caption` JSON, so every style works. Save each file's result as `public/<source>.captions.json` (e.g. `vo-scene1.captions.json`).
**Default: official whisper-webgpu.** Follow official `remotion-captions/transcribe-captions.md`. It writes a Node script with `@remotion/whisper-webgpu` that outputs one `Caption` per word. Local and free. It needs a compatible GPU and doesn't run on Linux arm64. Use `small.en` for English; for other languages use a multilingual model and pass `language`.
**Fallback: ElevenLabs Scribe.** When the script's `canUseWhisperWebGpu()` check fails, transcribe with Scribe v2 and convert with `elevenLabsTranscriptToCaptions()` from `@remotion/elevenlabs` (`npx remotion add @remotion/elevenlabs`). The script is in the `captions-workflow` rule. It needs `ELEVENLABS_API_KEY` (if it isn't set, run `npx -y @elevenlabs/cli@latest onboard init`), costs credits and sends the audio to ElevenLabs, so tell the user before running it. It accepts video files directly.
**User's own SRT.** Put it in `public/` and read it with `parseSrt()` from `@remotion/captions`, as official `import-srt-captions.md` shows. SRT is line-level: each caption is a whole subtitle line, so a word highlight can't work from it. If the user picked TikTok or karaoke, offer to transcribe the audio instead, or use the YouTube style with their SRT.
Keep each transcript's timestamps relative to its own source file.
Follow official `remotion-captions/display-captions.md`:
Apply the preset from the `captions-workflow` rule, then offer these options. Change them through the element's `width`, `style` and `combineTokensWithinMilliseconds` props, or the style constants at the top of the copied file:
Any extra animation uses inline `interpolate()` in `style` with the `scale`/`translate` properties. Never use CSS `transition` or `animation`; they don't render.
Tell the user to scrub the captions in the open Studio. Common adjustments:
Don't render unless the user asks for an MP4.
🎬 Full video production studio for Remotion — for Claude Code, Codex, Gemini CLI & any Agent Skills agent. AI voiceovers, music, stock footage, image/video generation, TikTok captions, transitions & AI review loop. 15 skills, 5 MCP servers. Free & open source by Dojo Coding.
Generate background music and add it to your Remotion project. Describe the mood/genre you want, and this will generate a…
Add professional scene transitions to your Remotion video. Choose from fade, slide, wipe, flip, clock-wipe and light-leak…
Generate a voiceover narration and add it to your Remotion project. Provide a script or describe what the narration should say,…
Analyze existing video files with TwelveLabs AI. Get a timestamped scene map of your footage, ask questions about it, find…
Create a short-form vertical video (TikTok, Instagram Reels, YouTube Shorts). Optimized 9:16 pipeline with a live Studio preview,…
Full video production pipeline — from a text prompt to a live Studio preview with voiceover, music, sound effects, stock footage,…