Skip to content
Video & Audio
Skill

/brand-video

Guided, brand-aligned marketing videos rendered with Helios — promo or hype, explainer or walkthrough, product demo or feature showcase, testimonial or social proof, launch or release announcement, and vertical social clips (Reels, TikTok, Shorts). Extracts the brand from a repo

From plugin
helios
13035 skills1 MCP

Claude Code

$ npx -y skills add BintzGavin/helios --skill brand-video --agent claude-code

SKILL.md

brand-video.SKILL.md
name: guided-brand-video
description: Guided, brand-aligned marketing videos rendered with Helios — promo or hype, explainer or walkthrough, product demo or feature showcase, testimonial or social proof, launch or release announcement, and vertical social clips (Reels, TikTok, Shorts). Extracts the brand from a repo or URL, locks the format, randomizes structure and staging, and designs an original look from a seed so videos don't look alike. Optional beat-synced music and Internet Archive B-roll.

Brand video

One pipeline for six formats. The format profile fixes structure and pacing ([references/formats.md](references/formats.md)). A random roll decides how the story is staged. The look is designed fresh for each video from the brand and a seed, the same way [make-video](../../../plugins/helios/skills/make-video/SKILL.md) does it. Known looks from [motion-styles](../../design/motion-styles/SKILL.md) are opt-in: use one only when the user asks for it.

Build the page under the make-video contract (one HTML page, `window.renderAt(t)`, every frame a pure function of `t`) and render, review and check as it describes. Read [motion-design-rules](../motion-design-rules/SKILL.md) before writing the spec.

Keep each video in its own folder, e.g. `videos/<slug>/`: `seed.txt`, `direction.json`, `spec.md`, `video.html`, `audio/`, `broll/`, `video.mp4`. Commit `direction.json`: the next video reads it to avoid repeating this one.

1. Gather context

⛔ Ask together, then wait:

1. "Are we in your brand's repository, or should I research a URL (e.g. your marketing site)?" 2. "Do you want generated background music (ElevenLabs; you'll need an API key set up), or do you have a track?" 3. "Should I pull B-roll from the Internet Archive (public-domain and Creative Commons film)?"

If they name or describe a style, a medium or a reference look, note it for step 5. Don't read `.env` files or check keys; trust the answers.

2. Brand

From a repo: Tailwind config or CSS variables, global styles, design tokens, logo, favicon, hero sections, marketing copy, CTAs, UI components, existing motion. From a URL: the same visible signals. Add the format's extra signals from its profile.

Write a brand profile: value proposition, audience, tone, palette, type, emotional position. The brand fixes facts, logo, product UI, and the colours and fonts that must appear. It doesn't dictate a visual style.

3. Lock the format

Pick the profile in [references/formats.md](references/formats.md) and apply its defaults: duration, aspect, arc, timing anchors, limits.

4. Roll the staging

Draw the seed with the **apply-randomness** skill if it's installed (save its output as `seed.txt`); otherwise:

LC_ALL=C tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 1024 > videos/<slug>/seed.txt

Then roll:

node <this-skill>/scripts/roll-direction.mjs --format promo \
  --seed-file videos/<slug>/seed.txt --avoid . --out videos/<slug>/direction.json

It picks one option on every axis in [references/direction-deck.json](references/direction-deck.json): structure, opening, ending, peak position, palette approach, ground, scale, camera path, layout, pacing, entrance emphasis, accent device, footage role, and one twist (a constraint or device; some twists break a motion-design rule on purpose). It also draws three idea lenses for step 5 and lists earlier videos' looks. It skips what the last two videos used, and never pairs picks that overlap. Add `--no-broll` if B-roll was declined; `--lock axis=option` for anything the user or brand requires; `--style <slug>` when step 5 uses a style card.

Honor the picks. Up to two vetoes are allowed for a concrete brand or format conflict, re-rolled with `--lock` and written in the spec. "Something else would look better" isn't one.

5. Design the look

**Default: an original look,** found with [references/look-ideation.md](references/look-ideation.md):

1. Write down the obvious answers: the pun on the product's name, the category's usual look, the stock looks (dark gradient with floating orbs or particles, glass cards, word-by-word fade-ups, neon glow on black), and the `recent_looks` in `direction.json`. They're off limits unless the brief asks for one. 2. Write one candidate from each of the three random `lenses` the roll drew, plus one that drops an assumption all the obvious answers share. 3. Cut candidates that collapse into an obvious answer or into each other. 4. Let `roll-direction.mjs --pick <n>` choose among the survivors, and record the result in `picks.look.label`.

**Only when the user asks for a known look**, use the motion-styles library its own way:

  • They name or describe a style or medium ("make it risograph", "like an old blueprint"): open that one card, and re-run the roll with `--style <slug>` so the history records it.
  • They ask for options or "a known look": follow motion-styles to offer at most three styles plus one original direction, and build what they pick.

With a card, its invariants win: if it bans a rolled pick (Swiss bans bounce, risograph bans dissolves, a locked-camera style can't track), re-roll that axis with `--lock` to an option the card allows. Map brand colours into the card's colour rules. Never copy the card's demo composition.

Without being asked, you may offer once, in one line, that known styles exist.

6. Music (if wanted)

Generate an instrumental with ElevenLabs matching the brand tone, the format's music direction, the rolled pacing and the runtime, or use the user's track. Analyse it with `helios analyze` (or make-video's fallback) and key timing to it as make-video's music section and motion-design-rules Rule 7 describe. Without music, build the timing grid from the rolled pacing.

7. B-roll (if wanted and `broll` isn't `none`)

Use [archive-broll](../../workflows/archive-broll/SKILL.md). Grade every clip into the video's palette and materials so footage reads as part of the look.

8. Creative spec

Read more
@bintzgavin
Ships withhelios

Programmatic video creation with web technologies you already know. CSS animations just work.

13035 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
130
Star history of BintzGavin/helios on GitHub, a chart by star-history.com

Other skills on helios.

make-video

make-video

Make videos drawn with code: motion graphics, launch and explainer videos, animated shorts, animated charts and data, logo…

@bintzgavin@bintzgavinInstall Skill
core

core

Core API for Helios video engine. Use when creating compositions, managing timeline state, controlling playback, or subscribing…

@bintzgavin@bintzgavinInstall Skill
animated-video-philosophy

animated-video-philoso…

Story-first motion design philosophy for animated video: motion must earn its place; arc (establish, complicate, resolve); show…

@bintzgavin@bintzgavinInstall Skill
motion-styles

motion-styles

Opt-in library of established visual styles for code-drawn Helios videos: style cards (colour rules, type, motion grammar, a…

@bintzgavin@bintzgavinInstall Skill
canvas

canvas

Patterns for using Helios with Vanilla Canvas API. Use when building high-performance 2D/3D animations without frameworks.

@bintzgavin@bintzgavinInstall Skill

More skills from other plugins.

captions-overlay

captions-overlay

Overlay doctrine for captions in HyperFrames videos — the caption MODEL (drop / rail / embed) and the rule that captions are an…

@heygen-com@heygen-comInstall Skill
acestep

acestep

AI music generation with ACE-Step 1.5 — background music, vocal tracks, covers, stem extraction for video production. Use when…

@calesthio@calesthioInstall Skill
seedance-antislop

seedance-antislop

This skill should be used when a Seedance 2.0 prompt contains generic AI filler, hollow superlatives, vague cinematic language,…

@emily2040@emily2040Install Skill

Questions about brand-video.

Which coding agents can use brand-video?
brand-video installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.