remotion

Installation
SKILL.md

${var} — the video brief: what the video should be about. Examples: "explain what Uniswap v4 hooks are", "recap this week's aeon ships", "a 20s teaser for the $aeon token". Optional trailing flags:

  • --orientation landscape|portrait|square (default landscape 1920×1080; portrait 1080×1920 for Shorts/Reels; square 1080×1080)
  • --theme dark|light (default dark)
  • --accent #hex (brand/highlight color, default #7c5cff)
  • --brand <label> (small persistent label, e.g. a handle)
  • --scenes N (target scene count, 2-4)

Videos are hard-capped at 10 seconds — short by design. The composition clamps total duration to 10s regardless of the storyboard, so size it to fit (see step 3). --seconds is accepted but ignored above 10.

If ${var} is empty, log REMOTION_NO_VAR and exit cleanly — no notify (a render burns real CI compute, so the skill never fires on a blank default run).

Today is ${today}. This skill turns a one-line brief into a real rendered MP4. It does not call a generative-video API — it writes a storyboard (structured JSON) and hands it to a bundled Remotion project that renders deterministic, on-brand motion graphics in React. The agent is the creative director; Remotion is the renderer.

How it works

The Remotion project lives at skills/remotion/project/ (checked in; node_modules is gitignored). It exposes one composition, Video, driven by an input-props schema (src/schema.ts). You produce a props.json matching that schema; npx remotion render reads it, derives the resolution + duration from the props, and writes an MP4. The workflow's Stage remotion toolchain step has already installed the deps + the headless-chrome browser (behind an Actions cache) before you run, so you only author + render + deliver.

The storyboard schema (what you write)

Installs
8
Repository
aeonfun/aeon
GitHub Stars
715
First Seen
Aug 20, 2026
remotion — aeonfun/aeon