FFmpeg for Video Production
digitalsamba/claude-code-video-toolkit
Command recipes for converting, resizing, compressing, trimming and extracting audio from video with FFmpeg, including settings for Remotion projects.
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.
$ npx skills add affaan-m/ECC --skill video-editing -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install affaan-m/ECC video-editing --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/affaan-m/ECC.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/video-editing .claude/skills/video-editing && 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 "video-editing" agent skill from https://github.com/affaan-m/ECC/tree/main/skills/video-editing into .claude/skills/video-editing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-editing", 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/affaan-m/ECC/tree/main/skills/video-editingType 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 affaan-m/ECC --skill video-editing -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install affaan-m/ECC video-editing --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/affaan-m/ECC.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/video-editing .agents/skills/video-editing && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "video-editing" agent skill from https://github.com/affaan-m/ECC/tree/main/skills/video-editing into .agents/skills/video-editing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-editing", 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 affaan-m/ECC --skill video-editing -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install affaan-m/ECC video-editing --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/affaan-m/ECC.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/video-editing .cursor/skills/video-editing && 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 "video-editing" agent skill from https://github.com/affaan-m/ECC/tree/main/skills/video-editing into .cursor/skills/video-editing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-editing", 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/affaan-m/ECC.git --path skills/video-editing--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 affaan-m/ECC --skill video-editing -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install affaan-m/ECC video-editing --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/affaan-m/ECC.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/video-editing .gemini/skills/video-editing && 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 "video-editing" agent skill from https://github.com/affaan-m/ECC/tree/main/skills/video-editing into .gemini/skills/video-editing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-editing", 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 affaan-m/ECC video-editingInstalls 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 affaan-m/ECC --skill video-editing -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/affaan-m/ECC.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/video-editing .github/skills/video-editing && 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 "video-editing" agent skill from https://github.com/affaan-m/ECC/tree/main/skills/video-editing into .github/skills/video-editing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-editing", 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 affaan-m/ECC --skill video-editing -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install affaan-m/ECC video-editing --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/affaan-m/ECC.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/video-editing .opencode/skills/video-editing && 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 "video-editing" agent skill from https://github.com/affaan-m/ECC/tree/main/skills/video-editing into .opencode/skills/video-editing/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "video-editing", 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.
video-editingLays 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.
This skill is about editing existing video, not generating it from prompts. Its thesis is that AI helps most when it compresses, structures and augments real footage. It applies when you want to cut footage, turn long recordings into short-form content, build vlogs, tutorials or demo videos, add overlays, subtitles, music or voiceover, or reframe video for platforms such as YouTube, TikTok and Instagram.
The work runs through separate layers, starting with capture from Screen Studio or raw camera footage and passing through an AI agent, FFmpeg and the other tools, each layer with one job. Process notes ask for a saved and verified project checkpoint before and after live editor changes, for audio to be auditioned for unintended silence, and for upload or training-data telemetry never to be switched on as a side effect. The folder also ships Fusion effect settings, such as highlight bloom, luma halo and RGB fringe, with Lua install scripts.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 2d515e4. 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.
Ships script files (Lua), which the agent can run.
Shell commands in SKILL.md call:
ffmpegnpxFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
api.elevenlabs.ioAlso links to:
remotion.devFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
ELEVENLABS_API_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
AI-Assisted Video Editing loads about 2.9k tokens when it runs. Until then it costs about 81 tokens; SKILL.md has 1,004 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 affaan-m/ECC at commit 2d515e4, republished under its MIT licence (© affaan-m). 1,004 words, ~2,935 tokens.
.claude/skills/video-editing/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.AI-assisted editing for real footage. Not generation from prompts. Editing existing video fast.
AI video editing is useful when you stop asking it to create the whole video and start using it to compress, structure, and augment real footage. The value is not generation. The value is compression.
For measured reference-driven work, chain taste-distillation into
taste-application, then return here for the editor and final-output review.
The standalone taste skills can use existing footage; generation is optional.
Before live editor or DAW changes, save a versioned project checkpoint and verify the file exists. Save and verify another checkpoint after the changes. An API readback proves the current in-memory state, not that it was saved. Keep rendered media, editable projects, and creative approval as separate states in the handoff.
For MIDI-driven audio, check pitches against the receiving rack's note mapping and audition the result; successful clip creation can still produce silence. For reconstructed projects, validate through native load and save, sort events in timeline order, verify sample links and mute states, then check and audition the exact exported audio for unintended silence. XML parsing alone does not prove that the DAW accepted every clip or produced audible output. Check a bridge's capability handshake before invoking newer commands. Do not enable upload or training-data telemetry as a side effect of a creative task; use a supported local control path when consent or capability is absent.
Screen Studio / raw footage
→ Claude / Codex
→ FFmpeg
→ Remotion
→ ElevenLabs / fal.ai
→ Descript or CapCutEach layer has a specific job. Do not skip layers. Do not try to make one tool do everything.
Collect the source material:
videodb skill)Output: raw files ready for organization.
Use Claude Code or Codex to:
Example prompt:
"Here's the transcript of a 4-hour recording. Identify the 8 strongest segments
for a 24-minute vlog. Give me FFmpeg cut commands for each segment."This layer is about structure, not final creative taste.
FFmpeg handles the boring but critical work: splitting, trimming, concatenating, and preprocessing.
ffmpeg -i raw.mp4 -ss 00:12:30 -to 00:15:45 -c copy segment_01.mp4#!/bin/bash
# cuts.txt: start,end,label
while IFS=, read -r start end label; do
ffmpeg -i raw.mp4 -ss "$start" -to "$end" -c copy "segments/${label}.mp4"
done < cuts.txt# Create file list
for f in segments/*.mp4; do echo "file '$f'"; done > concat.txt
ffmpeg -f concat -safe 0 -i concat.txt -c copy assembled.mp4ffmpeg -i raw.mp4 -vf "scale=960:-2" -c:v libx264 -preset ultrafast -crf 28 proxy.mp4ffmpeg -i raw.mp4 -vn -acodec pcm_s16le -ar 16000 audio.wavffmpeg -i segment.mp4 -af loudnorm=I=-16:TP=-1.5:LRA=11 -c:v copy normalized.mp4Remotion turns editing problems into composable code. Use it for things that traditional editors make painful:
import { AbsoluteFill, Sequence, Video, useCurrentFrame } from "remotion";
export const VlogComposition: React.FC = () => {
const frame = useCurrentFrame();
return (
<AbsoluteFill>
{/* Main footage */}
<Sequence from={0} durationInFrames={300}>
<Video src="/segments/intro.mp4" />
</Sequence>
{/* Title overlay */}
<Sequence from={30} durationInFrames={90}>
<AbsoluteFill style={{
justifyContent: "center",
alignItems: "center",
}}>
<h1 style={{
fontSize: 72,
color: "white",
textShadow: "2px 2px 8px rgba(0,0,0,0.8)",
}}>
The AI Editing Stack
</h1>
</AbsoluteFill>
</Sequence>
{/* Next segment */}
<Sequence from={300} durationInFrames={450}>
<Video src="/segments/demo.mp4" />
</Sequence>
</AbsoluteFill>
);
};npx remotion render src/index.ts VlogComposition output.mp4See the Remotion docs for detailed patterns and API reference.
Generate only what you need. Do not generate the whole video.
import os
import requests
resp = requests.post(
f"https://api.elevenlabs.io/v1/text-to-speech/{voice_id}",
headers={
"xi-api-key": os.environ["ELEVENLABS_API_KEY"],
"Content-Type": "application/json"
},
json={
"text": "Your narration text here",
"model_id": "eleven_turbo_v2_5",
"voice_settings": {"stability": 0.5, "similarity_boost": 0.75}
}
)
with open("voiceover.mp3", "wb") as f:
f.write(resp.content)Use the fal-ai-media skill for:
Use for insert shots, thumbnails, or b-roll that doesn't exist:
generate(app_id: "fal-ai/nano-banana-pro", input_data: {
"prompt": "professional thumbnail for tech vlog, dark background, code on screen",
"image_size": "landscape_16_9"
})If VideoDB is configured:
voiceover = coll.generate_voice(text="Narration here", voice="alloy")
music = coll.generate_music(prompt="lo-fi background for coding vlog", duration=120)
sfx = coll.generate_sound_effect(prompt="subtle whoosh transition")The last layer is human. Use a traditional editor for:
This is where taste lives. AI clears the repetitive work. You make the final calls.
Different platforms need different aspect ratios:
| Platform | Aspect Ratio | Resolution |
|---|---|---|
| YouTube | 16:9 | 1920x1080 |
| TikTok / Reels | 9:16 | 1080x1920 |
| Instagram Feed | 1:1 | 1080x1080 |
| X / Twitter | 16:9 or 1:1 | 1280x720 or 720x720 |
# 16:9 to 9:16 (center crop)
ffmpeg -i input.mp4 -vf "crop=ih*9/16:ih,scale=1080:1920" vertical.mp4
# 16:9 to 1:1 (center crop)
ffmpeg -i input.mp4 -vf "crop=ih:ih,scale=1080:1080" square.mp4from videodb import ReframeMode
# Smart reframe (AI-guided subject tracking)
reframed = video.reframe(start=0, end=60, target="vertical", mode=ReframeMode.smart)# Detect scene changes (threshold 0.3 = moderate sensitivity)
ffmpeg -i input.mp4 -vf "select='gt(scene,0.3)',showinfo" -vsync vfr -f null - 2>&1 | grep showinfo# Find silent segments (useful for cutting dead air)
ffmpeg -i input.mp4 -af silencedetect=noise=-30dB:d=2 -f null - 2>&1 | grep silenceUse Claude to analyze transcript + scene timestamps:
"Given this transcript with timestamps and these scene change points,
identify the 5 most engaging 30-second clips for social media."| Tool | Strength | Weakness |
|---|---|---|
| Claude / Codex | Organization, planning, code generation | Not the creative taste layer |
| FFmpeg | Deterministic cuts, batch processing, format conversion | No visual editing UI |
| Remotion | Programmable overlays, composable scenes, reusable templates | Learning curve for non-devs |
| Screen Studio | Polished screen recordings immediately | Only screen capture |
| ElevenLabs | Voice, narration, music, SFX | Not the center of the workflow |
| Descript / CapCut | Final pacing, captions, polish | Manual, not automatable |
ITO Production v1 provides restrained highlight bloom, opposing RGB spatial offsets and a luminance/edge halo. The exact files passed prior native import, save/reopen and short motion-render checks after two-source visual review. These are starting values requiring shot-specific review; the halo does not detect or track subjects.
ITO V28 contains preserved, native-verified Fusion graph snippets and an idempotent Lua installer. These are technical compatibility examples, not recommended production defaults: their documented visual limitations require tuning and taste review before use. See the bundle provenance for the scope of prior import and render checks.
fal-ai-media — AI image, video, and audio generationvideodb — Server-side video processing, indexing, and streamingcontent-engine — Platform-native content distribution© affaan-m, 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 12 other files (assets) in skills/video-editing of affaan-m/ECC.
Open the folder on GitHubat commit 2d515e4
We found 11 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 4 other GitHub owners. This page covers the copy in affaan-m/ECC, which our catalogue first saw on October 7, 2026.
AI-Assisted Video Editing 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 |
|---|---|---|---|---|---|---|
| AI-Assisted Video Editing this skillaffaan-m/ECC | 277k | 4 repos | ~2.9k | Automated safety check: Pass | MIT | |
| FFmpeg for Video Productiondigitalsamba/claude-code-video-toolkit | 2.2k | 3 repos | ~3.3k | Automated safety check: Pass | MIT | |
| Super Video MakerBomx/super-video-maker-skill | 310 | — | ~11k | Automated safety check: Notes | None | |
| Promo Video Makerliyupi/ai-promo-video-maker | 121 | — | ~145 | Automated safety check: Pass | MIT | |
| Remotion Best Practiceslyonjs/shortvid.io | 147 | 33 repos | ~1k | Automated safety check: Pass | MIT | |
| HyperFrames Video Entry Pointheygen-com/hyperframes | 60k | 3 repos | ~5.2k | Automated safety check: Pass | Apache-2.0 |
digitalsamba/claude-code-video-toolkit
Command recipes for converting, resizing, compressing, trimming and extracting audio from video with FFmpeg, including settings for Remotion projects.
Bomx/super-video-maker-skill
End-to-end AI video production skill for agentic frameworks.
liyupi/ai-promo-video-maker
为产品、网站、App、SaaS、开源项目、课程、AI 模型或活动制作有商业质感的宣传片(4K MP4 + 网页版),流程包括调研、需求问询、风格样帧、真实页面 4K 截图、配乐卡点、AI 旁白、混音和自动校验。用户说「做宣传片」「做产品介绍视频」「做推广视频 / 预告片」「给这个项目做个视频」,或者要求 promo video、product trailer、launch video 时使用。
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.
dtsola/xiaoyaosearch
Turns a topic into a 4K horizontal video podcast through research, scripting, text-to-speech, Remotion rendering and background music, and can learn styles from references.
affaan-m/ECC
Audits your installed Claude skills and commands for quality, with a quick mode for recently changed skills and a full mode that evaluates all of them through subagents.
affaan-m/ECC
Ingests, indexes, searches, edits and monitors video, audio and live streams through the VideoDB Python SDK, returning stream links, clips and timestamps.
affaan-m/ECC
Route broad documentation-governance requests to existing ECC skills and run an opt-in, read-only audit of mapped documentation roles, links, ADR indexes, and evidence references.
affaan-m/ECC
Scans installed skills for principles that recur across them and proposes rule-file changes: append, revise, add a section, create a file or leave as covered.
affaan-m/ECC
Builds DRAFT counterparty agreements from one markdown template and a small JSON spec per party, with clauses picked by the party's role.
affaan-m/ECC
Set an ECC-specific frontend design direction for production UI work.
Works with
Categories
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. This skill is about editing existing video, not generating it from prompts. Its thesis is that AI helps most when it compresses, structures and augments real footage.
AI-Assisted Video Editing fits situations like: cutting a long screen recording into a short demo video; building a vlog or tutorial from raw camera footage; adding subtitles, music or voiceover to existing video; reframing a video for YouTube, TikTok or Instagram.
Run `npx skills add affaan-m/ECC --skill video-editing -a claude-code`. Or copy the skill folder (skills/video-editing in affaan-m/ECC) into .claude/skills/video-editing in your project. Claude Code loads it when a task matches its description.
Run `npx skills add affaan-m/ECC --skill video-editing -a codex`. Or copy the skill folder (skills/video-editing in affaan-m/ECC) into .agents/skills/video-editing 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 affaan-m/ECC --skill video-editing -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/video-editing, .gemini/skills/video-editing, .github/skills/video-editing and .opencode/skills/video-editing in your project.
Going by SKILL.md and its folder, AI-Assisted Video Editing needs Lua for the scripts in its folder, the command-line tools its instructions call (ffmpeg and npx) and credentials named ELEVENLABS_API_KEY. Our summary lists: FFmpeg installed; Accounts for the later-layer tools you pick, such as Remotion, ElevenLabs, fal.ai or CapCut.
SKILL.md names 2 domains. In commands or code: api.elevenlabs.io; the agent is likely to contact it when it follows the instructions. As links in the text: remotion.dev. 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.
AI-Assisted Video Editing is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.9k tokens (SKILL.md is roughly 12k 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 AI-Assisted Video Editing: FFmpeg for Video Production (digitalsamba/claude-code-video-toolkit, 2.2k stars), Super Video Maker (Bomx/super-video-maker-skill, 310 stars), Promo Video Maker (liyupi/ai-promo-video-maker, 121 stars) and Remotion Best Practices (lyonjs/shortvid.io, 147 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
affaan-m (a GitHub user) maintains it in affaan-m/ECC, which has 276,673 GitHub stars. The repository holds 683 skills in this directory. The repository was last updated on October 11, 2026.
Source: affaan-m/ECC on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.