agentleFS
vargHQvargHQ/skills/transition-craft/SKILL.md

transition-craft

Skill23 starsChanged 8 months agoMITView on GitHub

Six transitions with exact presets and the editing rules behind them: photo collage burst, Droste recursive zoom into a screen, impact tile-flip mosaic, bokeh light-spot transition, 3D photo cloud gallery and a camera-shake distort cut. Presets give the core length in frames, where the peak lands on the beat, log-space zooms, shake amplitude, frequency and decay, motion-blur shutter angle, bokeh sizes, tile counts and stagger, from Walter Murch, Dan Ebberts' decaying-sine expression, Boris FX, Maxon and Unreal camera-shake defaults, measured transition durations and editors on X. Use when a video needs a transition on the beat, an infinite zoom, a shake cut, a bokeh or photo-collage transition. NOT for plain crossfades and xfade wipes (varg-video-edit-library lists every ffmpeg xfade).

The file

We split this skill into the rules it gives an agent

3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 2

    Very specific

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

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

    Seek-safe: Every value is a function of timeline time.

    line 35
  2. Distinctive:

    Every zoom/dolly in log space: scale = k^e, tween e.

    line 65
  3. Very specific:

    Every rule in the references cites its source by number.

    line 77

≈ “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

Transition craft: six transitions timed the way editors cut

Six transitions that hide the cut at the moment of peak coverage and land that peak on the beat. Zooms run in log space, shakes decay, and the settle carries the length rather than the effect.

Gates

  • Beat first. Get the beat grid (or the cut points) before timing anything; transitions peak on the downbeat or one frame before it.
  • Your own media. Photos and clips in collages and galleries must be the person's own or licensed.
  • Seek-safe. Every value is a function of timeline time; randomness is seeded by frame. No Date.now(), requestAnimationFrame or unseeded Math.random().
  • No credits here. These templates render locally for free. Generated footage, voice or music is the varg-ai skill: call estimate_cost and wait for the person's approval before any generation.

Pick a template

6 templates, 29 presets. Each reference file has the same sections: how the pros do it (every rule cited), presets, timing and numbers, how to build it, mistakes that look amateur, sources. Each JSON file holds the same presets as machine-readable values.

TemplateUse it forPresetsFiles
Bokeh light-spot transitionThe shot defocuses into giant highlight bokeh, cuts under the blur, and the next shot resolves into focus.Warm night, Clean circle, Flash-through, Anamorphic oval, Vertical softbokeh-light-spot.md · json
Droste recursive zoomPush into a screen that holds the same frame, levels deep, and land on the next shot.Monitor push, Phone portal (vertical), Picture-frame loop, Escher twist, Pull-out revealdroste-recursive-zoom.md · json
3D photo cloud galleryPhotos hang in a deep 3D cloud, fading into same-colour fog as the camera swings through and lands on a hero photo.White fog swing, Dark void, Vertical column, Slow drift loopphoto-cloud-gallery.md · json
Photo collage burstPhotos, shapes or words thrown in from the edges pile into a churning collage that covers a hidden cut to the next shot.Photos, Shapes, Words, Mixed, Polaroid drop (3D)photo-collage-burst.md · json
Camera-shake distort cutAn impact cut: the shot hops, punches in and bends into the cut; the next shot lands punched-in, mirror-filled, shakes and settles.Bass hit, Handheld snap, Earthquake, Vertical reel, Staccatoshake-distort-cut.md · json
Impact tile-flip mosaicOn a hit, the shot breaks into lit tiles that flip in a feathered, randomised wave to reveal the next shot.Impact centre, Diagonal sweep, Random scatter, Fine mosaic (split-flap), Bold blockstile-flip-mosaic.md · json

Workflow

  1. Match the request to a template and one or two presets from the table. Say which and why in one line, and show the person the preset names with their one-line looks before building anything.
  2. Read the reference for that template, and load its JSON. Take values from the JSON; do not re-guess them.
  3. Build it the way the reference's "Build it" section says, starting from the named HyperFrames blocks or varg components where it names them. Drive every value from timeline time so any frame renders the same on a re-render.
  4. Fit it to the brand: swap in the person's colors and fonts only where the reference allows, then re-check contrast and safe zones with the numbers in "Timing and numbers".
  5. Check a draft: render stills at the key moments (entrance, hold, exit), go through "Mistakes that look amateur", and fix before the final render.

Rules that hold for every template

  1. Hide the hard cut at peak coverage (max blur, full pile, mid-flip, peak velocity); never cut on a readable frame.
  2. Peak on the downbeat (or 1 frame early to jolt); 6–12 frames late reads relaxed.
  3. Short core: impact 0.10–0.25 s, whip/zoom 0.15–0.30 s, fast blur 0.20–0.40 s; let the settle carry length; halve anything that feels slow.
  4. Every zoom/dolly in log space: scale = k^e, tween e.
  5. Arrive fast then slow (expo.out / cubic-bezier(.25,0,.11,1)); new shots cut in at 1.2–1.5x and settle to 1x over 0.5–1.2 s.
  6. Shakes = A·sin(2πft)/e^(decay·t); impacts 8–14 Hz, decay 4–8; handheld 1–3 Hz; mirror edges, never black.
  7. Motion blur 180°, 5–10 samples.
  8. Eye-trace across the cut; emotion beats 3D continuity (Murch 51/23/10/7/5/4).
  9. Seed every random; drive from timeline time.
  10. 2-frame chromatic kick on hard impact cuts; if it reads as a filter, halve every value.

Built from

Walter Murch; Dan Ebberts; Boris FX / Maxon Universe / Unreal docs; Zaid Alkuheli (OverseerOS); van Wijk & Nuij; Tony Zhou; David DeSandro / GSAP; X: @RajAdonis, @Pashoke1, @goopsoup_.

Every rule in the references cites its source by number. The full list, with links and what was taken from each, is in references/sources.md. Values marked as house defaults in a reference are our own starting points where no expert published a number.

Related skills

  • varg-video-edit-library: 206 named edits for existing footage (cuts, transitions, headlines, UI, numbers).
  • motion-formats: full formats built from these moves.
  • HyperFrames registry (npx hyperframes catalog --query "…"): about 450 ready-made blocks; the references name the ones to start from.

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.