Video
// Process, edit, and optimize videos for any platform with compression, format conversion, captioning, and repurposing workflows.
$ git log --oneline --stat
stars:1,933
forks:367
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameVideo
slugvideo
version1.0.1
descriptionProcess, edit, and optimize videos for any platform with compression, format conversion, captioning, and repurposing workflows.
changelogDeclare required binaries (ffmpeg, ffprobe), add requirements section with optional deps, add explicit scope
metadata[object Object]
Requirements
Required:
ffmpeg/ffprobe— core video processing
Optional:
whisper— local transcription for captionsrealesrgan— AI upscaling
Quick Reference
| Situation | Load |
|---|---|
| Platform specs (YouTube, TikTok, Instagram) | platforms.md |
| FFmpeg commands by task | commands.md |
| Quality/compression settings | quality.md |
| Workflow by use case | workflows.md |
Core Capabilities
| Task | Method |
|---|---|
| Convert/compress | FFmpeg (see commands.md) |
| Generate captions | Whisper → SRT/VTT |
| Change aspect ratio | Crop, pad, or smart reframe |
| Clean audio | Normalize, denoise, enhance |
| Batch operations | Process entire folders in one run |
Execution Pattern
- Clarify target — What platform? What format? File size limit?
- Check source —
ffprobefor codec, resolution, duration, audio - Process — FFmpeg for transformation
- Verify — Confirm output meets specs before delivering
- Deliver — Provide file to user
Common Requests → Actions
| User says | Agent does |
|---|---|
| "Make this work for TikTok" | Reframe to 9:16, check duration ≤3min, compress |
| "Add subtitles" | Whisper → SRT → burn-in or deliver separately |
| "Compress for WhatsApp" | Target <64MB, H.264, AAC |
| "Extract audio" | -vn -acodec mp3 or -acodec copy |
| "Make a GIF" | Extract frames, optimize palette, loop |
| "Split into clips" | Cut at timestamps with -ss and -t |
Quality Rules
- Always re-encode audio to AAC for maximum compatibility
- Use
-movflags +faststartfor web playback - CRF 23 is good default for H.264 (lower = better, bigger)
- Check before delivering — verify duration, file size, playability
Platform Quick Reference
| Platform | Aspect | Max Duration | Max Size |
|---|---|---|---|
| TikTok | 9:16 | 3 min | 287MB |
| Instagram Reels | 9:16 | 90s | 250MB |
| YouTube Shorts | 9:16 | 60s | No limit |
| YouTube | 16:9 | 12h | 256GB |
| Any | 3 min | 64MB |
Scope
This skill:
- Processes video files user explicitly provides
- Runs FFmpeg commands on user request
- Does NOT access files without user instruction
- Does NOT upload to external services automatically