Super Video Maker
Bomx/super-video-maker-skill
End-to-end AI video production skill for agentic frameworks.
Command recipes for converting, resizing, compressing, trimming and extracting audio from video with FFmpeg, including settings for Remotion projects.
$ npx skills add digitalsamba/claude-code-video-toolkit --skill ffmpeg -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install digitalsamba/claude-code-video-toolkit ffmpeg --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/digitalsamba/claude-code-video-toolkit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/ffmpeg .claude/skills/ffmpeg && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ffmpeg" agent skill from https://github.com/digitalsamba/claude-code-video-toolkit/tree/main/.claude/skills/ffmpeg into .claude/skills/ffmpeg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ffmpeg", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/digitalsamba/claude-code-video-toolkit/tree/main/.claude/skills/ffmpegType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add digitalsamba/claude-code-video-toolkit --skill ffmpeg -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install digitalsamba/claude-code-video-toolkit ffmpeg --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digitalsamba/claude-code-video-toolkit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/ffmpeg .agents/skills/ffmpeg && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ffmpeg" agent skill from https://github.com/digitalsamba/claude-code-video-toolkit/tree/main/.claude/skills/ffmpeg into .agents/skills/ffmpeg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ffmpeg", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add digitalsamba/claude-code-video-toolkit --skill ffmpeg -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install digitalsamba/claude-code-video-toolkit ffmpeg --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digitalsamba/claude-code-video-toolkit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/ffmpeg .cursor/skills/ffmpeg && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ffmpeg" agent skill from https://github.com/digitalsamba/claude-code-video-toolkit/tree/main/.claude/skills/ffmpeg into .cursor/skills/ffmpeg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ffmpeg", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/digitalsamba/claude-code-video-toolkit.git --path .claude/skills/ffmpeg--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add digitalsamba/claude-code-video-toolkit --skill ffmpeg -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install digitalsamba/claude-code-video-toolkit ffmpeg --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digitalsamba/claude-code-video-toolkit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/ffmpeg .gemini/skills/ffmpeg && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ffmpeg" agent skill from https://github.com/digitalsamba/claude-code-video-toolkit/tree/main/.claude/skills/ffmpeg into .gemini/skills/ffmpeg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ffmpeg", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install digitalsamba/claude-code-video-toolkit ffmpegInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add digitalsamba/claude-code-video-toolkit --skill ffmpeg -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/digitalsamba/claude-code-video-toolkit.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/ffmpeg .github/skills/ffmpeg && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ffmpeg" agent skill from https://github.com/digitalsamba/claude-code-video-toolkit/tree/main/.claude/skills/ffmpeg into .github/skills/ffmpeg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ffmpeg", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add digitalsamba/claude-code-video-toolkit --skill ffmpeg -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install digitalsamba/claude-code-video-toolkit ffmpeg --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/digitalsamba/claude-code-video-toolkit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/ffmpeg .opencode/skills/ffmpeg && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ffmpeg" agent skill from https://github.com/digitalsamba/claude-code-video-toolkit/tree/main/.claude/skills/ffmpeg into .opencode/skills/ffmpeg/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ffmpeg", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ffmpegCommand recipes for converting, resizing, compressing, trimming and extracting audio from video with FFmpeg, including settings for Remotion projects.
The skill is a quick reference of ffmpeg and ffprobe commands for video and audio work, written with Remotion projects in mind. Recipes include converting a GIF to an MP4 with faststart, yuv420p and even-dimension scaling flags, resizing to 1920x1080 with padding, compressing with libx264 at a chosen CRF, extracting audio to MP3, converting audio formats such as M4A to MP3 for ElevenLabs voice samples, trimming, changing speed, joining clips, fading in and out, and reading duration, resolution and codec details.
The notes explain why the flags matter, for example that even dimensions are required by most codecs, and recommend re-encoding when trimming because a stream copy can silently drop video if the seek point misses a keyframe. A Remotion-specific section covers video speed adjustment, and a reference.md file adds more detail.
2 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2c99460. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
ffmpegffprobeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
FFmpeg for Video Production loads about 3.3k tokens when it runs. Until then it costs about 69 tokens; SKILL.md has 556 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from digitalsamba/claude-code-video-toolkit at commit 2c99460, republished under its MIT licence (© digitalsamba). 556 words, ~3,282 tokens.
.claude/skills/ffmpeg/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.FFmpeg is the essential tool for video/audio processing. This skill covers common operations for Remotion video projects.
ffmpeg -i input.gif -movflags faststart -pix_fmt yuv420p \
-vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" output.mp4Why these flags:
-movflags faststart - Moves metadata to start for web streaming-pix_fmt yuv420p - Ensures compatibility with most playersscale=trunc(...) - Forces even dimensions (required by most codecs)# To 1920x1080 (maintain aspect ratio, add black bars)
ffmpeg -i input.mp4 -vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2" output.mp4
# To 1920x1080 (crop to fill)
ffmpeg -i input.mp4 -vf "scale=1920:1080:force_original_aspect_ratio=increase,crop=1920:1080" output.mp4
# Scale to width, auto height
ffmpeg -i input.mp4 -vf "scale=1280:-2" output.mp4# Good quality, smaller file (CRF 23 is default, lower = better quality)
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k output.mp4
# Aggressive compression for web preview
ffmpeg -i input.mp4 -c:v libx264 -crf 28 -preset fast -c:a aac -b:a 96k output.mp4
# Target file size (e.g., ~10MB for 60s video = ~1.3Mbps)
ffmpeg -i input.mp4 -c:v libx264 -b:v 1300k -c:a aac -b:a 128k output.mp4# Extract to MP3
ffmpeg -i input.mp4 -vn -acodec libmp3lame -q:a 2 output.mp3
# Extract to AAC
ffmpeg -i input.mp4 -vn -acodec aac -b:a 192k output.m4a
# Extract to WAV (uncompressed)
ffmpeg -i input.mp4 -vn output.wav# M4A to MP3 (for ElevenLabs voice samples)
ffmpeg -i input.m4a -codec:a libmp3lame -qscale:a 2 output.mp3
# WAV to MP3
ffmpeg -i input.wav -codec:a libmp3lame -b:a 192k output.mp3
# Adjust volume
ffmpeg -i input.mp3 -filter:a "volume=1.5" output.mp3# Cut from timestamp to duration (recommended - reliable)
ffmpeg -i input.mp4 -ss 00:00:30 -t 00:00:15 -c:v libx264 -c:a aac output.mp4
# Cut from timestamp to timestamp
ffmpeg -i input.mp4 -ss 00:00:30 -to 00:00:45 -c:v libx264 -c:a aac output.mp4
# Stream copy (faster but may lose frames at cut points)
# Only use when source has frequent keyframes
ffmpeg -i input.mp4 -ss 00:00:30 -t 00:00:15 -c copy output.mp4Note: Re-encoding is recommended for trimming. Stream copy (-c copy) can silently drop video if the seek point doesn't align with a keyframe.
# 2x speed (video and audio)
ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" output.mp4
# 0.5x speed (slow motion)
ffmpeg -i input.mp4 -filter_complex "[0:v]setpts=2.0*PTS[v];[0:a]atempo=0.5[a]" -map "[v]" -map "[a]" output.mp4
# Video only (no audio)
ffmpeg -i input.mp4 -filter:v "setpts=0.5*PTS" -an output.mp4# Create file list
echo "file 'clip1.mp4'" > list.txt
echo "file 'clip2.mp4'" >> list.txt
echo "file 'clip3.mp4'" >> list.txt
# Concatenate (same codec/resolution)
ffmpeg -f concat -safe 0 -i list.txt -c copy output.mp4
# Concatenate with re-encoding (different sources)
ffmpeg -f concat -safe 0 -i list.txt -c:v libx264 -c:a aac output.mp4# Fade in first 1 second, fade out last 1 second (30fps video)
ffmpeg -i input.mp4 -vf "fade=t=in:st=0:d=1,fade=t=out:st=9:d=1" -c:a copy output.mp4
# Audio fade
ffmpeg -i input.mp4 -af "afade=t=in:st=0:d=1,afade=t=out:st=9:d=1" -c:v copy output.mp4# Duration, resolution, codec info
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 input.mp4
# Full info
ffprobe -v quiet -print_format json -show_format -show_streams input.mp4When to use FFmpeg vs Remotion playbackRate:
| Scenario | Use FFmpeg | Use Remotion |
|---|---|---|
| Constant speed (1.5x, 2x) | Either works | ✅ Simpler |
| Extreme speeds (>4x or <0.25x) | ✅ More reliable | May have issues |
| Variable speed (accelerate over time) | ✅ Pre-process | Complex workaround needed |
| Need perfect audio sync | ✅ Guaranteed | Usually fine |
| Demo needs to fit voiceover timing | ✅ Pre-calculate | Runtime adjustment |
Remotion limitation: playbackRate must be constant. Dynamic interpolation like playbackRate={interpolate(frame, [0, 100], [1, 5])} won't work correctly because Remotion evaluates frames independently.
# Speed up demo to fit a scene (e.g., 60s demo into 20s = 3x speed)
ffmpeg -i demo-raw.mp4 \
-filter_complex "[0:v]setpts=0.333*PTS[v];[0:a]atempo=3.0[a]" \
-map "[v]" -map "[a]" \
public/demos/demo-fast.mp4
# Slow motion for emphasis (0.5x speed)
ffmpeg -i action.mp4 \
-filter_complex "[0:v]setpts=2.0*PTS[v];[0:a]atempo=0.5[a]" \
-map "[v]" -map "[a]" \
public/demos/action-slow.mp4
# Speed up without audio (common for screen recordings)
ffmpeg -i demo.mp4 -filter:v "setpts=0.5*PTS" -an public/demos/demo-2x.mp4
# Timelapse effect (10x speed, drop audio)
ffmpeg -i long-demo.mp4 -filter:v "setpts=0.1*PTS" -an public/demos/timelapse.mp4Calculate speed factor:
speed = X / Y1 / speed (e.g., 3x speed = setpts=0.333*PTS)speed (e.g., 3x speed = atempo=3.0)Extreme speed (>2x audio): Chain atempo filters (each limited to 0.5-2.0 range):
# 4x speed audio
-filter_complex "[0:a]atempo=2.0,atempo=2.0[a]"
# 8x speed audio
-filter_complex "[0:a]atempo=2.0,atempo=2.0,atempo=2.0[a]"# Standard 1080p, 30fps, Remotion-ready
ffmpeg -i raw-recording.mp4 \
-vf "scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,fps=30" \
-c:v libx264 -crf 18 -preset slow \
-c:a aac -b:a 192k \
-movflags faststart \
public/demos/demo.mp4# From iPhone/iPad recording (usually 60fps, variable resolution)
ffmpeg -i iphone-recording.mov \
-vf "scale=1920:-2,fps=30" \
-c:v libx264 -crf 20 \
-an \
public/demos/mobile-demo.mp4for f in assets/*.gif; do
ffmpeg -i "$f" -movflags faststart -pix_fmt yuv420p \
-vf "scale=trunc(iw/2)*2:trunc(ih/2)*2" \
"public/demos/$(basename "$f" .gif).mp4"
doneAdd scale filter: -vf "scale=trunc(iw/2)*2:trunc(ih/2)*2"
Use: -movflags faststart -pix_fmt yuv420p -c:v libx264
Use filter_complex with atempo: -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]"
Increase CRF (23→28) or reduce resolution
| Use Case | CRF | Preset | Notes |
|---|---|---|---|
| Archive/Master | 18 | slow | Best quality, large files |
| Production | 20-22 | medium | Good balance |
| Web/Preview | 23-25 | fast | Smaller files |
| Draft/Quick | 28+ | veryfast | Fast encoding |
After Remotion renders your video (typically to out/video.mp4), use FFmpeg to optimize for each distribution platform.
Remotion render (master) FFmpeg optimization Platform upload
↓ ↓ ↓
out/video.mp4 ────────→ out/video-youtube.mp4 ───→ YouTube
────────→ out/video-twitter.mp4 ───→ Twitter/X
────────→ out/video-linkedin.mp4 ───→ LinkedIn
────────→ out/video-web.mp4 ───→ Website embedYouTube re-encodes everything, so upload high quality:
# YouTube optimized (1080p)
ffmpeg -i out/video.mp4 \
-c:v libx264 -preset slow -crf 18 \
-profile:v high -level 4.0 \
-bf 2 -g 30 \
-c:a aac -b:a 192k -ar 48000 \
-movflags +faststart \
out/video-youtube.mp4
# YouTube Shorts (vertical 1080x1920)
ffmpeg -i out/video.mp4 \
-vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2" \
-c:v libx264 -crf 18 -c:a aac -b:a 192k \
out/video-shorts.mp4Twitter has strict limits: max 140s, 512MB, 1920x1200:
# Twitter optimized (under 15MB target for fast upload)
ffmpeg -i out/video.mp4 \
-c:v libx264 -preset medium -crf 24 \
-profile:v main -level 3.1 \
-vf "scale='min(1280,iw)':'min(720,ih)':force_original_aspect_ratio=decrease" \
-c:a aac -b:a 128k -ar 44100 \
-movflags +faststart \
-fs 15M \
out/video-twitter.mp4
# Check file size and duration
ffprobe -v error -show_entries format=duration,size -of csv=p=0 out/video-twitter.mp4LinkedIn prefers MP4 with AAC audio, max 10 minutes:
# LinkedIn optimized
ffmpeg -i out/video.mp4 \
-c:v libx264 -preset medium -crf 22 \
-profile:v main \
-vf "scale='min(1920,iw)':'min(1080,ih)':force_original_aspect_ratio=decrease" \
-c:a aac -b:a 192k -ar 48000 \
-movflags +faststart \
out/video-linkedin.mp4# Web-optimized MP4 (small file, progressive loading)
ffmpeg -i out/video.mp4 \
-c:v libx264 -preset medium -crf 26 \
-profile:v baseline -level 3.0 \
-vf "scale=1280:720" \
-c:a aac -b:a 128k \
-movflags +faststart \
out/video-web.mp4
# WebM alternative (better compression, wider browser support)
ffmpeg -i out/video.mp4 \
-c:v libvpx-vp9 -crf 30 -b:v 0 \
-vf "scale=1280:720" \
-c:a libopus -b:a 128k \
-deadline good \
out/video-web.webm# High-quality GIF (first 5 seconds)
ffmpeg -i out/video.mp4 -t 5 \
-vf "fps=15,scale=480:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" \
out/preview.gif
# Smaller file GIF
ffmpeg -i out/video.mp4 -t 3 \
-vf "fps=10,scale=320:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" \
out/preview-small.gif| Platform | Max Resolution | Max Size | Max Duration | Audio |
|---|---|---|---|---|
| YouTube | 8K | 256GB | 12 hours | AAC 48kHz |
| Twitter/X | 1920x1200 | 512MB | 140s | AAC 44.1kHz |
| 4096x2304 | 5GB | 10 min | AAC 48kHz | |
| Instagram Feed | 1080x1350 | 4GB | 60s | AAC 48kHz |
| Instagram Reels | 1080x1920 | 4GB | 90s | AAC 48kHz |
| TikTok | 1080x1920 | 287MB | 10 min | AAC |
#!/bin/bash
# save as: export-all-platforms.sh
INPUT="out/video.mp4"
# YouTube (high quality)
ffmpeg -i "$INPUT" -c:v libx264 -preset slow -crf 18 \
-c:a aac -b:a 192k -movflags +faststart \
out/video-youtube.mp4
# Twitter (compressed)
ffmpeg -i "$INPUT" -c:v libx264 -crf 24 \
-vf "scale='min(1280,iw)':'-2'" \
-c:a aac -b:a 128k -movflags +faststart \
out/video-twitter.mp4
# LinkedIn
ffmpeg -i "$INPUT" -c:v libx264 -crf 22 \
-c:a aac -b:a 192k -movflags +faststart \
out/video-linkedin.mp4
# Web embed (small)
ffmpeg -i "$INPUT" -c:v libx264 -crf 26 \
-vf "scale=1280:720" \
-c:a aac -b:a 128k -movflags +faststart \
out/video-web.mp4
echo "Exported:"
ls -lh out/video-*.mp4Common errors and fixes when processing video:
# Check if FFmpeg succeeded
ffmpeg -i input.mp4 -c:v libx264 output.mp4 && echo "Success" || echo "Failed: check input file"
# Validate output file is playable
ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of csv=p=0 output.mp4
# Get detailed error info
ffmpeg -v error -i input.mp4 -f null - 2>&1 | head -20| Error | Cause | Fix |
|---|---|---|
| "No such file" | Input path wrong | Check path, use quotes for spaces |
| "Invalid data" | Corrupted input | Re-download or re-record source |
| "height not divisible by 2" | Odd dimensions | Add scale filter with trunc |
| "encoder not found" | Missing codec | Install FFmpeg with full codecs |
| Output 0 bytes | Silent failure | Check full ffmpeg output for errors |
If this skill is missing information or could be improved:
Just say "improve this skill" and I'll guide you through updating .claude/skills/ffmpeg/SKILL.md.
© digitalsamba, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .claude/skills/ffmpeg of digitalsamba/claude-code-video-toolkit.
Open the folder on GitHubat commit 2c99460
We found 4 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 3 other GitHub owners. This page covers the copy in digitalsamba/claude-code-video-toolkit, which our catalogue first saw on October 7, 2026.
FFmpeg for Video Production next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| FFmpeg for Video Production this skilldigitalsamba/claude-code-video-toolkit | 2.2k | 3 repos | ~3.3k | Automated safety check: Pass | MIT | |
| Super Video MakerBomx/super-video-maker-skill | 305 | — | ~11k | Automated safety check: Notes | None | |
| AI-Assisted Video Editingaffaan-m/ECC | 274k | 4 repos | ~2.9k | Automated safety check: Pass | MIT | |
| Video Editingaffaan-m/ECC | 274k | 2 repos | ~1.6k | Automated safety check: Pass | MIT | |
| Video Editingaffaan-m/ECC | 274k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Remotion Best Practiceslyonjs/shortvid.io | 147 | 32 repos | ~1k | Automated safety check: Pass | MIT |
Bomx/super-video-maker-skill
End-to-end AI video production skill for agentic frameworks.
affaan-m/ECC
Lays out a layered workflow for editing real footage with AI, from raw capture through FFmpeg, Remotion, ElevenLabs and fal.ai to final polish in Descript or CapCut.
affaan-m/ECC
AI辅助的视频编辑工作流程,用于剪辑、构建和增强实拍素材。涵盖从原始拍摄到FFmpeg、Remotion、ElevenLabs、fal.ai,再到Descript或CapCut最终润色的完整流程。适用于用户想要编辑视频、剪辑素材、制作vlog或构建视频内容的情况。
affaan-m/ECC
実写素材のカット、構築、強化のためのAI支援ビデオ編集ワークフロー。生の撮影素材からFFmpeg、Remotion、ElevenLabs、fal.aiを経て、DescriptまたはCapCutで最終仕上げを行う完全なパイプラインをカバーする。ユーザーがビデオの編集、素材のカット、vlogの作成、またはビデオコンテンツの構築を望む場合に使用する。
lyonjs/shortvid.io
Best practices for Remotion - Video creation in React. An agent skill from lyonjs/shortvid.io.
heygen-com/hyperframes
Entry point for making, editing and rendering videos from HTML compositions with HyperFrames, routing each request to the right workflow.
digitalsamba/claude-code-video-toolkit
Generates roughly five-second video clips from a text prompt or a still image with the LTX-2.3 22B model, run through a Modal endpoint by `tools/ltx2.py`.
digitalsamba/claude-code-video-toolkit
Generates narration, sound effects and cloned voices through the ElevenLabs API, with model and setting choices tuned to the content's style.
digitalsamba/claude-code-video-toolkit
Turns a casual image request into the structured JSON caption Ideogram 4 needs for legible on-image text, exact brand colors and controlled layout.
digitalsamba/claude-code-video-toolkit
Records browser interactions as video with Playwright, covering viewport sizing, cursor highlighting, and converting output for Remotion.
digitalsamba/claude-code-video-toolkit
AI image editing prompting patterns for Qwen-Image-Edit. An agent skill from digitalsamba/claude-code-video-toolkit.
digitalsamba/claude-code-video-toolkit
Generates background music, vocal tracks, covers and stems with ACE-Step 1.5 through a bundled music_gen.py tool, using cloud or self-hosted providers.
Works with
Categories
Command recipes for converting, resizing, compressing, trimming and extracting audio from video with FFmpeg, including settings for Remotion projects. The skill is a quick reference of ffmpeg and ffprobe commands for video and audio work, written with Remotion projects in mind. Recipes include converting a GIF to an MP4 with faststart, yuv420p and even-dimension scaling flags, resizing to 1920x1080 with padding, compressing with libx264 at a chosen CRF, extracting audio to MP3, converting audio formats such as M4A to MP3 for ElevenLabs voice samples, trimming, changing speed, joining clips, fading in and out, and reading duration, resolution and codec details.
FFmpeg for Video Production fits situations like: converting a GIF to an MP4 that Remotion can use; compressing or resizing a video file; extracting the audio from a video as MP3; trimming, speeding up or joining clips.
Run `npx skills add digitalsamba/claude-code-video-toolkit --skill ffmpeg -a claude-code`. Or copy the skill folder (.claude/skills/ffmpeg in digitalsamba/claude-code-video-toolkit) into .claude/skills/ffmpeg in your project. Claude Code loads it when a task matches its description.
Run `npx skills add digitalsamba/claude-code-video-toolkit --skill ffmpeg -a codex`. Or copy the skill folder (.claude/skills/ffmpeg in digitalsamba/claude-code-video-toolkit) into .agents/skills/ffmpeg in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add digitalsamba/claude-code-video-toolkit --skill ffmpeg -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ffmpeg, .gemini/skills/ffmpeg, .github/skills/ffmpeg and .opencode/skills/ffmpeg in your project.
Going by SKILL.md and its folder, FFmpeg for Video Production needs the command-line tools its instructions call (ffmpeg and ffprobe). Our summary lists: FFmpeg and ffprobe installed.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
FFmpeg for Video Production is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.3k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with FFmpeg for Video Production: Super Video Maker (Bomx/super-video-maker-skill, 305 stars), AI-Assisted Video Editing (affaan-m/ECC, 274k stars), Video Editing (affaan-m/ECC, 274k stars) and Video Editing (affaan-m/ECC, 274k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
digitalsamba (a GitHub organization) maintains it in digitalsamba/claude-code-video-toolkit, which has 2,172 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on October 5, 2026.
Source: digitalsamba/claude-code-video-toolkit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.