$npx -y skills add heygen-com/hyperframes --skill general-videoAuthor or edit a custom HyperFrames composition when no specialized workflow fits, or when BRIEF.md sets flow: companion. Use for longer or multi-scene pieces, brand and sizzle reels, montages, static loops, static title cards, footage remixes, and freeform builds. Use motion-gra
| 1 | # General video |
| 2 | |
| 3 | Before relying on this workflow, run: |
| 4 | |
| 5 | ```bash |
| 6 | npx hyperframes skills update general-video |
| 7 | ``` |
| 8 | |
| 9 | A successful no-op means the skill is current. Surface an update failure instead of continuing from memory. |
| 10 | |
| 11 | ## 1. Apply cross-cutting source adapters |
| 12 | |
| 13 | - **Media:** For any audio, image, icon, logo, voice, grade, LUT, caption, or media-operation need, load `/media-use` and follow its adoption, resolution, provider, provenance, and reuse contracts. Before the first authenticated provider action, run `npx hyperframes auth status` and relay its output verbatim. If signed out, apply the gate in `../hyperframes-core/references/brief-contract.md`: collaborative waits for sign-in or an explicit offline choice; autonomous states the status and continues through an available offline provider. Surface a blocker when no offline provider can satisfy a required capability. Local adoption alone does not require an auth gate. |
| 14 | - **Figma:** If any input is a `figma.com` URL, run `/figma` first. Build from its exported assets, tokens, components, or storyboard frames. Do not use raw Figma connector calls because they skip SVG sanitization, media provenance, and brand-token binding. |
| 15 | |
| 16 | These adapters do not change the workflow selected by `/hyperframes`. |
| 17 | |
| 18 | ## 2. Start from project state |
| 19 | |
| 20 | Apply the first matching row; do not evaluate lower state rows: |
| 21 | |
| 22 | | State | Action | |
| 23 | | ---------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | |
| 24 | | Specific edit | Make the edit, preserve existing project decisions, then rerun affected checks. Do not reopen discovery. | |
| 25 | | `BRIEF.md` exists | Read it. If `workflow` names another workflow and `flow` is not `companion`, hand off. Ask no brief questions. | |
| 26 | | No brief, but `hyperframes.json` or `STORYBOARD.md` exists | Resume from files and recorded preferences. Backfill `BRIEF.md` only from known facts. | |
| 27 | | Fresh creation | Run `/hyperframes` and its intent layer. Return here only for `workflow: general-video` or `flow: companion`. | |
| 28 | |
| 29 | For a new project, choose a kebab-case directory name from the brief and scaffold before writing the brief: |
| 30 | |
| 31 | ```bash |
| 32 | npx hyperframes init "videos/<project>" --non-interactive --example=blank |
| 33 | ``` |
| 34 | |
| 35 | Then write `BRIEF.md` at the project root using `../hyperframes-core/references/brief-format.md`. In an existing project, the root is the directory containing `hyperframes.json`. Record only the confirmed preference-backed fields named by the brief format, using `node <MEDIA_DIR>/scripts/prefs.mjs record --hyperframes <PROJECT_ROOT>`; never record inferred defaults. Here `<MEDIA_DIR>` is the installed `/media-use` skill directory and `<PROJECT_ROOT>` is the directory containing `hyperframes.json`. If the intent layer adopted a recipe, apply it now with `node <MEDIA_DIR>/scripts/recipe.mjs use --hyperframes <PROJECT_ROOT> --name <name>` and do not ask again. |
| 36 | |
| 37 | ## 3. Interpret the run shape |
| 38 | |
| 39 | Use only the canonical terms from `../hyperframes-core/references/brief-contract.md`: |
| 40 | |
| 41 | | Field | Meaning | Effect | |
| 42 | | -------------- | ------------------------------------- | ----------------------------------------------------------------------------------- | |
| 43 | | `flow` | Who drives | `automation`: choose and execute the route. `companion`: co-create in conversation. | |
| 44 | | `storyboard` | Whether the board is a review surface | `yes`: run plan and sketch review. `no`: build without the board. | |
| 45 | | derived `mode` | How checkpoint gates behave | Follow the brief contract. Never ask the user to name a mode. | |
| 46 | |
| 47 | Do not invent synonyms for these states. An ongoing “just build it” signal is handled by the intent layer and arrives as `flow: automation`, `storyboard: no`. |
| 48 | |
| 49 | - For `flow: automation`, choose the route and state it in one line in the first progress update. |
| 50 | - For a specific edit, make the edit without inventing a new route. |
| 51 | |
| 52 | ### Companion flow |
| 53 | |
| 54 | When `flow: companion`: |
| 55 | |
| 56 | - Read `BRIEF.md |