
Video Edit
Cut, join, resize, and compress promo or tutorial MP4s on your machine with ffmpeg before posting to TikTok, YouTube, or landing pages—no cloud editor subscription.
Overview
Video Edit is an agent skill for the Launch phase that edits local video with ffmpeg—trim, concat, resize for social platforms, audio work, compression, and format conversion.
Install
npx skills add https://github.com/heygen-com/skills --skill video-editWhat is this skill?
- Runs ffmpeg/ffprobe locally—trim, concat, resize, speed change, overlay, audio extract/replace, compress, and format con
- Platform resize recipe with pad/scale for vertical social (1080×1920 example)
- ffprobe JSON introspection for duration, codecs, and streams before editing
- Speed change via setpts and atempo filters (2× and slow-motion patterns documented)
- Seven documented trigger cases: trim, concat, social resize, audio, compress, convert, and video info
- Seven explicit when-to-use scenarios in SKILL.md (trim, concat, resize, audio, compress, convert, info)
- Documented vertical social resize target 1080×1920 with pad/scale filter chain
Adoption & trust: 1k installs on skills.sh; 279 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
You have raw screen recordings or clips but no fast, repeatable way to cut, resize for TikTok-style vertical, or export compressed MP4s without learning ffmpeg flags from scratch.
Who is it for?
Indie builders batching launch and social video from local files who are comfortable installing ffmpeg and specifying in/out timestamps or target resolutions.
Skip if: Teams that need collaborative timeline editing, generative AI avatars, or cloud-only rendering pipelines without shell access on the agent machine.
When should I use this skill?
Trimming or cutting segments, concatenating clips, resizing for social platforms, extracting or replacing audio, compressing, converting formats, or reading video info with ffprobe.
What do I get? / Deliverables
After the skill runs, you get correctly filtered ffmpeg/ffprobe command sequences and named output files ready to upload or embed in launch assets.
- Trimmed or concatenated MP4 outputs
- Platform-sized video files (e.g. vertical social exports)
- ffprobe JSON stream/format reports for planning edits
Recommended Skills
Journey fit
Launch is the canonical shelf because the skill explicitly targets social-platform delivery (e.g. 1080×1920 TikTok exports) and format conversion right before distribution. Distribution subphase fits resizing, compression, and concat workflows that turn raw captures into channel-ready clips.
How it compares
Use instead of generic “edit my video” chat without concrete ffmpeg recipes when you want copy-paste CLI steps tied to distro install and platform aspect ratios.
Common Questions / FAQ
Who is video-edit for?
Solo and indie builders using Claude Code, Cursor, or similar agents who produce their own MP4s and need ffmpeg command patterns for trim, concat, resize, audio, and compression before distribution.
When should I use video-edit?
During Launch distribution when resizing for social platforms; during Grow content when splicing tutorial segments; anytime you need local format conversion, compression, or ffprobe metadata without a desktop editor.
Is video-edit safe to install?
Review the Security Audits panel on this Prism page for install and repo signals; the skill instructs shell execution and filesystem reads/writes on video paths, so scope agent permissions and validate commands before running on sensitive machines.
SKILL.md
READMESKILL.md - Video Edit
# Video Edit Edit videos locally by running ffmpeg/ffprobe directly. No wrapper scripts needed. ## Prerequisites Install ffmpeg (includes ffprobe): ```bash # macOS brew install ffmpeg # Ubuntu/Debian sudo apt update && sudo apt install -y ffmpeg # Verify ffmpeg -version && ffprobe -version ``` ## Quick Reference ### Get video info ```bash ffprobe -v quiet -print_format json -show_format -show_streams video.mp4 ``` ### Trim ```bash ffmpeg -y -ss 00:00:30 -to 00:01:45 -i video.mp4 -c copy trimmed.mp4 ``` ### Concatenate clips ```bash # 1. Create a file list printf "file '%s'\n" clip1.mp4 clip2.mp4 clip3.mp4 > list.txt # 2. Concat with stream copy ffmpeg -y -f concat -safe 0 -i list.txt -c copy joined.mp4 ``` ### Resize for platform ```bash ffmpeg -y -i video.mp4 \ -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black" \ -c:a copy tiktok.mp4 ``` ### Change speed ```bash # 2x faster ffmpeg -y -i video.mp4 -filter:v "setpts=0.5*PTS" -filter:a "atempo=2.0" fast.mp4 # 0.5x (slow motion) ffmpeg -y -i video.mp4 -filter:v "setpts=2.0*PTS" -filter:a "atempo=0.5" slow.mp4 ``` ### Extract audio ```bash ffmpeg -y -i video.mp4 -vn -acodec libmp3lame audio.mp3 ``` ### Replace audio ```bash ffmpeg -y -i video.mp4 -i audio.mp3 -c:v copy -map 0:v:0 -map 1:a:0 -shortest output.mp4 ``` ### Compress ```bash ffmpeg -y -i video.mp4 -crf 23 -preset medium -c:a copy compressed.mp4 ``` ### Convert format ```bash ffmpeg -y -i video.mov output.mp4 ``` ### Add image overlay ```bash # Logo in top-right corner ffmpeg -y -i video.mp4 -i logo.png \ -filter_complex "overlay=W-w-10:10" -c:a copy watermarked.mp4 ``` ## Platform Presets | Platform | Resolution | Scale + pad filter | |------------|-------------|-------------------------------------------------------------------------------------------------------| | TikTok | 1080 x 1920 | `scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2:black` | | YouTube | 1920 x 1080 | `scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:black` | | Instagram | 1080 x 1350 | `scale=1080:1350:force_original_aspect_ratio=decrease,pad=1080:1350:(ow-iw)/2:(oh-ih)/2:black` | | Square | 1080 x 1080 | `scale=1080:1080:force_original_aspect_ratio=decrease,pad=1080:1080:(ow-iw)/2:(oh-ih)/2:black` | | Twitter/X | 1920 x 1080 | `scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080:(ow-iw)/2:(oh-ih)/2:black` | Use the filter with: `ffmpeg -y -i input.mp4 -vf "<filter>" -c:a copy output.mp4` ## Tips - Always use `-y` to overwrite output without prompting. - Use `-c copy` when you only need to cut/join (no re-encoding, very fast). - Lower CRF = better quality, larger file. Range 18-28 is typical; 23 is the default. - For detailed recipes and flag explanations, see `references/operations.md`. # Operations Reference Detailed ffmpeg recipes for every operation. Each section shows the command, explains key flags, and lists common variations. --- ## info Get full metadata about a video file using ffprobe. ```bash ffprobe -v quiet -print_format json -show_format -show_streams video.mp4 ``` **Key flags:** - `-v quiet` — suppress banner/log noise, output only the requested data. - `-print_format json` — output as JSON (easy to parse). Also accepts `csv`, `flat`, `ini`. - `-show_format` — container-level info: duration, bitrate, format name, size. - `-show_streams