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.
インストールする前に、エージェントに与えられる指示の中身を確認できます。
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.
日本語の概要は準備中です。原文の説明を表示しています。