Airsc is free for everyone. If it helps you, support it with $2–$20.

Support
SkillSafeImages, video & audioSome setup

reelbench-skills

eternityspring · eternityspring/reelbench-skills

A set of Claude Code skills for automating video shot detection, data synchronization, and metadata stripping using ffmpeg.

Learning notes and tooling skills for AI video - AI 视频相关的学习与工具 skill

887 stars111License: Apache-2.0Updated 9 days ago0 opens

Preview

▍

What you can do with it

  • Automatically break down a film into a shot-by-shot data table
  • Strip privacy metadata and telemetry from video files via agent commands
  • Overlay shot analysis data onto video footage for review

Safety check

Safe

No risky patterns found in the files we scanned.

Automated scan of the repo files. Always review code you run.

From the README

🎬 AI Video Workspace

reelbench-skills

Claude Code / Codex skills for working with video.

skillwhat it does
video-shotsShot 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-syncComposites 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-scrubStrips 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.

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.

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

View source on GitHub