Agent skill

Video Editing

by notque in notque/vexjoy-agent

Video editing pipeline: cut footage, assemble clips via FFmpeg and Remotion.

MITAuto-check: notesMedia & Creative

Install Video Editing

skills CLI
$ npx skills add notque/vexjoy-agent --skill video-editing -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install notque/vexjoy-agent video-editing --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/notque/vexjoy-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/content/video-editing .claude/skills/video-editing && rm -rf skills-src

Use ~/.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/

Facts

Skill name
video-editing
GitHub stars
438
Token cost
~2.3k tokens
SKILL.md length
904 words
Files
6 (incl. references)
Skills in repo
61
Repo updated
First seen
Licence
MIT

At a glance

Video editing pipeline: cut footage, assemble clips via FFmpeg and Remotion.

  • Works in 6 steps: CAPTURE → AI STRUCTURE → FFMPEG CUTS → …
  • Tasks that involve Video production
  • SKILL.md covers Overview, Deep References, Instructions and Phase 1: CAPTURE, plus 7 more sections
  • Calls yt-dlp, npx and npm; reaches nodejs.org; needs ELEVENLABS_API_KEY

What it does

Video Editing is an agent skill from notque/vexjoy-agent. Video editing pipeline: cut footage, assemble clips via FFmpeg and Remotion.

Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including reference files (for example `references/ffmpeg-commands.md`, `references/ffmpeg-filters.md` and `references/image-to-video.md`).

It sits in Media & Creative, covering Video production. It works with FFmpeg and Remotion. The repository describes itself as: VexJoy AI Agent with Jev Intelligent Routing - /do routes plain-English requests to the right specialist agent and gates the work with reviews, tests, and a learning loop. The licence is MIT.

When your agent uses it

  • Tasks that involve Video production

Example prompts

  • “/video-editing”

Requirements

  • Python 3
  • Node.js
  • A credential in ELEVENLABS_API_KEY
  • Pre-approved tools (allowed-tools): Read, Write, Bash, Grep, Glob, Edit, Task, Skill

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. CAPTURE
  2. AI STRUCTURE
  3. FFMPEG CUTS
  4. REMOTION COMPOSITION
  5. AI GENERATION
  6. FINAL POLISH

What it can do on your machine

Read from SKILL.md and the folder at commit 5218674. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Bash
    • Grep
    • Glob
    • Edit
    • Task
    • Skill

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • yt-dlp
    • npx
    • npm
    • apt
    • python3
    • ffmpeg

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • nodejs.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • ELEVENLABS_API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Video Editing loads about 2.3k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 23 tokens; SKILL.md has 904 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~23
When it runs · the whole SKILL.md, loaded when a task matches
~2.3k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~11k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Bash, Grep, Glob, Edit, Task, Skill

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.

SKILL.md

The full file from notque/vexjoy-agent at commit 5218674, republished under its MIT licence (© notque). 904 words, ~2,333 tokens.

Download SKILL.mdSave it as .claude/skills/video-editing/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
video-editing
description
Video editing pipeline: cut footage, assemble clips via FFmpeg and Remotion.
allowed-tools
Read, Write, Bash, Grep, Glob, Edit, Task, Skill
user-invocable
false
agent
python-general-engineer
routing.category
video-creation
routing.triggers
edit video, cut footage, make vlog, screen recording, video workflow, ffmpeg, remotion, demo video, make a clip, assemble clips, video editing, image to…
routing.pairs_with
typescript-frontend-engineer, research

Video Editing Skill

Overview

This skill implements a 6-layer pipeline where AI handles judgment tasks (what to keep, what to cut, highlight selection) and FFmpeg/Remotion handle mechanical execution deterministically.

LayerNameMechanismPrimary Tool
1CAPTUREInventory source footageBash + Glob
2AI STRUCTURETranscript to EDLLLM judgment
3FFMPEG CUTSEDL to segment filesFFmpeg (deterministic)
4REMOTION COMPOSITIONSegments to TSX compositionRemotion + TypeScript
5AI GENERATIONFill gaps with generated assetsElevenLabs / fal.ai (conditional)
6FINAL POLISHHuman taste layerHuman + NLE

Deep References

SignalLoadContent
Shell commands for each phase, gate checksreferences/phase-commands.mdFull command blocks for Phases 1-6
FFmpeg recipes: cutting, concat, proxy, detectionreferences/ffmpeg-commands.mdTimestamp extraction, batch cutting, audio normalization, scene/silence detection
Remotion composition scaffoldreferences/remotion-scaffold.mdTSX composition template, render command, reuse patterns
Image-to-video pipelinereferences/image-to-video.mdValidate, prepare, encode, verify workflow
FFmpeg filter graphs for visualizationreferences/ffmpeg-filters.mdScale/pad, showwaves, showspectrum, overlay, complete filter graphs

Instructions

Preflight (Run before Phase 1)

Hard requirements (BLOCK if missing): ffmpeg (all phases), node (Remotion / npx). Soft requirements (WARN if missing): remotion (only required for Phase 4).

bash
which ffmpeg >/dev/null 2>&1 || { echo "ERROR: ffmpeg not found. Install: brew install ffmpeg (macOS) | apt install ffmpeg (Linux)"; exit 1; }
which node >/dev/null 2>&1 || { echo "ERROR: node not found. Install: https://nodejs.org or via nvm"; exit 1; }
npx remotion --version >/dev/null 2>&1 || echo "WARNING: remotion CLI not found. Phase 4 unavailable. Install: npm install @remotion/cli"

Phase 1: CAPTURE

Goal: Inventory all source footage and confirm files exist on disk before any processing.

Constraint: Source files are read-only. All FFmpeg commands write to new files only. Never overwrite source footage.

Steps: locate source files (find), inspect each with ffprobe, generate proxies for files >10 min (see references/ffmpeg-commands.md -> Proxy Generation), create working directories (segments/, assembled/). Full command block: references/phase-commands.md -> Phase 1.

Gate: Source files confirmed on disk. File list written to source-inventory.txt. Proceed only when gate passes.


Phase 2: AI STRUCTURE

Goal: Analyze content and produce a written EDL (cuts.txt) that drives all downstream cutting.

Constraint: cuts.txt is the contract. The EDL file is the only source of truth for downstream phases. Do not hand-edit FFmpeg commands — generate them from the EDL.

Constraint: Before writing the EDL manually, run FFmpeg scene/silence detection. Detection output informs judgment, not replaces it.

Steps: transcribe with whisper/AssemblyAI, run scene/silence detection, apply judgment (what advances narrative, what is filler, target duration), write cuts.txt in EDL format START_TIME,END_TIME,LABEL, review for overlap and total duration. Full command block and EDL format example: references/phase-commands.md -> Phase 2.

Gate: transcript.txt exists. cuts.txt written to disk. Proceed only when both files exist.


Phase 3: FFMPEG CUTS

Goal: Execute the EDL deterministically — one FFmpeg cut per segment in cuts.txt.

Constraint: Batch-cut from EDL using a loop. Do not create individual FFmpeg commands per cut. This ensures reproducibility and review capability as a list.

Constraint: Always generate concat-list.txt from cuts.txt order, not from shell glob. Shell glob (segments/*.mp4) sorts alphabetically, not by EDL order.

Steps: batch-cut from EDL with while loop (libx264/aac, -avoid_negative_ts make_zero), verify segments, generate concat-list.txt in EDL order, concat with -f concat -safe 0 -c copy. Full command block: references/phase-commands.md -> Phase 3. See also references/ffmpeg-commands.md -> Batch Cutting.

Gate: All segment files exist. assembled/rough-cut.mp4 written to disk. Proceed only when gate passes.


Phase 4: REMOTION COMPOSITION

Goal: Wrap segments in a Remotion TSX composition for programmatic overlays, titles, or transitions.

When to use: Only when rough-cut.mp4 requires programmatic elements (animated titles, lower thirds, caption tracks, brand overlays). If rough-cut.mp4 is sufficient, skip to Phase 6.

Constraint: Layer 4 requires TypeScript/React. Hand off to typescript-frontend-engineer for TSX work; return to python-general-engineer for Phase 5 onward.

Steps: initialize Remotion (npm create video@latest first time; otherwise npm install @remotion/cli @remotion/player remotion), scaffold composition (see references/remotion-scaffold.md), render with npx remotion render. Full command block: references/phase-commands.md -> Phase 4.

Gate: assembled/remotion-output.mp4 exists. Proceed only when gate passes.


Show full SKILL.md (321 more words)Show less

Phase 5: AI GENERATION

Goal: Fill genuine gaps in source material with generated assets — only when needed.

Constraint: Check whether existing footage covers the gap before generating anything. Generate only what doesn't exist.

Decision tree: cut around the gap → update cuts.txt and re-run Phase 3; voiceover → ElevenLabs (authorization required); music → fal.ai (defer to fal-ai-media); b-roll → fal.ai (defer to fal-ai-media). ElevenLabs Python helper, authorization pattern, and save-to-disk flow: references/phase-commands.md -> Phase 5.

Gate: All required generated assets saved to assets/ directory before proceeding.


Phase 6: FINAL POLISH

Goal: Deliver assembled output and hand off taste-layer work to human.

Constraint: Layer 6 is human territory. The skill assembles; the human finishes. The following require human judgment and should not be attempted programmatically:

  • Color grading and color matching between clips
  • Music timing and volume ducking
  • Caption style, font, positioning
  • Transition timing and style
  • Final audio mix levels

Handoff template (handoff-notes.txt with source list, EDL, rough-cut path, remaining-for-human checklist): references/phase-commands.md -> Phase 6.

Gate: assembled/rough-cut.mp4 (or assembled/remotion-output.mp4) exists. handoff-notes.txt written to disk.


Video Transcript Extraction

Pull a video's transcript as readable paragraphs. Prefer uploader subtitles; fall back to auto-generated.

bash
# Path 1: uploader subtitles (accurate)
yt-dlp --skip-download --write-subs --sub-langs en --sub-format vtt -o '<work-dir>/%(id)s' '<URL>'
# Path 2: auto-generated (fallback when path 1 writes no file)
yt-dlp --skip-download --write-auto-subs --sub-langs en --sub-format vtt -o '<work-dir>/%(id)s' '<URL>'
# Clean VTT to paragraphs
python3 skills/research/video-transcript/scripts/vtt_to_paragraph.py <work-dir>/<id>.en.vtt

Options: --timestamps for [mm:ss] markers, --keep-brackets for cue tags, -o FILE for file output. Other languages: change --sub-langs. List available: yt-dlp --list-subs '<URL>'.

Error Handling

ErrorCauseSolution
"No such file or directory" on sourcePath in cuts.txt doesn't match filenameRun cat source-inventory.txt. Quote paths with spaces.
FFmpeg "Invalid option" or codec errorsCodec unavailable or flag syntax errorffmpeg -codecs | grep libx264. Fall back to -c:v copy.
Remotion "Could not find composition"Composition ID mismatchCheck src/index.ts for registered ID. Match exactly in render command.
Segments concat in wrong orderShell glob sorts alphabetically, not by EDLGenerate concat-list.txt from cuts.txt order, not from glob.
ElevenLabs 401ELEVENLABS_API_KEY not setexport ELEVENLABS_API_KEY=your_key before Phase 5.
No .vtt file from transcript extractionVideo has no subtitles in requested languageyt-dlp --list-subs '<URL>' and pick an available language.

© notque, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in skills/content/video-editing of notque/vexjoy-agent.

  • SKILL.md
  • references/ffmpeg-commands.md
  • references/ffmpeg-filters.md
  • references/image-to-video.md
  • references/phase-commands.md
  • references/remotion-scaffold.md

Open the folder on GitHubat commit 5218674

Compare with similar skills

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.

Video Editing compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Video Editing this skillnotque/vexjoy-agent438—~2.3kAutomated safety check: NotesMIT
Remotion Best Practiceslyonjs/shortvid.io14733 repos~1kAutomated safety check: PassMIT
HyperFrames Video Entry Pointheygen-com/hyperframes59k3 repos~5.2kAutomated safety check: PassApache-2.0
ShortsAgriciDaniel/claude-shorts218—~3.2kAutomated safety check: NotesMIT
Black White Text OpenerPluviobyte/video-production-skills667—~1kAutomated safety check: PassNone
Product DemoAlexwtlf/agentic-product-demo370—~8.8kAutomated safety check: PassCustom licence

Similar skills

  • Remotion Best Practices

    lyonjs/shortvid.io

    Best practices for Remotion - Video creation in React. An agent skill from lyonjs/shortvid.io.

    147 GitHub starsUsed in 33 repos~1k tokens
    Media & CreativeAuto-check passed
  • HyperFrames Video Entry Point

    heygen-com/hyperframes

    Entry point for making, editing and rendering videos from HTML compositions with HyperFrames, routing each request to the right workflow.

    59k GitHub starsUsed in 3 repos~5.2k tokens
    Media & CreativeAuto-check passed
  • Shorts

    AgriciDaniel/claude-shorts

    Interactive longform-to-shortform video creator. An agent skill from AgriciDaniel/claude-shorts.

    218 GitHub stars~3.2k tokensUpdated 2 mo ago
    Media & CreativeAuto-check: notes
  • Black White Text Opener

    Pluviobyte/video-production-skills

    Create reusable black-background white-text opening animations for new videos.

    667 GitHub stars~1k tokensUpdated 2 mo ago
    Media & CreativeAuto-check passed
  • Product Demo

    Alexwtlf/agentic-product-demo

    Shoot, animate, title and optionally score product demo videos with Remotion — for a landing page, docs, onboarding, an app store listing or a social post.

    370 GitHub stars~8.8k tokensUpdated 1 mo ago
    Media & CreativeAuto-check passed
  • Super Video Maker

    Bomx/super-video-maker-skill

    End-to-end AI video production skill for agentic frameworks.

    308 GitHub stars~11k tokensUpdated 1 mo ago
    Media & CreativeAuto-check: notes

More from notque/vexjoy-agent

All 61 skills in this repo
  • Game Asset Generator

    notque/vexjoy-agent

    Deterministic palette/matrix pixel art (not AI). An agent skill from notque/vexjoy-agent.

    438 GitHub stars~2.3k tokensUpdated 5 days ago
    Auto-check: notes
  • PR Workflow

    notque/vexjoy-agent

    Pull request lifecycle: commit, codex review, sync, review, fix, status, cleanup, and PR mining.

    438 GitHub stars~2.8k tokensUpdated 5 days ago
    Auto-check: notes
  • Architecture Deepening

    notque/vexjoy-agent

    Improve architecture across modules by deepening interfaces.

    438 GitHub stars~3.3k tokensUpdated 5 days ago
    Auto-check: notes
  • Code Quality

    notque/vexjoy-agent

    Code quality: cleanup, linting, formatting, quality gates. An agent skill from notque/vexjoy-agent.

    438 GitHub stars~1.5k tokensUpdated 5 days ago
    Auto-check: notes
  • Codebase Analyzer

    notque/vexjoy-agent

    Statistical rule discovery from Go codebase patterns. An agent skill from notque/vexjoy-agent.

    438 GitHub stars~2k tokensUpdated 5 days ago
    Auto-check: notes
  • Comment Quality

    notque/vexjoy-agent

    Review and fix temporal references in code comments. An agent skill from notque/vexjoy-agent.

    438 GitHub stars~2k tokensUpdated 5 days ago
    Auto-check: notes

Works with

Questions about Video Editing

What does Video Editing do?

Video editing pipeline: cut footage, assemble clips via FFmpeg and Remotion. Video Editing is an agent skill from notque/vexjoy-agent. Video editing pipeline: cut footage, assemble clips via FFmpeg and Remotion.

When should I use Video Editing?

Video Editing fits situations like: tasks that involve Video production.

How do I install Video Editing in Claude Code?

Run `npx skills add notque/vexjoy-agent --skill video-editing -a claude-code`. Or copy the skill folder (skills/content/video-editing in notque/vexjoy-agent) into .claude/skills/video-editing in your project. Claude Code loads it when a task matches its description.

How do I install Video Editing in Codex?

Run `npx skills add notque/vexjoy-agent --skill video-editing -a codex`. Or copy the skill folder (skills/content/video-editing in notque/vexjoy-agent) into .agents/skills/video-editing in your project. Codex loads it when a task matches its description.

Can I use Video Editing in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add notque/vexjoy-agent --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.

What does Video Editing need to run?

Going by SKILL.md and its folder, Video Editing needs the command-line tools its instructions call (yt-dlp, npx, npm, apt, python3 and ffmpeg) and credentials named ELEVENLABS_API_KEY. Our summary lists: Python 3; Node.js; A credential in ELEVENLABS_API_KEY. Its frontmatter pre-approves these tools: Read, Write, Bash, Grep, Glob, Edit, Task, Skill.

Does Video Editing access the network?

SKILL.md names 1 domain. In commands or code: nodejs.org; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Video Editing safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Video Editing use?

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.

How many tokens does Video Editing use?

About 2.3k tokens (SKILL.md is roughly 9.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 8.8k tokens, read only when the agent opens those files.

What are the alternatives to Video Editing?

Skills that share tags, products or a category with Video Editing: Remotion Best Practices (lyonjs/shortvid.io, 147 stars), HyperFrames Video Entry Point (heygen-com/hyperframes, 59k stars), Shorts (AgriciDaniel/claude-shorts, 218 stars) and Black White Text Opener (Pluviobyte/video-production-skills, 667 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Video Editing?

notque (a GitHub user) maintains it in notque/vexjoy-agent, which has 438 GitHub stars. The repository holds 61 skills in this directory. The repository was last updated on October 3, 2026.

Source: notque/vexjoy-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.