name: explainer-video-pipeline description: End-to-end pipeline for creating Finding Peak explainer videos — AI voiceover, auto music, synced timing, and Remotion rendering metadata: tags: video, explainer, elevenlabs, voiceover, tts, remotion, pipeline, automation, finding-peak
When to use
Use this skill when Ryan asks to create an explainer video, short-form video, or run any part of the video production pipeline. The project lives at ~/Projects/explainer-video/.
The Proven Workflow
Every video follows this exact sequence:
- Develop the premise — Collaborate on the topic, angle, and narrative arc
- Write the script JSON — Create scenes with voiceover text, templates, and content
- 🛑 Creative Review — Present the full script to the user for review. Ask for edits, special instructions, or creative ideas before proceeding. Do NOT move to step 4 until the user approves.
- Run the pipeline — One command generates music + voiceover + timing sync
- Render — Export to MP4
- Iterate — Adjust voice speed, music levels, or scene content and re-run
Prerequisites
- Node.js 18+
- ElevenLabs API key in
~/Projects/explainer-video/.env - Dependencies installed:
cd ~/Projects/explainer-video && npm install
Quick Start (Full Pipeline)
cd ~/Projects/explainer-video
# 1. Create the script JSON (Claude writes this collaboratively)
# Save to: ./scripts/input/my-video.script.json
# 2. 🛑 STOP — Present script to user for review & approval
# Ask: "Here's the script. Any edits, special instructions, or ideas before I run the pipeline?"
# Wait for approval before continuing.
# 3. Run the full pipeline (music + voiceover + timing sync)
npm run pipeline -- ./scripts/input/my-video.script.json
# 4. Render the video
npx remotion render src/index.ts ExplainerVideo out/my-video.mp4 --props=./video-config.json
# 5. Open for review
open out/my-video.mp4
Brand Constants (Finding Peak)
- Sign-off: Every video ends with "This is the way."
- Logo: Finding Peak watermark at bottom (45% opacity)
- Voice: Ryan Hanley clone (ID:
Vs1aGUxp6Uuqr3rdNl9v) - Theme: Dark background (#333333), yellow accent (#f8f024), white text
- Captions: Word-synced TikTok-style — floating white words, active word in yellow, bottom-third positioning
- Format: 1080x1920 vertical (9:16), 30fps
How to use
New user? Start here:
- rules/onboarding.md - Step-by-step setup: brand config, voice cloning, environment, first video
Then read individual rule files for detailed explanations and guidance:
- rules/pipeline-overview.md - End-to-end workflow, npm commands, file flow
- rules/script-writing.md - Script structure, pacing, voiceover text, voice settings
- rules/scene-mapping.md - Which template for each narrative beat
- rules/voiceover-generation.md - ElevenLabs integration, voice settings, speed tuning
- rules/timing-sync.md - How timestamps map to scene boundaries + word-level timing
- rules/captions.md - Word-synced captions: global overlay architecture, timing formula, styling, troubleshooting
- rules/audio-layering.md - Background music, ducking, volume calibration
- rules/visual-polish.md - Theme, transitions, spring tuning, motion graphics
- rules/rendering.md - Studio preview, render commands, output formats
- rules/config-reference.md - Full VideoConfigSchema documentation
- rules/custom-motion.md - Custom motion graphics: declarative SVG elements, animations, color tokens, recipes
- rules/template-gallery.md - All 20 scene templates with descriptions