# Video Script

Turn a repo, product page, or update into a recording-ready video script in a...

- Repository: https://github.com/aeonfun/aeon (787 stars)
- Category: Media
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add aeonfun/aeon --skill video-script -g -a claude-code -y`
Codex: `npx skills add aeonfun/aeon --skill video-script -g -a codex -y`
Cursor: `npx skills add aeonfun/aeon --skill video-script -g -a cursor -y`
Gemini CLI: `npx skills add aeonfun/aeon --skill video-script -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add aeonfun/aeon`

## Description

Turn a repo, product page, or update into a recording-ready video script in a receipts-first format - verifies every claim against live sources, then writes timestamped VO + on-screen direction with a plain-language glossary, assets checklist, anti-tells, and a verify-before-recording list

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

> **${var}**, Selector: `<source> [--minutes N]`.
>
> - **`repo:<owner/repo>`** → script about that repo's latest update wave (README + recent releases/commits decide what "the update" is).
> - **`<url>`** → script about that product page / doc / announcement.
> - **`<topic>`** (anything else non-empty) → script about that topic; research it first.
> - **empty** → pick the most script-worthy update from the last 7 days of `memory/logs/` (a shipped feature, a release, a milestone with receipts). If nothing qualifies, log `VIDEO_SCRIPT_NO_SOURCE`, send no notification, and exit clean.
> - **`--minutes N`** anywhere → runtime target (default 4; ~150 spoken words per minute).
>
> Examples: `"repo:aeonfun/aeon --minutes 6"`, `"https://example.com/launch"`, `"our new payments integration --minutes 3"`.

Today is ${today}. Write a recording-ready video script. No placeholders, every number, address, and date in it must be verified this run.

## Shared preamble

1. Read `memory/MEMORY.md` and the last 7 days of `memory/logs/`, know what has already been covered, and don't script the same story twice.
2. If a `soul/` directory exists, read `soul/SOUL.md` and `soul/STYLE.md` for voice calibration. The script is *the operator talking to a smart friend*, if `soul/` is empty, default to terse, direct, first-person.
3. Parse `${var}` per the selector above into `source` + `minutes`.

## Step 1, Research and verify (never skip)

The format is called receipts-first because the receipts are real:

- Fetch the live source **now** (WebFetch / `gh api` for repos, README **and** recent releases/commits). Do not write numbers, counts, addresses, or dates from memory.
- Collect concrete verifiable artifacts: contract addresses, live dashboards, version numbers, dollar figures, dates. These become the cold open and the Receipts section.
- Every claim you could NOT verify either gets cut or becomes a checkbox in "Verify before recording".

## Step 2, Find the angle

The rest: https://github.com/aeonfun/aeon/blob/HEAD/skills/video-script/SKILL.md
