Full-stack video production from script to rendered video. Combines script generation (optimized for TikTok/YouTube/Reels) with AI-powered video rendering using Remotion, AI voiceovers (Qwen3-TTS/ElevenLabs), music generation (ACE-Step), and browser-based demo recording. Multi-session project tracking with automatic intent reconciliation. Use when "create video", "produce video", "demo video", "product video", or any request to generate AND render video content.
Full-stack video production from script to rendered video. Combines script generation (optimized for TikTok/YouTube/Reels) with AI-powered video rendering using Remotion, AI voiceovers (Qwen3-TTS/ElevenLabs), music generation (ACE-Step), and browser-based demo recording. Multi-session project tracking with automatic intent reconciliation. Use when "create video", "produce video", "demo video", "product video", or any request to generate AND render video content.
Video Production Pipeline
Kai root note:knowledge/, harness/, and scripts/ paths in this skill live in the Kai install, not the user's project. Resolve them against the first ancestor directory of this SKILL.md that contains a knowledge/ folder (the Kai plugin root, ~/.claude/kai, or the kai-cmo-harness repo). MARKETING.md, memory/, and any output files live in the current project. If a referenced scripts/ command is not available in this install, say so, skip it, and continue with the file-based guidance — never fabricate its output.
Complete video production from concept to final MP4. Combines two capabilities:
Video production - AI-powered rendering with voiceovers, music, transitions
Prerequisites Check
Required:
Node.js 18+ (for Remotion)
FFmpeg (for video encoding)
Recommended for AI features:
Modal account ($30/month free compute) OR
RunPod account (pay-per-second)
ElevenLabs API key (optional, for premium voices)
Run /video-setup for interactive configuration.
Part 1: Script Generation (existing kai-video skill)
Phase 0: Load Product Context
Check if MARKETING.md exists in the project root (same directory as CLAUDE.md, README.md, package.json).
If it exists: Read it — skip product discovery questions.
If it does NOT exist: Auto-explore the codebase to create it in the project root (next to CLAUDE.md). Do NOT ask the user what the product is. Read CLAUDE.md, README.md, PROJECT.md, package.json, landing pages, and any project files. Search for email/ad/analytics config. Then create MARKETING.md using the template from /kai-email-system. Present draft to user for confirmation.
Phase 1: Video Discovery
Read from MARKETING.md. Only ask about things not covered there:
Before asset creation or rendering, generate lightweight variants and score them as a dry run:
3 hook variants with platform, expected first-frame visual, and viewer promise
2 structure variants for scene order or pacing
2 CTA variants matched to the campaign goal
1 risk note per variant for unsupported claims, brand mismatch, or approval needs
Write results to workspace/video/projects/{name}/PREFLIGHT-VARIANTS.md.
Use this scoring table:
Factor
Score
Question
Hook strength
1-5
Does the opening create immediate attention?
Message clarity
1-5
Is the core idea obvious after one watch?
Proof density
1-5
Are claims supported by demo, quote, data, or source?
Production fit
1-5
Can this be made with available assets and timeline?
Brand safety
1-5
Does it avoid fake authority, risky claims, or unclear rights?
Pick one winner for production and keep rejected variants in the same file as the kill list. User approval is required before moving from variant lab to full render.
Step 1: Scene Planning
Decompose script into scenes:
{"scenes":[{"id":1,"type":"title","duration":5,"visual":"slide","narration":"Introducing KaiCalls...","status":"ready"},{"id":2,"type":"demo","duration":20,"visual":"demos/call-flow.mp4","narration":"Watch how it handles incoming calls...","status":"asset-needed"}]}
Scene types:
title - Branded opening (slide)
overview - Key points (slide with bullets)
demo - Screen recording (Playwright or external)
split-demo - Side-by-side comparison
problem - Pain point visualization
solution - How product solves it
feature - Specific feature highlight
stats - Numbers, metrics (animated)
testimonial - Customer quote + photo
cta - Call to action (slide)
credits - Team, thank you
Step 2: Asset Creation
For each scene requiring assets:
Slide assets (auto-generated):
Title cards with brand colors/fonts
Bullet point slides
Stat visualization
CTA screens
Demo assets (user/AI created):
Option 1: Browser recording with Playwright
/record-demo
# Opens browser, user performs actions, saves MP4
Quality gates mandatory - Review before render, verify after
Cost-conscious - Prefer free/cheap AI tools, Modal free tier sufficient
Platform-optimized - Different outputs for TikTok vs YouTube vs Reels
Evolution
This skill combines:
Original kai-video script generation (March 2026)
claude-code-video-toolkit production pipeline (March 2026)
Multi-session project tracking from video toolkit
Brand integration from marketing harness
Continuous improvement:
Track what works per platform
Refine templates based on performance
Add new transitions, scenes, effects
Optimize costs and render times
Feedback loop:
Video performs well → template promoted
Script resonates → hook formula added
Production bottleneck → tool improved
Cost spike → cheaper alternative found
Integration with Other Skills
Combines with:
kai-content-calendar - Schedule video releases
kai-social - Auto-generate social posts from video
kai-repurpose - Extract clips for multiple platforms
kai-analytics - Track video performance
kai-brand - Maintain brand consistency
Feeds into:
Product launches (video + email + ads)
Content marketing (blog + video + social)
Sales enablement (demo videos)
Customer success (tutorial videos)
Example workflow:
# 1. Plan content
/kai-content-calendar --month April
# 2. Produce video
/kai-video produce --template product-demo --brand kaicalls
# 3. Repurpose for social
/kai-repurpose --source projects/kaicalls-demo-v1/out/video.mp4
# 4. Schedule posts
/kai-social --schedule --video
# 5. Track performance
/kai-analytics --video-performance
Troubleshooting
"Asset not found" error:
Check project.json paths match filesystem
Run intent reconciliation (automatic on resume)
Verify file moved to correct directory
"Audio out of sync":
Adjust timing in config.ts
Regenerate voiceover with updated script
Use Remotion Studio to visually verify sync
"Render fails":
Check FFmpeg installed (ffmpeg -version)
Verify all assets exist
Run preview render first (--quality=low)
"Tool timeout on Modal":
Check Modal account has compute credits
Verify tool deployed (modal app list)
Try RunPod alternative
"Brand colors not applied":
Verify brand.json in brands/ directory
Check brand name matches in project.json
Regenerate src/config/brand.ts
Next Steps After This Skill
When user says "create video":
Clarify scope:
Script only? Or full production?
Which platform(s)?
Timeline?
Choose path:
Script only: Use original kai-video workflow
Full production: Use production pipeline
For production:
Check if setup complete (/video-setup)
Select template
Create project
Guide through pipeline
Track progress:
Update project.json after each step
Regenerate CLAUDE.md
Flag blockers clearly
On resume:
Scan filesystem
Reconcile intent vs reality
Present current status
Suggest next action
This skill is the union of script generation (marketing focus) and video production (technical execution). Use the appropriate parts based on user needs. Always start with script quality — production amplifies good scripts, it doesn't fix bad ones.