agentleFS
WhiteTowerAIWhiteTowerAI/cut-as-code/skills/video-edit-compare/SKILL.md

video-edit-compare

Skill16 starsChanged 4 months agoMITView on GitHub

Use when a completed cut-as-code delivery needs a strict side-by-side review against its original source, including cuts, varispeed, color grade, and graphics.

The file

We split this skill into the rules it gives an agent

4 rules. About 0 are common, 4 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈4

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Do not compare against a cut plan or an intermediate render.

    line 22
  2. Distinctive:

    Keep source clips chronological, non-overlapping, and single-source.

    line 46
  3. Distinctive:

    After rendering, the script automatically checks the complete output:

    line 59
  4. Distinctive:

    every dropped-range sample is black on the right.

    line 63

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “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 Compare

Render the single V1 comparison mode: original-vs-final-source-time.

The left panel plays the original continuously. The right panel projects actual final-delivery pixels back onto the original source clock. Dropped ranges are black, kept final ranges are stretched to their source duration, and audio is copied from the original.

Dependencies

Require ffmpeg/ffprobe on PATH and Python with Pillow. Check them before processing media.

Inputs

  • work/timeline.json: canonical chronological source-to-program mapping
  • input/original-video.mp4: original source
  • final/final-video.mp4: actual delivery after all selected edits

Do not compare against a cut plan or an intermediate render. The final pixels are required so the review includes grade and cards.

Render

python scripts/make_compare.py TIMELINE.json SOURCE.mp4 FINAL.mp4 OUT.mp4 [--filter-only]

Project example:

python skills/video-edit-compare/scripts/make_compare.py `
  work/timeline.json `
  input/original-video.mp4 `
  final/final-video.mp4 `
  review/04-edit-compare/original-vs-final-source-time.mp4

The script always writes the durable work/edit-compare/compare-plan.json. It writes PIL label images and the generated filtergraph under disposable work/cache/. --filter-only creates the plan and inspectable cache files without rendering the video.

Mapping Rules

  • Keep source clips chronological, non-overlapping, and single-source.
  • Trim each clip's program_range from the final video.
  • Stretch it by the clip speed to recover its source_range duration.
  • Insert black for every source-time gap.
  • Map the original audio without retiming it.
  • Derive every part's start and end frame from its absolute source-time boundaries, then trim to that frame count and rebuild PTS at the timeline's rational FPS. Never round each part duration independently; cumulative concat rounding causes source-time drift.

Reordered, duplicated, overlapping, nonlinear-speed, or multi-source timelines are unsupported in V1 and must fail validation.

Verify

After rendering, the script automatically checks the complete output:

  • duration equals source_duration_s within one frame;
  • output width is twice the source width;
  • every dropped-range sample is black on the right;
  • kept-range samples match the corresponding final program frames;
  • original audio remains continuous and on the source clock.

On success it writes review/04-edit-compare/comparison-summary.md with a passing verification result. When work/project.json exists, it also adds or refreshes the original-vs-final-source-time review node, records exact active operation revisions in based_on, and refreshes START-HERE.md. Do not create a separate checks manifest.

This comparison is a review deliverable, not a default preview. Generate it after the final render exists.

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.