Add a new expert to the Remotion experts page
中文简介正在准备中。当前显示原文说明。
Three-tier video pipeline: ffmpeg Quick (5s, instant) → ffmpeg Enhanced with Ken Burns (15s, polished) → Remotion Animated (60-90s, production-grade). Takes static slides from Paper MCP or any PNGs and assembles them into platform-ready video. Make sure to use this skill whenever the user has slides, images, or PNGs and wants to turn them into video — even if they just say 'make a video from these', 'animate my slides', 'I have images and need a TikTok', or 'stitch these together'. Also use when they mention ffmpeg video assembly, Remotion-animated slide assembly, Ken Burns effects, or any slides-to-video pipeline. Owns the slides→MP4 assembly pipeline; for writing, debugging, or running `remotion render` on Remotion code itself, see /remotion-best-practices; for screen-recorded product demos, see /marketing-demo. Works with any PNG source — Paper exports, Canva, screenshots, anything.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
Three-tier video pipeline from static slides to platform-ready video. ffmpeg bookends every tier — slicing at the start, post-processing at the end.
For three-tier details, see rules/three-tiers.md. For Remotion slide archetypes, see references/remotion-archetypes.md. For ffmpeg recipes, see references/ffmpeg-recipes.md.
START (always): ffmpeg slice
Input: tall artboard PNG (e.g., 2160×26880 @ 2x) OR individual slide PNGs
Output: individual slide PNGs at target resolution (1080×1920)
Method: crop=W:H:0:Y per slide, scale to target
MIDDLE (tier-dependent):
v1 Quick: ffmpeg crossfade stitch
v1.5 Enhanced: ffmpeg Ken Burns + audio
v2 Full: Remotion animate with spring physics
END (always): ffmpeg post-process
- Audio mixing (background music, SFX from Remotion)
- Two-pass H.264 encode (CRF 18, movflags +faststart)
- Thumbnail extraction (best frame or slide 1)
- GIF preview (first 3 seconds, 480px wide)
- Platform-specific encode (TikTok, Instagram, YouTube presets)
Check for these artifacts (in order of preference):
marketing/handoffs/{name}-handoff.yaml — written by /paper-marketingmarketing/content-specs/{name}.yaml — written by /slideshow-scriptIf handoff YAML exists, read it for:
export_search_pattern — filename pattern for the exported PNGartboard.width, artboard.height, artboard.slide_count — for ffmpeg slice coordinatesbrand_snapshot — full palette + fonts for Remotion brand.ts generationcontent_spec — path to the content spec YAML for slide types and animation hintsextracted_jsx — optional HTML/CSS per slide for pixel-perfect Remotion referenceBoth handoff YAML and content spec YAML are needed for v2 Full tier. Handoff provides export/brand info, content spec provides slide content and animation hints.
If no artifacts exist, ask the user:
"What slides should I turn into a video?"
Options:
1. "I have a Paper export PNG" — provide path
2. "I have individual slide PNGs" — provide directory
3. "Run /paper-marketing first" — go back to design phase
If input is a tall artboard (not individual slides):
Where does SLIDE_COUNT come from?
artboard.slide_count in handoff YAML (preferred — exact value)slides array length# Detect slide count from image height
SLIDE_HEIGHT=$((IMAGE_HEIGHT / SLIDE_COUNT))
# Slice each slide
for i in $(seq 0 $((SLIDE_COUNT - 1))); do
Y=$((i * SLIDE_HEIGHT))
ffmpeg -i input.png \
-vf "crop=${IMAGE_WIDTH}:${SLIDE_HEIGHT}:0:${Y},scale=${TARGET_W}:${TARGET_H}" \
slides/slide_$((i + 1)).png
done
If input is already individual slides, skip to Phase 3.
Use AskUserQuestion:
"Which video tier?"
1. "v1 Quick" (~5 seconds) — ffmpeg crossfade, no animation. Good for draft review.
2. "v1.5 Enhanced" (~15 seconds) — ffmpeg Ken Burns + background audio. Good enough to post.
3. "v2 Full" (~90 seconds) — Remotion animated with spring physics, SFX, light leaks. Production quality.
# 3.5s per slide, 0.5s crossfade, H.264 CRF 18
ffmpeg -loop 1 -t 3.5 -i slide_1.png \
-loop 1 -t 3.5 -i slide_2.png \
... \
-filter_complex "xfade=transition=fade:duration=0.5:offset=3.0,..." \
-c:v libx264 -crf 18 -pix_fmt yuv420p \
-movflags +faststart output_v1.mp4
# Ken Burns: zoompan with subtle zoom + pan per slide
ffmpeg -loop 1 -t 4 -i slide_1.png \
-vf "zoompan=z='min(zoom+0.0015,1.3)':x='iw/2-(iw/zoom/2)':y='ih/2-(ih/zoom/2)':d=120:s=1080x1920:fps=30" \
...
# Then stitch with xfade + add background audio
See references/ffmpeg-recipes.md for full Ken Burns and audio mixing commands.
Scaffold Remotion project (if not exists):
mkdir -p marketing/video/{name}
cd marketing/video/{name}
bun init -y
bun add remotion @remotion/cli @remotion/transitions @remotion/google-fonts @remotion/layout-utils
Read content spec YAML for slide content + archetypes
Generate slide components using archetypes from references/remotion-archetypes.md:
type: stat → StatSlide componenttype: anchor_word → AnchorWordSlide componenttype: emotional_pivot → EmotionalPivotSlide componentAuto-include in every v2 project:
@remotion/sfx (whoosh, switch, page-turn mapped to archetype)@remotion/light-leaks with hueShift for brand colorcalculateMetadata for dynamic duration based on slide countfitText() from @remotion/layout-utils for auto-sizing hero textOpt-in features (ask user):
Render:
bunx remotion render src/index.ts TikTokSlideshow output_v2.mp4
Read the remotion-best-practices skill at ~/.claude/skills/remotion-best-practices/SKILL.md for animation rules, and load specific rule files as needed (transitions.md, timing.md, text-animations.md, etc.).
Always runs, regardless of tier:
# 1. Audio mix (if background music provided)
ffmpeg -i video.mp4 -i music.mp3 \
-filter_complex "[1:a]volume=0.15[bg];[0:a][bg]amix=inputs=2" \
-c:v copy mixed.mp4
# 2. Two-pass encode for optimal quality/size
ffmpeg -i mixed.mp4 -c:v libx264 -b:v 4M -pass 1 -f null /dev/null
ffmpeg -i mixed.mp4 -c:v libx264 -b:v 4M -pass 2 -movflags +faststart final.mp4
# 3. Thumbnail (slide 1 or best frame)
ffmpeg -i final.mp4 -vf "select=eq(n\,0)" -frames:v 1 thumbnail.png
# 4. GIF preview (first 3 seconds, 480px wide)
ffmpeg -i final.mp4 -t 3 -vf "fps=12,scale=480:-1" preview.gif
# 5. Platform-specific encode
# TikTok: H.264, 1080x1920, 30fps, CRF 18, AAC 128k
# Instagram: H.264, 1080x1350 or 1080x1920, 30fps, max 60s
# YouTube: H.264, 1080x1920, 30fps, CRF 16 (higher quality)
Output directory: marketing/video/{name}/
marketing/video/lumi-aida/
├── slides/ # Individual slide PNGs
├── output_v1.mp4 # Quick version (if made)
├── output_v1.5.mp4 # Enhanced version (if made)
├── output_v2.mp4 # Full version (if made)
├── thumbnail.png # Best frame
├── preview.gif # 3-second preview
└── src/ # Remotion project (v2 only)
Update brand/assets.md with new video asset entry.
Report:
Video ready:
File: marketing/video/{name}/output_{tier}.mp4
Duration: {seconds}s
Size: {MB} MB
Resolution: {width}x{height}
Thumbnail: marketing/video/{name}/thumbnail.png
Preview GIF: marketing/video/{name}/preview.gif
This skill works independently:
/video-content alone — provide any slide PNGs, get video/paper-marketing → /video-content — design + assemble (no scripting)/slideshow-script → /video-content — skip Paper, use existing images/video-content — works with Canva exports, screenshots, anythingffmpeg installed (8.0+)bun installed (for Remotion v2)-pix_fmt yuv420p for H.264. Without it, some players show a green screen or won't play at all.-movflags +faststart for web/social video. Without it, the video won't play until fully downloaded.@remotion/sfx or @remotion/light-leaks, check if they're real packages. If unavailable, implement SFX with standard <Audio> component and light leaks with CSS gradients + opacity animation.-f lavfi -i anullsrc=r=44100:cl=stereo -shortest.which ffmpeg. If missing, tell the user: "Install ffmpeg: brew install ffmpeg (macOS) or apt install ffmpeg (Linux)." Do not proceed without it.@remotion/google-fonts), missing assets in public/, or TypeScript errors. Check the error output and fix before retrying.还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Add a new expert to the Remotion experts page
中文简介正在准备中。当前显示原文说明。
Add a new sound effect to @remotion/sfx
中文简介正在准备中。当前显示原文说明。
Use when setting up a secure email inbox for any AI agent — configuring inbound email via Resend, webhooks, tunneling for local development, and implementing security measures to prevent prompt injection attacks. Also use when someone mentions 'agent email', 'bot inbox', 'receive emails for agent', 'agent webhook', 'email security for AI', 'prompt injection via email', 'inbound email for bot', or wants their AI agent to receive and respond to emails securely.
中文简介正在准备中。当前显示原文说明。
Builds, measures, and improves an Answer Engine Optimization program across ChatGPT, Perplexity, Claude, Gemini, Google AI Overviews, and Copilot. Use for AEO, GEO, LLMO, AI search visibility, AI citations, brand mentions, answer-engine monitoring, llms.txt, AI crawler audits, or questions like 'what does AI say about us?' and 'why are competitors cited instead of us?'. Produces a durable evidence report and prioritized gameplan, not a one-shot content checklist.
中文简介正在准备中。当前显示原文说明。
Generate Apple App Store screenshot pages as a Next.js app with html-to-image export at required resolutions. Screenshots are advertisements, not documentation — every screenshot sells one idea. Use when building App Store screenshots, generating exportable marketing screenshots for iOS apps, or creating programmatic screenshot generators. Triggers on 'app store screenshots', 'App Store', 'screenshot generator', 'iOS screenshots', 'marketing screenshots', 'phone mockup', 'ASO screenshots', 'app store assets', 'app listing', 'app store page', or 'app preview images'. Also use when someone is about to submit an app and needs store assets, or when they say 'make my app store page look good'. Includes iPhone and iPad mockup components with pre-measured dimensions.
中文简介正在准备中。当前显示原文说明。
Build detailed buyer personas and audience profiles from research. Use this skill whenever the user mentions audience, buyer persona, ideal customer, target market, ICP, watering holes, 'who am I selling to', customer research, or audience profile. Also use when content feels unfocused or generic (that's an audience problem), when conversion is low because messaging doesn't resonate, when starting any new project (audience should be first), or when any downstream skill needs audience.md but it doesn't exist yet. Even if the user doesn't explicitly ask for audience research, trigger this if they're writing copy or building a landing page without a clear audience defined. Three approaches: Quick Profile, Persona Build, Community Mining.
中文简介正在准备中。当前显示原文说明。