本文へ移動
cccskills
無料GitHub で公開

beat-sync-editing

This skill should be used when the user asks to "cut to the beat", "fix the pacing", "edit this sequence", "sync cuts to music/BPM", "add a match cut / J-cut / L-cut", "build a speed ramp", or "plan a shot sequence / edit timeline". Covers editing rhythm, transitions, retiming, and translating an edit plan to an NLE or a code timeline (Remotion/AE frames).

インストール方法を見る

含まれるファイル(3)

  • SKILL.md13.6 KB
  • README.md0 B
  • references/editing-techniques.md6.3 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Beat-Sync Editing (Cuts & Rhythm)

The timeline craft: how clips and beats assemble into a piece that feels right. Editing is temporal design — when a cut lands matters as much as what is on screen. This skill turns musical and narrative structure into concrete cut points, transitions, and retimes, expressible in an NLE or as frame numbers in code.

When to use

  • Assembling a sequence or cutting footage to a music track.
  • Pacing drags or feels choppy; transitions feel arbitrary.
  • Building speed ramps, match cuts, or tension/release structure.
  • Converting an edit plan into a frame-accurate timeline (Remotion, AE, NLE).

Decision tree

What's the editing problem?
├─ Cuts feel off the music
│   └─ get BPM + offset → frames_per_beat = (60/BPM)*fps
│      → cut on PHRASES (2/4/8 beats), biggest visual on the drop
├─ A cut feels jarring / visible
│   └─ cut on action (mid-motion), match direction + velocity
│      → still rough? motivate a transition (match / J / L), else hard cut
├─ Pacing drags or feels flat
│   └─ shape an arc: Establish → Develop → Climax → Resolve
│      → shorten avg shot length toward climax, hold after it
├─ A hit needs impact
│   └─ speed ramp INTO it (slow-mo), snap back; land slowest frame on the beat
└─ Need to hand it to code
    └─ express every cut as a frame number, clip as from/duration,
       transition as overlap, retime as eased time-remap (Remotion/AE)

Cross-reference — apply the shared frameworks.

  • Motion Personality (motion-art-direction) sets cut rhythm: the chosen energy maps straight to phrase length and transition family. Pick one and commit (see the table below).
  • Three Pillars + beat-sync (animation-principles): settle emotional intent first (hype vs. calm) — it decides whether you cut every bar or hold for four. animation-principles defines the BPM→beat relationship; this skill turns it into frame-accurate cut points and the transition/retime craft on top.

Motion Personality → cut rhythm

PersonalityPhrase (cut every)Transition familyRetimeReads as
Playful4 beats, syncopated accentsmatch cuts, quick whipslight ramps, bouncyfun, kinetic
Premium8–16 beats, long holdshard cut + occasional dissolveslow, smooth rampselegant, unhurried
Corporate8 beats, steadyhard cut, cleanminimalclean, trustworthy
Energetic1–2 beats at climaxhard cut, whips, hard snapsaggressive ramps on beatsbold, hype

Core workflow

1. Find the grid: BPM → frames

Cut on the music's rhythmic grid, not on arbitrary timecodes. Convert BPM to frames so cut points are frame-accurate.

frames_per_beat = (60 / BPM) * fps

At 120 BPM, 30 fps: (60/120)*30 = 15 frames per beat (500ms/beat) — a cut every 15 frames is on-beat. Cut on phrases (every 2/4/8 beats), not every beat, or the edit feels frantic. Land the single biggest visual moment on the musical drop.

The eighth-grid: subdivisions of the beat give finer accent points without going off-grid. At 120 BPM / 30 fps:

Subdivisionmsframes @30fpsUse
1 beat (quarter)50015main cut grid
½ beat (eighth)2507.5accent / quick flash cut
¼ beat (sixteenth)1253.75hits, stutter, transient FX
1 bar (4 beats)200060phrase / section boundary

Snap accents to the eighth-grid; keep structural cuts on the beat or bar.

// Generate on-beat frame numbers (JS / Remotion / AE-friendly)
const bpm = 120, fps = 30;
const framesPerBeat = (60 / bpm) * fps;       // 15
const phrase = 4;                              // cut every 4 beats
const cuts = Array.from({length: 16}, (_, i) =>
  Math.round(i * framesPerBeat * phrase));     // [0,60,120,180,...]

2. Hide the seam: cut on action / motion

A cut is invisible when motion carries the eye across it. Cut during a movement (a turn, a hand reaching, a whip) so the brain tracks the action through the cut. Match the motion's direction and speed across the cut. For motion-graphics, cut on a transform peak — at the moment a shape is mid-travel, not at rest.

3. Choose transitions with intent

Default to the hard cut. Reach for anything else only when motivated:

  • Match cut — outgoing and incoming frames share a shape, position, or motion vector, so the cut reads as a transformation (a circle becomes the moon; a wipe of an arm reveals the next scene). The strongest transition in motion design.
  • J-cut — audio of the next shot starts before its picture (sound leads). Pulls the viewer forward; great for dialogue and reveals.
  • L-cut — audio of the current shot continues under the next picture (sound trails). Smooths scene changes.
  • Whip / motion blur transition — fast pan blends two shots; needs matched blur direction.
  • Luma/wipe/dissolve — signals time passing or a softer mood; overuse reads as amateur.

Cut-type quick table:

Cut typeWhat alignsSignalsTypical offsetReach for it when
Hard cutnothing — instantneutral, default090% of cuts
Match cutshared shape / position / motion vectortransformation0 (1–2f tolerance)two shots rhyme visually
J-cutaudio of B leads its picturepulls viewer forwardaudio 4–12f earlydialogue, reveals
L-cutaudio of A trails under Bsmooths the changeaudio 12–24f latescene changes, ambient
Whip / motion blurmatched blur direction across panenergy, "swoosh"~6–10f blendhype, scene jumps
Speed rampretime, not a cutimpact / emphasislands on beata hit needs to land

4. Retime: speed ramps

Speed ramps (gradual time-warp) add impact: ramp into a hit with slow-motion, then snap back to speed. Keep motion blur consistent through the ramp or the slow section looks strobed.

Speed ramp on an impact (frames, 30fps):
  0–20    100% speed   (run-up)
  20–28   ease down to 25%  (anticipation, slow-mo on the hit)
  28      IMPACT lands on the beat
  28–40   ease back to 100% (release)

In an NLE use time-remap keyframes with smooth interpolation and enable frame-blending/optical-flow for clean slow-mo. In Remotion/AE, drive a timeRemap/valueAtTime curve with eased interpolation and keep a consistent shutter/motion-blur setting.

5. Shape the arc: sequence pacing

A piece needs a shape, not one constant intensity:

Establish → Develop → Climax → Resolve
  longer holds   shortening cuts   fastest + the drop   release/breathe

Vary shot length deliberately: fast cuts build energy, longer holds let key moments land. Build toward the climax by shortening average shot length, then give a beat of rest after it. The classic mistake is uniform pacing — it reads as flat regardless of content.

Pacing arc — tension → release (energy is the derivative of cut frequency):

PhaseCut everyAvg shot lengthTensionNote
Establish8–16 beatslongestlowset place/mood, let it breathe
Develop8 → 4 beatsshorteningrisingaccelerate cuts to build
Climax1–2 beatsshortestpeakthe drop; biggest visual + speed ramp
Resolveone long holdlongestreleaselogo/CTA breathes after the peak

Quick reference

GoalMove
On-beat cut(60/BPM)*fps frames per beat; cut on phrases
Land the dropbiggest visual on the musical drop
Invisible cutcut on action / matched motion
Transform feelmatch cut (shared shape/motion)
Pull forwardJ-cut (audio leads)
Smooth scene changeL-cut (audio trails)
Impactspeed ramp into the hit, snap out
Build energyshorten average shot length
Let it breathehold after the climax

Worked examples

GOOD — 30s energetic product spot, 128 BPM, 30 fps

Brief: hype sneaker drop, Energetic personality, drop at beat 32.

  • Grid: 14.06 f/beat. Drop = beat 32 ≈ frame 450 (rounded cumulatively to avoid drift).
  • Arc: Establish 0–120 (two 2s holds). Develop 120–450 (cuts shortening 8→4→2 beats, rising energy — matches Energetic). Climax at 450 (the drop). Resolve 700–900 (one long CTA hold).
  • Cuts: structural cuts on the bar; two accent flash-cuts snapped to the eighth-grid in Develop.
  • Craft: f112 is a match cut (shared circular logo → wheel). The drop at 450 carries the biggest visual and a speed ramp 100%→25%→100% landing the slowest frame on the downbeat. CTA enters under an L-cut (audio trails ~18f).
  • To code: each cut a frame number, each clip <Sequence from/durationInFrames>, ramp = eased time-remap, beats verified frame/fps against detected beat seconds.

Why it works: phrase-based grid, an arc, one big moment on the drop, motivated transitions, frame-accurate and portable.

ANTI-PATTERN — "cut on every beat with a dissolve each time"

  • A hard cut on all 32 beats → relentless, no focal moment, viewer fatigues by beat 8.
  • A 12-frame crossfade on every cut to "smooth it" → mushy, amateur, and now nothing is on the beat because the dissolve midpoint drifts off-grid.
  • Uniform 15-frame shots start to finish → flat; no establish, no climax, the drop lands on nothing.
  • BPM math done from frame 0 ignoring the track's offset → every cut sits a few frames early, feels "almost right" but wrong.

Fix: cut on 4/8-beat phrases, hard cut by default, build an arc, anchor the grid to beat-1 offset, and put the one biggest visual on the drop.

Common mistakes

SymptomWhyFix
Edit feels frantic / busycutting on every beatcut on 2/4/8-beat phrases; accent on the eighth-grid sparingly
Cuts feel "almost on beat"grid started at 0:00, ignored track offsetcapture beat-1 offset; anchor cumulative frame math to it
Drift over a long editrounding frames_per_beat per stepround each cumulative beat, not per-step
Cut feels jarringplaced at rest, between motionscut on action / mid-motion; match direction + velocity
Slow-mo strobessub-100% speed without interpolated framesenable optical-flow / frame-blending; consistent shutter
Whole piece feels flatuniform pacingshape Establish→Develop→Climax→Resolve; shorten toward the drop
Transitions look amateurdissolves/wipes used as a crutchdefault to hard cut; motivate match/J/L; fix timing first
Nothing landsno single climaxput the biggest visual on the drop; hold after it

Deliverable — an edit-timing plan

A good plan is renderer-agnostic and hands off to an NLE or a code timeline (remotion-video, after-effects):

  • Track spec: BPM, fps, beat-1 offset, drop frame(s), frames_per_beat.
  • Arc: the four phases with frame ranges and target average shot length per phase.
  • Cut list: every cut as an absolute frame number (from the BPM math), the clip at that cut, and the cut type.
  • Transitions: type (hard/match/J/L/whip), and for J/L the audio offset in frames.
  • Retimes: each speed ramp as eased time-remap keyframes (from→to %, frames, optical-flow on).
  • Beat markers: the on-beat/eighth-grid frame array for verification.
  • Cross-refs: the Motion Personality that set the rhythm.

For Remotion/AE this plan IS the frame timing: cuts → from/durationInFrames (or layer in/out), ramps → eased interpolate/time-remap, J/L → offset <Audio from> / audio layer. See references/editing-techniques.md for the NLE↔code mapping table.

Before you finish — checklist

  • BPM + fps + beat-1 offset captured; frames_per_beat computed and cumulatively rounded.
  • Cuts on phrases (2/4/8 beats), not every beat; accents on the eighth-grid only.
  • The single biggest visual lands on the drop.
  • An arc exists (Establish→Develop→Climax→Resolve); avg shot length shortens toward the climax, then a hold.
  • Hard cut is the default; every other transition is motivated; J/L audio offsets specified in frames.
  • Speed ramps land the slowest frame on the beat; optical-flow/frame-blending enabled.
  • Cut rhythm matches the chosen Motion Personality.
  • Every cut, transition, and retime expressed as a frame number / from-duration so it ports to Remotion/AE/NLE.
  • Audio sync verified: frame/fps against detected beat seconds.

Gotchas

  • Cutting on every beat is busy; cut on 2/4/8-beat phrases and accent sparingly.
  • Speed ramps without consistent motion blur look strobed; enable optical-flow/frame-blending for slow-mo.
  • Crossfades/dissolves are not a fix for a bad cut — fix the timing first.
  • Audio sync drift: in code timelines verify frame/fps against detected beat seconds; in NLEs lock audio to a frame-accurate guide track.
  • One pacing throughout = flat. Always shape an arc.

Reference files

  • references/editing-techniques.md — BPM→frame math with phrase tables, cut-on-action breakdowns, building a match cut step by step, J-cut/L-cut audio-lead/trail diagrams with frame offsets, full speed-ramp recipe with motion-blur/optical-flow settings, sequence-arc templates with shot-length curves, and mapping an edit plan between an NLE timeline and a code timeline (Remotion <Sequence> / AE time-remap).

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

This skill should be used when the user asks anything about Adobe After Effects — to "write an After Effects expression", "make a wiggle / loopOut / inertial bounce", "rig a control with a slider / null", "build a MOGRT / Essential Graphics template", "export AE to Lottie or Media Encoder"; OR to "export from After Effects", "export with transparency / an alpha channel", "fix a black background on export", "choose ProRes vs H.264", "which codec / what bitrate for 1080p / 4K", "stop H.264 disappearing from the Render Queue"; OR when "After Effects is slow / laggy / crashing / froze", "RAM preview won't play in real time", "AE is using all my memory / render takes forever", "how do I speed up After Effects"; OR to "organize my After Effects project", "relink missing footage", "fix broken links after moving files", "set a folder structure / naming conventions", "batch rename layers", or "write an ExtendScript / .jsx script". Covers expressions & rigging, export recipes, performance triage, and project hygiene.

日本語の概要は準備中です。原文の説明を表示しています。

iart-ai/motion-design-skills1152026年6月22日 更新

This skill should be used when the user asks to "make this animation feel natural", "fix motion that feels stiff/floaty/cheap", "my animation looks robotic", "choose an easing curve", "how do I use the Graph Editor", "add overshoot or bounce", "Easy Ease isn't enough", "make snappy motion", "pick a duration for this transition", "stagger a list animation", "sync animation to a beat", or "review motion for good timing". It is the tech-agnostic foundation for deciding how something should move.

日本語の概要は準備中です。原文の説明を表示しています。

iart-ai/motion-design-skills1152026年6月22日 更新

This skill should be used when the user asks to "build a color palette for a motion piece", "make a gradient background", "animate a color transition", "interpolate colors smoothly", "fix muddy/gray gradients", "convert colors to OKLCH", "color-grade a video for mood", "fix washed-out After Effects renders", "gamma shift", "Rec.709 vs sRGB", "colors shifted after rendering", or "match preview to final video". Covers palette construction, gradients, perceptual interpolation (OKLCH/Lab), grading order, and video/render color management.

日本語の概要は準備中です。原文の説明を表示しています。

iart-ai/motion-design-skills1152026年6月22日 更新

This skill should be used when the user asks to "animate our logo", "make a logo intro/stinger", "build a brand reveal", "create an app splash animation", "loop a loader logo", "draw on our SVG mark", "morph an icon into the wordmark", or "sync the logo to a sound-logo". Covers web (SVG/Lottie), video, and app-splash delivery.

日本語の概要は準備中です。原文の説明を表示しています。

iart-ai/motion-design-skills1152026年6月22日 更新

This skill should be used when the user asks to "direct a motion graphics video", "do creative/art direction for a video", "define a motion language", "set the tone and pacing", "make the animation feel consistent", "decide what to animate (and what not to)", "turn a brief/brand into motion choices", or needs the senior creative judgment that sits above specific techniques (gsap/lottie/shader). Covers motion language, tone & energy, pacing/rhythm, motion hierarchy, restraint, and cross-shot consistency.

日本語の概要は準備中です。原文の説明を表示しています。

iart-ai/motion-design-skills1152026年6月22日 更新

This skill should be used when the user asks to "add an animated background", "build a mesh/gradient background", "make an aurora/shader background", "add constellation/particle background", "animated hero background", or "a subtle looping background behind content". Covers CSS mesh gradients, GLSL shader gradients (Three.js), canvas particle constellations, seamless loops, and reduced-motion/performance handling — fully self-contained.

日本語の概要は準備中です。原文の説明を表示しています。

iart-ai/motion-design-skills1152026年6月22日 更新

iart-ai のスキルをすべて見る

このスキルの問題を報告する