reelbench-skills README

The project's README from github.com/eternityspring/reelbench-skills. As one markdown file: README.md.

中文 English Telegram Follow on X

🎬 AI Video Workspace

ReelBench AI Video Workspace

reelbench-skills

Claude Code / Codex skills for working with video.

skill what it does
video-shots Shot breakdown: turns a finished film into a shot-by-shot table — duration, shot size, category, camera move, frame description, rhythm role. Cuts and durations are measured by ffmpeg; the model only judges what it should; 15 quality gates check every call.
video-sync Composites a video with the shot data alongside it: footage on one side, the current shot's data on the other, switching at every cut with the list scrolling and highlighting itself. Landscape stacks, portrait sits side by side; the layout is one CSS file.
video-scrub Strips metadata: rebuilds the film as a clean file carrying only picture and sound — GPS, device, account IDs and telemetry tracks all left behind. The hard part is the three layers ffprobe cannot see: SEI, the AAC DSE, and compressorname. Byte-for-byte picture by default, verified by 12 byte-level gates.

AI video community

I run a paid group about AI video — workflows, tools, and how this stuff actually gets done.

Interested? Message me on Telegram @ahao_dev and mention github.

Install

git clone https://github.com/eternityspring/reelbench-skills.git
cd reelbench-skills
./scripts/install.sh

This symlinks the skills into ~/.claude/skills/ and/or ~/.codex/skills/ (whichever exists), so git pull takes effect immediately.

./scripts/install.sh --claude      # Claude Code only
./scripts/install.sh --codex       # codex only
./scripts/install.sh video-shots   # one skill only
./scripts/install.sh --uninstall   # remove the symlinks

Requirements: node >= 18 and ffmpeg / ffprobe (macOS: brew install node ffmpeg). No npm dependencies, no API keys — it runs on your current session.

Prefer a copy over a symlink? cp -r skills/video-shots ~/.claude/skills/ — each skill is self-contained.

Example

demo-report/ is the real output of running the skill on demo-video.mp4 (a 202.9-second AI-generated short film, 啥是AI): 53 shots, 3.83 s average shot length, 15.7 cuts per minute, all 15 gates green. demo-report-en/ is the same pipeline run on a 287.4-second English excerpt with --lang en — an entirely English report: 46 shots, 6.25 s average, and one 46.92 s take that scene detection never cut, because it genuinely never cuts.

Shot breakdown report

The report is a single interactive page: an embedded player (playback highlights the current shot, click a shot to jump), a pace strip, a shot list you can search, filter and sort (list or card view, first and last keyframe side by side, click a frame to enlarge), distributions, cast, and the quality gates. No external dependencies — double-click it offline.

the shot list on a narrow screen
demo-report/
├── shots-report.html   ← clone and double-click
├── shots.json          ← the breakdown data for all 53 shots
├── shots.md            ← Markdown shot list
├── track.json          ← frame-difference motion curve (the machine's evidence)
└── frames/             ← first and last keyframe of every shot, 106 files

demo-scrub/ is what video-scrub produces — four pieces of text and no video, because its output looks exactly like the source, which is the whole point. What is worth reading is the reconciliation, above all half.txt: the textbook recipe leaves ffprobe looking spotless while the bitstream still carries x264's encoder-settings SEI in 4 places and the AAC DSE in 8 — no ffprobe command shows either of them.

What video-sync produces is at the bottom of this page — as a video, not a screenshot.

What it looks like

A 287.4-second English excerpt with its 46-shot breakdown, 1280×1296 (the source is 640×360, blown up with --scale 2). The panel switches with every cut; the list scrolls up and the highlight rides along:

If the player does not load, grab the file: demo-sync/demo-en-sync.mp4

reelbench-skills (eternityspring/reelbench-skills)

Searching Database…

What is this?A set of three Claude Code / Codex skills for working with AI-generated video: a shot-by-shot analysis tool, a video-plus-data sync viewer, and a metadata-scrubbing tool.
Are these standalone apps or skills I load into an agent?They are skill packages, not standalone apps — you install them by symlinking into Claude Code's and/or Codex's skills folder, and the agent runs them during a session.
How do I install these skills?The installer symlinks the three skill folders into ~/.claude/skills/ and/or ~/.codex/skills/ (whichever exists), so a later 'git pull' updates them in place; if you prefer not to symlink, each skill is self-contained and can be copied directly, e.g. 'cp -r skills/video-shots ~/.claude/skills/'.
What do I need installed before using them?Node.js 18+ and ffmpeg/ffprobe on your PATH (macOS: 'brew install node ffmpeg'). There are no npm dependencies and no API keys required — everything runs inside your current agent session.
Is video-scrub's metadata wipe actually complete?It targets a byte-for-byte identical picture by default and runs 12 byte-level checks, but the hard cases are three layers ffprobe can't even see: the demo shows the standard 'clean' recipe still leaves x264's encoder-settings SEI in 4 places and the AAC DSE in 8 spots that no ffprobe command reveals.
Does any video data leave my machine?No — analysis and scrubbing run locally through ffmpeg/ffprobe in your current session; video-scrub specifically strips GPS, device, account IDs and telemetry rather than uploading anything.
What exactly does video-shots output for a film?A shot-by-shot table with duration, shot size, category, camera move, frame description and rhythm role, with cuts and durations measured by ffmpeg and the model only judging qualitative fields, checked against 15 quality gates.
What does video-sync look like when I run it?It composites the original footage with a scrolling data panel that highlights the current shot and switches at every cut — stacked for landscape video, side-by-side for portrait.
Can I view the shot-analysis report without any server setup?Yes — the output is a single self-contained interactive HTML page you can double-click and open offline, with a searchable/sortable shot list, pace strip, keyframes, and the quality gates.
Why would I actually need video-scrub?To strip personal metadata (GPS, device, account IDs, telemetry) from AI-generated video clips before sharing them, while the picture and sound stay byte-for-byte unchanged.
Size
101.4 MB
Stars
1.1K
Updated
CommitOct 09
Age
1mo
Commits · 90 Days