docs(skills): add beat-synced montage authoring recipe#1659
Closed
e-jung wants to merge 1 commit into
Closed
Conversation
Contributor
Author
|
Superseded by |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #1623.
What
Adds a single new docs-only skill,
skills/montage/SKILL.md, that closes the loop from the shippedbeatsCLI to a finished montage: given a folder of assets +beats/<audio>.json, place one segment per asset on a beat cadence, crossfade with the requiredgsap_exit_missing_hard_killhard-kill, and duck#bgmunder 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
beatsCLI and the existing core media/volume contract (animatevolumeon the timeline;data-volumeis 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)
hyperframes beats→ readbeats/<audio>.json({ time, strength }[]).strength.tl.set(..., { opacity: 0 }, boundary)hard kill required by thegsap_exit_missing_hard_killlint rule.#bgmvolume under each video clip and lift the clip's own<audio>(muted<video>+ sibling<audio>).Verification
npx hyperframes lint→ 0 errors, 0 warnings (once the referencedassets/*placeholders exist; lint treats missing local media as errors).general-video,slideshow): same frontmatter (name/description/metadata.tags), reads/hyperframes-corefirst, ends with a Validation section.oxfmtclean; conventional-commit message.Scope notes
/hyperframesrouter cheat-sheet — keeping to a single docs file as scoped. Happy to add a one-line router entry as a follow-up if you want it discoverable there.