Communitygithub.com

vox-explainer

Make a short Vox-style documentary explainer (30-60 seconds) entirely in code with Claude Code. Torn paper, halftone texture, bold condensed type, motion on twos. Use when someone says

What is vox-explainer?

vox-explainer is a Claude Code agent skill that make a short Vox-style documentary explainer (30-60 seconds) entirely in code with Claude Code. Torn paper, halftone texture, bold condensed type, motion on twos. Use when someone says.

Works with✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/charlie947/motion-graphics-skills/tree/main/skills/vox-explainer

Ask in your favorite AI

Open a new chat with this agent skill pre-loaded.

Documentation

Vox-style explainer, built in code

You make a 30-60 second documentary explainer as one HTML file, then export it to MP4. Every frame is code. No video generator, no stock footage.

Before you start: read brand.md and MOTION.md if they exist. If not, run brand-intake first, or ask for hex codes, a font and a logo file. Never call a result on-brand without them.

Step 1: Ask for four things, then wait

  1. The question. One "why" question a stranger half understands. Example: "Why does every brand logo look the same now?"
  2. The facts. Names, dates and numbers that answer it, each with a source link. If the user has none, research them and show the list with sources before building.
  3. The colours. Three hex codes plus one accent. Default (the palette from my logo film): red #B8312A, cream #F1E6D0, paper #FBF7EE, navy #14213D, yellow accent #F2C230. Label defaults as defaults.
  4. The size. 1920 x 1080 (YouTube), 1080 x 1350 (LinkedIn feed) or 1080 x 1920 (Story or Reel).

Do not start building until every fact on screen has a source.

Review rules (from the rounds that got rejected)

  • Sound is not optional. A silent explainer feels unfinished. Write a score in code: a low bed, a hit on each new shot, a lift on the last line.
  • Cards and images, not lines. A single bar or line moving across the screen reads as static. Every shot uses cards, real images or objects that move in depth.
  • Logos fill their card and come from the real files. A logo floating small in a big box looks wrong.
  • Keep grids symmetrical. Equal card sizes, equal gaps. A lopsided layout reads as a mistake.
  • The voice sits on top. If you can't hear the narration over the effects, drop the score until you can. A voice track (your own, or a text-to-speech one) carries a "why" film.
  • The opening line has to promise what's coming. A small title that undersells the film loses people before the good bit. Say the question big, then show the first surprise within 5 seconds.
  • Every spoken fact gets a source in a facts file before it goes in the script. Say "looks like", never "is", when the research only shows a similarity.
  • Stunning or it's not done. If the first 3 seconds would not stop your own thumb, rebuild them before building the rest.

Step 2: Write the script, one line per shot

  • 8-14 shots. One sentence each. Shot 1 is the question itself.
  • Every shot answers something the line before it said. If you cannot say what a shot proves, cut it.
  • The last shot is the takeaway, in five words or fewer.

Show the script as a numbered list and wait for a yes.

Step 3: Pick a shot type for each line

ShotUse it for
Kinetic statementOne sentence you want remembered. Three short lines of bold condensed type on a torn paper strip.
Paper cardsShowing several things at once (logos, products, quotes). Torn-edge cards drop in with small shadows.
Before / afterA change over time. Same card, date chip flips.
Label call-outNaming one thing inside a picture. A marker circle draws itself, then a label.
CounterA number that grows. Built in code, never guessed.
Grid"They all look the same." Many identical tiles, then one breaks the pattern.

Step 4: Build it

Paste this build brief into Claude Code with the script and shot list underneath:

Build one self-contained HTML file called index.html. No external fonts, images or libraries unless I attached them. Nothing loaded from the internet.

Look: editorial documentary explainer. Palette strictly [RED], [CREAM], [NAVY] with a [YELLOW] accent. Torn paper cards with small drop shadows. Halftone dots, paper grain and fine film grain over the whole frame. Colour fringing at the frame EDGES ONLY, and a soft vignette. Bold condensed sans-serif type, fully formed as blocks.

Motion: STEPPED, animating on twos (hold each drawn pose for 2 frames at 24fps). Never smooth corporate easing. NO typewriter effect. No gradients on text, no glow, no bouncing.

Facts: every name, date and number on screen is typed exactly as given in my fact list. Add nothing I did not give you.

Timing: follow my shot list. Each shot holds long enough to read aloud.

Build rules: work out every frame from the time alone. Add window.seek(seconds) that draws that exact moment. The last frame can differ from the first (this is a film, not a loop).

After the build: capture one frame from the middle of every shot. Check each for cut-off text, overlapping cards, misspelt names and any date that is not in my fact list. Fix what is real and keep the first version.

Step 5: Check it like an editor

Before export, go through every frame capture and confirm:

  • Every date and name matches the fact list, character for character.
  • No card covers another card's text.
  • Nothing is smooth that should be stepped.
  • The first 3 seconds already show the question (people decide in 3 seconds).

Step 6: Export

Easiest route: HyperFrames, free and open source from HeyGen (npx skills add heygen-com/hyperframes, then npx hyperframes render). Any tool that steps through window.seek and saves frames as MP4 also works. Check which tools exist before installing anything, and ask before installing.

What this skill will not do

  • Invent a fact, a date or a quote.
  • Recreate a real brand's logo from memory. Use the user's files or plain type set in the brand's name.
  • Claim a trend is caused by one thing. Say "one reason", not "the reason".

Individual skills in this repo

This repo contains 14 individual skills — each has its own dedicated page.

animated-chart

Make a looping animated chart for LinkedIn or a newsletter in code with Claude Code. Bars that become a line, a number that counts up, a before and after. Every value stays exactly as given. Use when someone says

apple-launch-film

Rebuild an Apple-style Mac launch film entirely in code with Claude Code. A thin menu bar, the black notch growing into widgets one scene at a time, full-screen gradient wallpapers and one short caption per scene. No screen recording, no After Effects. Use when someone says

brand-intake

The setup step every other skill in this pack reads. A short interview plus 3 to 5 reference frames becomes two files in your project, brand.md (who you are, what you sell, your assets) and MOTION.md (your colours, type, timing and motion rules), plus a rule in CLAUDE.md so Claude reads them before it animates anything. Use at the start of any motion project, or when someone says

launch-video

Make a 30-45 second product launch video in code with Claude Code, the kind SaaS companies post on launch day. One sentence split across scenes, real product screens with slow camera moves, a typed prompt, a proof beat and a clear call to action. Use when someone says

loop-cover

Turn a newsletter or blog cover into a seamless looping GIF at 896 x 640, 180 frames at 20fps. Only the one element you name moves, the loop is rotated so frame 1 shows the finished picture, and the seam is measured, not eyeballed. Use when someone says

milestone-reveal

Make a 12-second looping milestone clip in code with Claude Code. Thousands of tiny points drift like a night sky, pull together into your real number (followers, subscribers, revenue, customers), a line draws underneath and the label settles in. Premium, not a party. Use when someone says

model-showdown

Give the same motion brief to three AI models, keep each first try, render all three the same way and stack them into one comparison video with model names and logos. Makes a 16:9 side-by-side for a newsletter and a 1080 x 1920 stacked reel for Instagram and TikTok. Use when someone says

motion-brief-writer

Turns a rough idea for an animated graphic into a precise build brief for Claude Code, in your own brand. Asks for anything essential first (exact numbers, size, length, brand), keeps real results apart from sample data, and never invents a figure. Use when someone says

motion-effects

Build any of 16 premium motion effects from scratch in your own brand, as one 8-second looping HTML file with window.seek(seconds) so it exports frame-exact to MP4 or GIF. Interfaces (button to player, search to results, card to workspace, tabs to panels), data (chart morph, dashboard zoom, spring stack, magnetic dock), type (masked type, elastic type, text to layout, image reveal) and systems (perspective shift, glass focus, flowing paths, particle logo). Use when someone says

motion-prompt-writer

Write a complete 8-part Claude Motion prompt (The bar, Format, The one rule, Look, Motion, Never, Before you finish, The scene) for one short looping motion graphic, in your own brand. Takes your brand (a website screenshot, a logo, hex codes, or nothing for the Apple-style default) and one moment you want to show, in plain words. Use when someone says

newsletter-promo

Turn a newsletter edition into a 12-20 second promo clip for LinkedIn, Instagram or X that drives people to read and subscribe. Hook question, three proof frames from the edition, then the newsletter name and where to read it. Use when someone says

reel-export

Turn any horizontal or square motion video into a 1080 x 1920 Instagram Reel or TikTok that uploads cleanly. Headline and logos inside the safe zone, H.264, yuv420p, limited colour range, bt709, a silent audio track when there is no sound, and an ffprobe check before upload. Use when someone says

reference-to-motion

Turn references you admire into a scene-by-scene Claude Motion prompt for your own topic and brand. Takes a video for the moves (screenshots, frames or a contact sheet of a reel or ad) and, optionally, a look reference for the style (a website, a brand, a moodboard). Use when someone says

title-sequence-3d

Make a cinematic 3D title sequence (8-15 seconds) in code with Claude Code and Three.js. A camera moves through a lit scene, such as a rainy street at night with brand names as neon signs, then a big question or title lands. Use when someone wants a scroll-stopping opener, a film-style intro,

Related Skills