Video Release Gate — Development skill for Claude Code
Thin extract of post-render publish gate — fold into claude-video-kit (see #27 there).
How to install Video Release Gate
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open runesleo/video-release-gate and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Video Release Gate does
Thin extract of post-render publish gate — fold into claude-video-kit (see #27 there). Not a sibling product.
Alternatives in Development
- Promote Public Release — Build, refine, and publish cumulative public release notes, then promote the current alpha prerelease to stabl 1.6k ★
- Post Everywhere — Publish one piece of content — text, image, or video — to every connected platform (or a chosen subset) in a s 212 ★
- 03 Scheduled Publishing — Add scheduled publishing: a third post status, 'scheduled', with a publish_at timestamp that turns 143 ★
README
Video Release Gate
**Status (2026-09-18):** Thin extract only. **Do not treat as a separate product.** Fold into [`claude-video-kit`](https://github.com/runesleo/claude-video-kit) as the post-render publish gate. Prefer that repo for installs and issues.
Fail-closed release gate for agent-produced videos.
**Chinese:** [README.zh.md](./README.zh.md)
Prose QA is not a release gate. This CLI binds the final MP4, cover, three QA docs, and an independent final review to the same hashes — then machine-checks loudness, silence windows, and platform cover size before upload/schedule/publish.
What you get
video_release_gate.py— evaluate / verify CLI (video_release_gate.v1)video_quality_profile.json— quality ratchet (motion / composition / pacing floors)- Unit tests that reproduce a real bad-master failure shape (too quiet / high LRA / self-approved review)
How it works
- Producer finishes the final video.
- QA docs must embed the final video SHA256.
- An independent reviewer (not the producer) writes
video_final_review.v1. - Gate evaluates audio metrics + cover dimensions + hash bindings.
- Publisher calls
verifyagain immediately before upload; any asset/QA/review drift fails closed.
Exit codes: `0` PASS · `2` gate FAIL · `64` usage/config error.
Quick start
python3 -m unittest discover -s tests -v
python3 video_release_gate.py evaluate \
--video /path/to/final.mp4 \
--cover /path/to/cover.png \
--platform bilibili \
--qa FACT-CHECK.md AUDIO-QA.md RENDER-QA.md \
--review FINAL-REVIEW-bilibili.json \
--out VIDEO-RELEASE-GATE-bilibili.json
python3 video_release_gate.py verify \
--receipt VIDEO-RELEASE-GATE-bilibili.json \
--video /path/to/final.mp4 \
--platform bilibili \
--cover /path/to/cover.png
Or: `./bin/video-release-gate …`
Requirements
- Python 3.10+
ffprobeon PATH- Independent reviewer identity ≠ producer identity
Privacy
No accounts, cookies, platform uploaders, or priv
Related Skills
Release Check
Pre-publish GO/NO-GO gate without publishing (runs the release-guardian agent)
Extract Frames
Extract video frames at specific timestamps from transcripts using ffmpeg — see what was on screen when someth
Product Demo
Claude Code skill: describe a product or a new release in a sentence and get a narrated, subtitled demo video
Claude Agent SDK Python
AEAP Composition Boundary Adapter for the Claude Agent SDK (Python). Thin wrapper that attaches the AEAP Runti
Launch Team
Stage 5 alias — Launch: release, deployment, and production operations (ship and run). Thin wrapper around /te
Ox Session Abort
<!-- Keep this file thin. Behavioral guidance (use-when, post-command, errors)
Related Agents
Release Captain
Release captain owning release readiness, changelog quality, breaking-change disclosure, rollback plan, and po
Media Lead
Use for content — post copy, image briefs (text-to-image prompts), short video scripts, brand voice, content c
Video QA Reviewer
Quality reviewer for rendered factory videos and static posts. Use after tools/qa_frames.py on a preview or fi