Skip to content

docs(skills): add beat-synced montage authoring recipe#1659

Closed
e-jung wants to merge 1 commit into
heygen-com:mainfrom
e-jung:feat/montage-skill
Closed

docs(skills): add beat-synced montage authoring recipe#1659
e-jung wants to merge 1 commit into
heygen-com:mainfrom
e-jung:feat/montage-skill

Conversation

@e-jung

@e-jung e-jung commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Closes #1623.

What

Adds a single new docs-only skill, skills/montage/SKILL.md, that closes the loop from the shipped beats CLI to a finished montage: given a folder of assets + beats/<audio>.json, place one segment per asset on a beat cadence, crossfade with the required gsap_exit_missing_hard_kill hard-kill, and duck #bgm under each clip that carries its own audio.

It is a docs-only change — one new file, no engine/runtime/CLI edits, no new commands. It builds entirely on the shipped beats CLI and the existing core media/volume contract (animate volume on the timeline; data-volume is the static baseline).

Why

As raised in #1623: hyperframes beats (#1424) and Studio beat-snapping (#1439) cover beat detection and manual snapping, but nothing closes the loop from a detected-beats file to a finished, beat-synced montage. This skill is the agent-facing recipe for that.

The recipe covers (per the issue)

  1. Run hyperframes beats → read beats/<audio>.json ({ time, strength }[]).
  2. Place one segment per asset on a beat cadence (every Nth beat), biasing cut points on strength.
  3. Crossfade exits with the matching tl.set(..., { opacity: 0 }, boundary) hard kill required by the gsap_exit_missing_hard_kill lint rule.
  4. Duck #bgm volume under each video clip and lift the clip's own <audio> (muted <video> + sibling <audio>).

Verification

  • The worked example in the skill was extracted and run through npx hyperframes lint0 errors, 0 warnings (once the referenced assets/* placeholders exist; lint treats missing local media as errors).
  • Conventions matched against existing single-file skills (general-video, slideshow): same frontmatter (name / description / metadata.tags), reads /hyperframes-core first, ends with a Validation section.
  • oxfmt clean; conventional-commit message.

Scope notes

@e-jung

e-jung commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by skills/music-to-video (merged) — it covers the beat-synced montage case comprehensively (and adopted the concept via references/montage.md). Closing in favor of the in-tree skill. Thanks!

@e-jung e-jung closed this Jun 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Agent recipe: author a beat-synced montage from the beats CLI output?

1 participant