agentleFS
goodnight000goodnight000/cstack/skills/video-edit/SKILL.md

video-edit

Skill161 starsChanged 28 days agoMITView on GitHub

Edit and revise talking-head videos, social reels, text-overlay skits and memes, reel recreations, demos, and screen recordings, including animation, logos and motion graphics added over existing footage. Use for quiet-audio recovery, separate-audio sync, preprocessing, take selection, DaVinci Resolve editing, relevant sourced visuals, captions, speed or color corrections, and authorized video publishing or scheduling. Also use for post-edit reflection and updates to this editing workflow.

27 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use flux-2-klein, flux-kontext and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • agentspace-soSkill

    flux-2-klein

    Generate images with Flux 2 Klein (Black Forest Labs' distilled fast variant of Flux 2) on RunComfy — bundled with the model's documented prompting patterns so the skill gets sharper output than naive prompting against the same model. Documents Flux 2 Klein's strengths (sub-second latency, multi-reference brand styling, declarative subject-first prompts), the step-count strategy (4–8 for fast iteration, ~25 for polish), the 9B vs 4B variant trade-off, and when to route to Flux 2 Pro / Seedream 5 / GPT Image 2 instead. Calls `runcomfy run blackforestlabs/flux-2-klein/9b/text-to-image` (or `/4b/`) through the local RunComfy CLI. Triggers on "flux 2 klein", "flux-2-klein", "flux klein", "BFL flux 2", or any explicit ask to generate with this model.

    Also in 4 projects that use this

  • agentspace-soSkill

    flux-kontext

    Edit images with Flux 1 Kontext Pro (Black Forest Labs' precise local image-edit model) on RunComfy — bundled with the model's documented prompting patterns so the skill gets sharper output than naive prompting against the same model. Documents Flux Kontext's strengths (single-reference precise local edits, strong prompt control, consistent high-fidelity outputs), the schema (single image + prompt), and when to route to Nano Banana Edit / GPT Image 2 edit / Flux 2 Klein instead. Calls `runcomfy run blackforestlabs/flux-1-kontext/pro/edit` through the local RunComfy CLI. Triggers on "flux kontext", "flux-kontext", "flux 1 kontext", "kontext", "BFL kontext", or any explicit ask to edit with this model.

    Also in 4 projects that use this

  • prime-skillsSkill

    ace-step

    Generate, inpaint, and outpaint music with ACE Step on RunComfy via the `runcomfy` CLI. ACE Step is StepFun-AI's open-weights music foundation model — tag-driven composition (genre, mood, instruments), multilingual lyrics with section markers, 5 s to 4 min stereo output, $0.0002–0.0003 per second (≈ 27× cheaper than ElevenLabs Music). Four endpoints: ACE Step text-to-audio (the default), ACE Step 1.5 text-to-audio (50+ language lyrics, refined structured-lyric handling), ACE Step audio-inpaint (regenerate a time range inside an existing track), ACE Step audio-outpaint (extend an existing track before or after). Triggers on "ace step", "ace-step", "acestep", "ACE music", "open music model", "cheap AI music", "inpaint audio", "audio inpaint", "extend music", "audio outpaint", "lengthen track", "music with tags", or any explicit ask to generate or edit music with ACE Step.

    Also in 3 projects that use this

  • prime-skillsSkill

    codex-pet

    Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into `${CODEX_HOME:-$HOME/.codex}/pets/<name>/` and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as `runcomfy run openai/gpt-image-2/edit` to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no `$imagegen`, no OPENAI_API_KEY required, only RUNCOMFY_TOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.

    Also in 3 projects that use this

  • +3 more from agentspace-so
  • +5 more from prime-skills

The file

We split this skill into the rules it gives an agent

10 rules. 0 are common, 9 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 22 edited versions we read keep these.

  • 9

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Read ~/.video-edit/profile.md if it exists (creative defaults, locations, asset libraries).

    line 24
  2. Distinctive:

    Keep the active brief in the project so nothing regresses between versions: the latest requested version and every outstanding correction, …

    line 56
  3. Distinctive:

    When speech carries the edit:

    line 77
  4. Distinctive:

    Use the most fluent, complete delivery of each passage, ordered by story meaning rather than recording order.

    line 83
  5. Distinctive:

    Start on the first complete intended word, trim script-reading lead-ins and tails, and keep natural breaths and soft consonants.

    line 88
  6. Distinctive:

    Never freeze a face or fabricate delivery to hide a bad cut.

    line 92
  7. Distinctive:

    Search the asset library first when the asset-library skill is installed, ingest new picks with provenance, and register only what another …

    line 106
  8. Distinctive:

    Keep each placed asset's source and credit, and verify a source's context before using it as evidence.

    line 109
  9. Distinctive:

    When sourcing is delegated, one editor still owns the timeline and the cue sheet.

    line 114
  10. Distinctive:

    After a cut, speed or mix change, re-transcribe the final mixed audio into a separate QA file and check changed joins with overlapping …

    line 179

“Common” is measured: kept by at least 6 in 10 of the 22 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Video edit

Make the video's idea land for its style. A valid render is only one part of a finished edit.

Set up

On a new machine, run python3 SKILL_DIR/scripts/preflight.py --project PROJECT_DIR. Install a missing tool only after the user agrees, saying what it is for. Report missing browser or account access rather than claiming checks that did not run.

Read ~/.video-edit/profile.md if it exists (creative defaults, locations, asset libraries). Open the first reply with one line naming the stored defaults you are applying (takes, audio source, speed, sound) so the user can correct one instead of retyping them all. When the user marks an instruction as a habit ("always", "as usual", "like before") or repeats one from an earlier brief, offer to record it there.

Brief and scope

Without a brief, ask once for what the footage can't tell you: where it will be posted, rough length, music, effects or a hook headline, whether they need an editable Resolve project, and recordings of their own product or data when claims depend on them.

Current instructions override stored defaults; scope a preference to the projects it was meant for. Honor staged scope (restate the brief, wait for uploads, cut dialogue only, collect assets first) when that is what was asked; otherwise continue authorized work without adding approval stops. Preserve originals and prior deliverables, and keep derived assets local until upload is authorized. Check platform length, caption, watermark and ranking claims against current official sources when they affect the task.

  • Resolve assembly, speed, rendering or console recovery: Resolve.
  • FFmpeg rendering, transcription, audio recovery and sync, mixing, captions and timing: technical reference.
  • Publishing or scheduling, only when requested: publish.
  • A requested reflection: reflection protocol.

Recover the project and active brief

Reuse the existing project's preprocessing, scripts and checked assets before building anything.

Keep the active brief in the project so nothing regresses between versions: the latest requested version and every outstanding correction, until each is verified in an export. A later speed or ending request replaces the older one; unrelated accepted edits stay. A user timestamp points into the version they watched: find the words there, then map back to the source. Rejected assets and treatments stay rejected, including under a new crop or in a later scene.

Long encodes fail on storage, rotation and HDR: probe those first and prove framing and color on a short sample. A low-resolution review copy never replaces camera media in the final.

Choose the style

Choose from the footage, the goal and any reference. Styles indexes the packs (talking head, skit and meme, screen demo, reel recreation) and how to mix styles in one video. A pack is a head start: the brief and profile override it, and a style without a pack is built from the same layers. To recreate a posted reel, start with the recreation pack.

Cut the speech

When speech carries the edit:

  • Transcribe locally once and cache the word timestamps (commands and fallbacks).
  • A spoken rejection ("cut that", "forget that") removes the abandoned delivery from every section; find its restart from context, not a fixed number of seconds.
  • Use the most fluent, complete delivery of each passage, ordered by story meaning rather than recording order. The script is an outline, not a word list, but keep the setup, transitions and ending the story's logic needs. When the user says fluent takes exist, search the rest of the source before proposing omissions or pickups. If the source ends before the story does, say so.
  • Start on the first complete intended word, trim script-reading lead-ins and tails, and keep natural breaths and soft consonants. On camera, takes start and end with eyes on the lens. Prefer another complete take over a chain of word repairs; cover an unavoidable glance with a moving split edit or a relevant full-frame insert. Never freeze a face or fabricate delivery to hide a bad cut.
  • Whole-clip ASR merges a false start with its restart, and long ASR drops repeated words at joins. Run scripts/restart_scan.py AUDIO CUTLIST.json before the first render, and check every join with overlapping short windows that cover the outgoing tail and the incoming phrase (details). Say whether you listened; ASR and frames are not listening.

The normal-speed cutlist is the timing authority; playback speed is a separate setting.

Source and build assets

What to source, and how much, comes from the style pack and the brief.

  • Search the asset library first when the asset-library skill is installed, ingest new picks with provenance, and register only what another project is about to reuse. Without it, keep a project manifest.
  • Keep each placed asset's source and credit, and verify a source's context before using it as evidence.
  • Prove a treatment on its hardest passage (the hook, the busiest frame, the trickiest gesture) before building the whole set. That is your check, not an approval stop; reuse an accepted treatment without asking again.
  • When sourcing is delegated, one editor still owns the timeline and the cue sheet.
  • Generated imagery is an option when it explains a beat better than anything real; inspect one before paying for more.
  • An animated or 3D shot built in code goes to the animated-video skill as a shot brief (frame range in the normal-speed cutlist, fps, size, cue words with their frames, layer order, approved look). Place the clip and sound events it returns and add its library entries to this cut's declaration. When the deliverable is an animated film with a camera insert, animated-video owns the timeline.

Assemble, finish and revise

Build a native Resolve timeline with separate camera, visual, caption and mastered-audio tracks when the brief or profile wants an editable project and Resolve is operable here (setup). Otherwise render with FFmpeg and say there is no editable project. A flattened movie imported into Resolve is not a native composition.

  • Color: keep the camera's look. Diagnose rotation and HDR before adjusting, and use one technical HDR-to-SDR conversion when needed. Grades, brightened backgrounds and blur are opt-in.
  • Text: follow the pack. Keep copy editable (caption data plus an SRT, or the build script), spell names right, and use the user's exact words for supplied copy. Make standalone lines (a hook, headline, skit caption or cover) as short as the idea allows; a longer line is fine when the point needs it. On text with no background, put the word or number that carries the point on a filled color box, and choose both the box color and that word's color against the scene rather than one fixed pair (text_overlay.py --style highlight with --accent and --accent-ink). Text that already sits on a background, such as white line boxes, needs no second color. Captions never paper over wrong spoken words. Translate foreign speech for the audience without inventing emotion.
  • Sound: speech dominant with measured peak headroom. Add music or effects when the brief calls for them, and prove each audible in an exported test under speech and in pauses; file presence and whole-mix loudness prove nothing. Keep one cue sheet for the video even when beats are built in parallel, and count uses per file before rendering: per-beat quotas multiply into clutter. Effects come from the asset library, the profile's libraries and the bundled sound-effect library; read its rights note before publishing. Plan music credits when choosing the track.
  • Revisions change the cutlist, manifest or native timeline, not a copied pipeline. Ripple every dependent layer after a cut. Apply a speed change once to linked picture, audio and every timed layer, preserving pitch, and update visible playback-rate labels on sourced demos. Derive final caption and visual intervals from the frame-rounded result and clamp them to its end. A visual-only revision replaces only the affected layers and keeps the accepted mix (procedure).

Stills at cue frames catch layout problems at a fraction of a full render's cost; full renders are for what stills cannot show.

Verify the exact deliverable

Editorial and technical evidence answer different questions.

  • Editorial: judge against the pack's quality bar, with contextual playback when available. User feedback outranks a contact sheet or a transcript as evidence of taste.
  • Technical: on the exported file, re-check everything the change could have touched (decode, geometry, duration, linked speed, levels and peaks, caption timing, changed joins, the brief's visual constraints). Reuse evidence only for what is provably unchanged; for audio that means identical decoded PCM. Use a check that tests the reported defect; a similarity score with an arbitrary threshold is not one.
  • On camera, check eyeline on the export: a face-size strip of each on-camera shot's first and last half second and its middle. Thumbnail contact sheets hide where the eyes are.
  • After a cut, speed or mix change, re-transcribe the final mixed audio into a separate QA file and check changed joins with overlapping windows. A correction is verified only when the check covers its full context, including the next clip.

Deliver one unmistakably named current file, the native project when there is one, and a short change summary. A DRP references local media; it is not an archive. Record the cut: with the asset-library skill, declare the exact files placed and their uses; without it, the project manifest is the record. Report delivery and catalog status separately; a blocked catalog step does not hold back the file.

Maintain the skill

On a requested reflection, follow the reflection protocol. A lesson belongs in this file only if it is right for every edit; craft for one style goes to its pack, and personal taste to ~/.video-edit/profile.md.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.