Video Narration Script (video-script)
Turns an already-analyzed video into a directing/editing plan plus a timestamped narration script, with automated review and validation.
Image & VideoAdvanced★ 482⑂ 93AI score 8/10Last updated: Aug 28, 2026
What it does
Reads a work_dir that already contains video-understanding artifacts (VLM/ASR) and runs the whole creative stage of a recap or commentary video.
- Enforced role sequence: the agent acts as director → story editor → picture editor → sound/narration editor → first-time viewer
- Structured deliverables:
recap_story_plan.json(intent, POV, beats),visual_audio_board.json(in/out points,audio_owner,narration_job), optionalstyle_card.json - Two edit modes: full mode writes against source timecode; cut mode writes
clip_plan.jsonfirst, then narration against the edited output timeline - Checking pipeline:
review.pyfor advisory semantic review (flagging hallucinations),validate.pyfor deterministic time/quiet-window checks and alignment - Writing discipline: narration only when a
narration_jobexists, no describing what's already on screen, and explicit hand-off of audio ownership to source dialogue or silence
Who it's for
- Creators producing recap or explainer videos for film/TV content
- Users already running the video analysis pipeline from the same repo
- Editing teams wanting consistent, auditable narration quality
Examples
- First pass (CREATE): ask for a narration script on an analyzed 40-minute episode → two viable structures compared, POV and beats locked, beat-by-beat visual/source-audio/narration split, timestamped draft written
- 10-minute cut: cut-mode phase 1 produces
clip_plan.jsonwith reasons formatted asbeat_id | function | change | POV | in point | out point; after the edit exists, narration is rewritten on output timing - Revision round: feedback like "beat 3 sounds too stiff" updates only
style_card.jsonwhile other layers stay frozen, thenreview.py/validate.pyare rerun until clean
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/zenstory-ai/video-recap-skills/HEAD/skills/video-script/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/video-script folder from the GitHub repo zenstory-ai/video-recap-skills into my ~/.claude/skills/video-script/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/zenstory-ai/video-recap-skills.git && mkdir -p ~/.claude/skills && cp -r video-recap-skills/skills/video-script ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal.
- Clone the repo:
git clone https://github.com/zenstory-ai/video-recap-skills.git - Create the skills folder:
mkdir -p ~/.claude/skills - Copy the skill:
cp -r video-recap-skills/skills/video-script ~/.claude/skills/ - Verify Python 3 is available with
python3 --version(needed forreview.pyandvalidate.py). - Restart Claude Code and test a trigger phrase such as "write the narration script".
- Important: this skill is not standalone. Run the repo's video analysis stage first so
work_dircontainsagent_narration_brief.md,vlm_analysis.json, andrecap_run_manifest.json.
View source on GitHub ↗License: MIT