edit-video

A workflow for editing video in FableCut, a browser-based editor whose timeline is stored as one JSON project document. Changes to that document update the editor so the result can be watched as it is rebuilt.

In plain words
What is it for?
Use it to cut or trim footage, add titles, captions, and subtitles, apply color grading or transitions, animate elements with keyframes, change speed, and export a video.
Why use it?
It replaces manual timeline editing with targeted project changes and lets the editor preserve recent user adjustments when applying them. It provides a documented structure for controlling the video.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/ronak-create/fablecut/edit-video
Any agent
npx skills add ronak-create/FableCut --skill edit-video
Clone the repo
git clone --depth 1 https://github.com/ronak-create/FableCut

Made for: Claude Code, Codex.

Per session 62 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 718 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00062 $0.00718
Opus 5 $0.00031 $0.00359
Sonnet 5 $0.00012 $0.00144
Haiku 4.5 $0.00006 $0.00072

Measured 3d ago against content hash 25b7ff749cfc, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

edit-video scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/edit-video/SKILL.md · 61 lines

How it starts

The opening of the file, as written. The whole thing — 61 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Editing video with FableCut

FableCut is a browser video editor whose entire timeline is one JSON document. You edit video by patching that document; the open editor UI hot-reloads within ~150 ms, so the user watches the timeline rebuild as you work.

Start here, every time

  1. fablecut_status — starts the editor server if it isn't running and returns the URL, the current project summary, and what's in media/. Call it before anything else. If the user doesn't have a browser tab open, tell them the URL so they can watch.
  2. fablecut_docs — the full manual: project.json schema, every prop, transitions, text animations, and a recipe book. Request a single section ({section:"props"}, {section:"Recipes"}) rather than the whole document. Skip it entirely if the schema is already in context.

Making edits

Prefer fablecut_patch_project. It sends only what changes, re-reads the latest document internally, and is merge-safe — it will not clobber a tweak the user just made in the UI. Batch related changes into one call; ops apply in order and bump the revision once.

fablecut_patch_project {ops:[
  {op:"updateClip", id:"c_v2", set:{props:{filterPreset:"teal-orange"}}}
]}

Use fablecut_get_project {compact:true} to plan — it's roughly 10× smaller than the full JSON. Fetch the full document only when you need exact keyframes.

fablecut_set_project replaces the whole document and is conflict-checked: if the user edited in the UI since your last read, it refuses rather than overwriting. On conflict, re-read, re-apply your change, and call it again.

Getting footage in

fablecut_import_media copies a local file into the project and registers it. Media entries may omit duration — the browser probes it and writes it back, so re-read after a moment instead of shelling out to ffprobe.

Things that trip people up

  • A cut is just two clips: the first with duration: t, the second with start: +t, in: +t×speed, duration: rest.
  • Video and audio clips must satisfy in + duration×speed ≤ media.duration.
  • Crossfades are same-track overlap plus transitionIn: {type:"fade"} on the later clip — not a separate object.
  • Vary the font per title. Reusing one typeface across a whole edit is the single clearest tell of a machine-made cut; fablecut_docs {section:"Text"} lists the built-in title styles.
  • Export is user-driven. The compositor lives in the browser, so you cannot render headlessly. Ask the user to click Export, or run ffmpeg directly against the source files if they just need a file.

Read the full file on GitHub · 61 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 61 lines · 62 tokens per session scan A 25b7ff749cfc

Subscribe to this mod's changes

edit-video is a skill published in the GitHub repository ronak-create/FableCut (643 stars, last pushed 5d ago), licensed MIT. It adds 62 tokens to every session and 718 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories

talking-head-recut

Package an existing talking-head / interview / podcast video with timed, designed GRAPHIC OVERLAY cards — kinetic titles, lower-thirds, data callouts, quotes, side panels, picture-in-picture — synced to the transcript, on a 16:9 / 9:16 / 4:5 canvas of your choice; the clip plays untouched underneath. Trigger on…

heygen-com/hyperframes · 112 tokens

embedded-captions

Add captions or subtitles to an existing single-subject talking-head video without editing the footage. Use for plain verbatim captions, cinematic captions embedded behind the subject, VFX captions, “炸/特效/酷炫字幕,” or a named identity from the 35-style catalog. Route by visual identity, not by backend engine. The quiet…

heygen-com/hyperframes · 120 tokens

faceless-explainer

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video: there is no site or footage to capture, so the visuals are invented per scene (typography, abstract graphics, diagrams, data-viz). Use for topic explainers, concept breakdowns, how-tos, listicles. Not a video built from a…

heygen-com/hyperframes · 98 tokens

pr-to-video

Turn a GitHub pull request (a PR URL, owner/repo#N, or 'this PR' in a checked-out repo) into a code-change explainer video — changelog, feature reveal, fix, or refactor walkthrough built from the diff, commits, and files: the input is a code change, not a website. Not a product promo (/product-launch-video) or a no-PR…

heygen-com/hyperframes · 104 tokens

slideshow

Author a HyperFrames slideshow — a presentation, pitch deck, or interactive deck with discrete slides, fragment reveals, branching, hotspot navigation, and built-in presenter mode with speaker notes; also converts an existing page into a deck. Output is a navigable deck, not a rendered MP4. If the user didn't…

heygen-com/hyperframes · 83 tokens

hyperframes-audio

Use when audio already placed in a HyperFrames composition needs to be mixed: fade-in/fade-out, crossfade, track gain or volume, volume automation, ducking, a music bed that fights a voiceover (voiceover carve), effects on a track (EQ, compressor, limiter, gate, saturation, delay, reverb, chorus, phaser, bitcrush)…

heygen-com/hyperframes · 165 tokens