Skip to content
Agentmart
Submit a tool

beat-sync-editor

Edit footage to music by creating beat-aligned cut plans, motivated transitions, speed accents, and verification of timing tolerance.

Skill by explicit09

IndexedApache-2.0
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/explicit09-beat-sync-editor

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Edit footage to music by creating beat-aligned cut plans, motivated transitions, speed accents, and verification of timing tolerance.

Use cases: writing

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/beat-sync-editor

What's inside

Skill name
beat-sync-editor
Description
Edit footage to music by creating beat-aligned cut plans, motivated transitions, speed accents, and verification of timing tolerance.
License
Apache-2.0
Instructions
77 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (5)

  • SKILL.md
  • beat_cut_plan.py · scripts/
  • beat_cut_plan_test.py · scripts/
  • speed_ramp_plan.py · scripts/
  • speed_ramp_plan_test.py · scripts/

SKILL.md (first lines)

# Beat-sync editor

Use this when the user asks to cut to music, sync to a beat, make a
montage, hit a drop, or match visual energy to audio rhythm.

## Workflow

### 1. Create the beat plan

Use the first-party `beats` index sidecar when available:
`index/beats/raw/<asset>.json`. If it is missing, run indexing for the
`beats` MCP producer before falling back to an external beat file. Then run:

```bash
python3 <skill-root>/scripts/beat_cut_plan.py \
  --beats beats.json \
  --audio-energy index/audio-energy/raw/<asset>.json \
  --shot index/shot/raw/<asset>.json \
  --cut-every 4 \
  --duration-s 60
```

The script outputs target cut points and transition suggestions. When
audio-energy is available, it favors louder/accented beat candidates
instead of a rigid cadence. When the shot index exists, it marks beats
that land during motion-heavy shots so you can prefer cut-on-action
rather than arbitrary beat cuts.

### 2. Align cuts

Use `apply_edl` to split/trim/move clips so cuts land within 50ms of
target beats. Hard cuts are the default. Use transitions only when the
music changes energy or structure. After each batch, call
`view_timeline` and verify the graph now contains the intended clip
order, source ranges, and transition placements. Before render/report,
call `vedit_diff` and verify the diff matches the beat plan.

### 3. Motivate transitions and speed

Use `montage.cross_dissolve` or `SMPTE_Dissolve` for soft phrase
changes, `montage.fade_black` only for intentional starts/ends or
chapter resets, and speed accents only on drops or action peaks. To plan
speed accents, run:

```bash
python3 <skill-root>/scripts/speed_ramp_plan.py \
  --beats beats.json \
  --duration-s 60 \
  --accent-every 4 \
  --slow-factor 0.4 \
  --fast-factor 1.3 \
  --ramp-window-s 0.18 \
  --edl-anchor "clip:<clip-name>" \
  --rationale "speed accents on downbeats"
```

The script outputs an `montage.time_remap` effect plan with a concrete
`curve` and, when `--edl-anchor` is present, prints an applyable
`Set Effect` operation. That path works today; switch to the dedicated
`Set Time Remap` EDL op once that op is available. Do not use legacy
`montage.fade_in/out` between ordinary adjacent clips, and do not add
decorative transitions unsupported by `apply_edl`.

### 4. Verify

Render and verify cut alignment. If the plan cannot meet 50ms tolerance,
report the exact clips that need manual source replacement.

## Rules

- Cut on action when possible.
- Match cut density to musical energy.
- Do not keep the same cadence for the whole song.
- Do not use nonexistent transitions.
- Do not call the edit done until `vedit_diff` matches the beat plan.

From explicit09/montage, Apache-2.0.

More from explicit09/montage

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Jun 7, 2026 (4 months ago)
Last release
Jun 10, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from explicit09

Cite this page

beat-sync-editor skill. Agent Mart. https://agentmart.dev/skills/explicit09-beat-sync-editor (last updated 2026-10-24)