video-studio

Starts and orchestrates any video - ads, launch and demo films, motion, title, end and CTA cards, UI walkthroughs, explainers, re-making a reference ad. It picks the format, holds the house laws, writ

SKILL.md

GitHub

video-studio

The orchestrator. It decides WHAT film to make and in what order, holds the laws every film obeys, and hands each job to the skill that owns it. It owns no scripts and builds nothing itself: when this file starts to explain how to do a craft, that knowledge belongs in an executor.

Setup

The video skills need, once per machine:

  • HyperFrames CLI and its skills (heygen-com/hyperframes, Apache-2.0) - the kit's connections/hyperframes-cli.md; npx hyperframes doctor checks Node, FFmpeg and Chrome.
  • Node.js 22+ and FFmpeg (with ffprobe).
  • The sound library (music beds with beat cues, analysed sound effects, a Python venv): python3 ../video-sound/scripts/library.py install → ~/.local/share/marketing-agent-kit/video-library (override with VIDEO_LIBRARY).
  • ELEVENLABS_API_KEY for voice and generated effects (connections/elevenlabs-api.md). Optional: ATLAS_API_KEY for generated people and scenes (video-generated); a Whisper CLI for the speech gates (video-sound, video-check). Each executor lists its own extras.

The umbrella

Skill Owns Load when
video-studio (this) formats, house laws, the film brief, the order of work, routing, intake of new things always first
video-sound voiceover (ElevenLabs, name gate), music by role and beat, sound effects and the library, the mix, sound checks any film with sound
video-build HyperFrames compositions: project scaffold, build.py pattern, building from a real product UI, captions, real footage, render, traps any code-built film
video-moves the 24 camera and editing moves: choice, staging, numbers, code, their sounds a film needs more than hard cuts
video-3d real 3D with three.js: objects and logos with light, data globes and maps, particles and shaders, post-processing and stylised looks (ASCII cinema, toon, halftone, dither, pixel) volume, light, depth, element counts or a rendered look CSS cannot give
video-generated Atlas Cloud: generated people, rooms and objects (Seedance, OmniHuman, Nano Banana) shots that do not exist as footage or UI
video-check QA gates, contact sheets, reading time, transcription, independent review before anyone sees a film
upstream (used as they are) hyperframes, hyperframes-core, hyperframes-animation, hyperframes-cli, general-video, motion-graphics, product-launch-video, media-use (heygen-com) called by the executors

Executors are universal: no brand and no film's content baked in; colours, words and material come from the film being made. A new executor is created only for a craft that a film or a reviewed test has proven - never an empty skill "for later".

The order of work

  1. Purpose. What is the film for, who sees it, where it runs, what is true (the source for every claim: your product brief, the product itself, its UI and files).

  2. Format. references/formats.md maps the request to a recipe:

    Request Recipe
    End card, title card, CTA/offer card, logo sting, lower third, UI panel with animated text references/format-motion-card.md
    15-25 s launch/demo film of a product, project or site references/format-launch.md
    People or scenes generated by a model the video-generated skill
    "Make it like this ad" references/format-reference-copy.md
    Shorts cut from a long recording (webinar, call, talk) references/backlog-shorts-from-long-footage.md
    Anything else code-built the HyperFrames skills through video-build
  3. Plan in the recipe's shape (structure, beats, the signature moment - moves from video-moves), with the claim source for every line. List the private data that will be on screen and ask the user about it (laws.md, "Say what private data is on screen").

  4. Brief: write the film's brief.md from references/brief.md - the one contract every executor reads (subagents get it verbatim). It owns copy, claims, tone, material, moments and private data; executors own the implementation.

  5. Audio first (video-sound): voice generated and measured before the picture is timed.

  6. Build (video-build; moves from video-moves; 3D scenes from video-3d; generated shots from video-generated). A 10-12 s proof first, approved by the user, then the rest.

  7. Sound (video-sound): effects, music, the mix.

  8. Gates and independent review (video-check) - every film, before the user sees it. The user sees a film only after the gates pass and a fresh reviewer has watched it; the review's open P2 list goes with the film.

  9. Deliver; note what was learned (below).

references/examples.md walks three typical requests through these steps.

Laws

references/laws.md binds every film and every executor. House laws apply to all films; "Brand laws (yours)" holds the rules for your own brand's films - fill it in. Executors implement the laws and never restate or contradict them - when an executor's rule and a law disagree, the law wins and the executor is fixed in the same change. The ones violated most:

  • Audio first. Voice is generated and measured before the picture is timed.
  • Show the subject in use, its real UI and copy; never diagrams about it.
  • Every claim on screen exists in the source. Tone and jokes may be invented; names, numbers and features may not.
  • Hooks: the first line says what it is, or a pain a stranger gets in one read.
  • Motion has a cause on screen. Judge by watching, confirm by metric, not the reverse.
  • Say what private data is on screen before anyone sees a proof; the user decides.

When something new is learned

references/intake.md: how an outside repo, a reference film or a rejected cut becomes a law, a recipe, an executor's rule or a library asset, and which skill owns it. Note what a film taught in that film's own notes; for changes to the skills themselves, open a pull request (the kit's CONTRIBUTING.md).

Adapt it

  • Your brand laws: fill "Brand laws (yours)" in references/laws.md - your hook pattern, the setting your customers really work in, aspect per channel, your accent's contrast numbers, where claims come from.
  • Your brief template: add the fields your team always needs to references/brief.md (legal line, channel specs, approver) and delete the ones you never use.
  • Your formats: when you make a second film of a new kind, write its recipe as references/format-<name>.md and add a row to references/formats.md.
  • Your library additions: add your licensed music and effects to the sound library (video-sound explains the licence row, analysis and catalogue steps).
  • Your review norms: who approves a proof, which channels autoplay muted (use the strict reading norm there), what counts as private data in your company.