Skip to content
Content
Skill

/general-video

Author 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

From plugin
hyperframes
51k26 skills
Install
$ npx -y skills add heygen-com/hyperframes --skill general-video --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/general-video

Context preview

The summary Claude sees to decide when to auto-load this skill.

Author 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

SKILL.md

general-video.SKILL.md
name: general-video
description: >
  Author 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-graphics instead for a short unnarrated motion-first unit, including an animated title.
  Route fresh creation through hyperframes before using this skill.

General video

Before relying on this workflow, run:

npx hyperframes skills update general-video

A successful no-op means the skill is current. Surface an update failure instead of continuing from memory.

1. Apply cross-cutting source adapters

  • **Media:** For any audio, image, icon, logo, voice, grade, LUT, treatment/effect, caption, or media-operation need, load `/media-use` and follow `../media-use/references/resolve.md` (resolve, adopt, reuse) and `../media-use/references/setup-providers.md` (providers, auth). Vague footage feedback and named styles use `../media-use/references/media-treatments.md` before editing; do not improvise supported media effects with CSS/SVG/opacity. Before the first authenticated provider action, run `npx hyperframes auth status` and relay its output verbatim. If signed out, apply the gate in `../hyperframes/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.
  • **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.

These adapters do not change the workflow selected by `/hyperframes`.

2. Start from project state

Apply the first matching row; do not evaluate lower state rows:

| State | Action | | ---------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | | Specific edit | Make the edit, preserve existing project decisions, then rerun affected checks. Do not reopen discovery. | | `BRIEF.md` exists | Read it. If `workflow` names another workflow and `flow` is not `companion`, hand off. Ask no brief questions. | | No brief, but `hyperframes.json` or `STORYBOARD.md` exists | Resume from files and recorded preferences. Backfill `BRIEF.md` only from known facts. | | Fresh creation | Run `/hyperframes` and its intent layer. Return here only for `workflow: general-video` or `flow: companion`. |

For a new project, choose a kebab-case directory name from the brief and scaffold before writing the brief:

npx hyperframes init "videos/<project>" --non-interactive --example=blank --skill=general-video

Then write `BRIEF.md` at the project root using `../hyperframes/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.

3. Interpret the run shape

Use only the canonical terms from `../hyperframes/references/brief-contract.md`:

| Field | Meaning | Effect | | -------------- | ------------------------------------- | ----------------------------------------------------------------------------------- | | `flow` | Who drives | `automation`: choose and execute the route. `companion`: co-create in conversation. | | `storyboard` | Whether the board is a review surface | `yes`: run plan and sketch review. `no`: build without the board. | | derived `mode` | How checkpoint gates behave | Follow the brief contract. Never ask the user to name a mode. |

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`.

  • For `flow: automation`, choose the route and state it in one line in the first progress update.
  • For a specific edit, make the edit without inventing a new route.

For a hard cut, trim, splice, or reorder of existing footage, duplicate the same video source into multiple clip elements. On each copy, set the source range with `data-media-start` plus `data-duration`, then set authored placement/order with `data-start`. Separately authored audio follows the identical clip ranges and timing on matching `<audio>` elements. `/hyperframes-core` owns this temporal edit; use `/hyperframes-keyframes` only for visual-property animation such as zoom, punch, pan, crop, mask, or `clip-path` on an inner wrapper. Copy the full contracts from `../hyperframes-core/references/creator-editing-recipes.md`.

Companion flow

When `flow: companion`:

  • Read `BRIEF.md` and reconcile accepted `## Assets` and `## Customizations` with project artifacts. Complete accepted work that
Read more
Ships withhyperframes

Write HTML. Render video. Built for agents.

Get the whole plugin
Stats
50,289
Stars
4,587
Forks
Active
Maintenance
TypeScript
Language
Apache-2.0
License
1d ago
Last commit
6mo ago
Created

Repo: heygen-com/hyperframes

Other skills on hyperframes.