Claude Skill MartBrowse skillsQuick linesLearn by videoTerminal guideWhat is a Skill?
Back to list

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 & VideoAdvanced48293AI 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), optional style_card.json
  • Two edit modes: full mode writes against source timecode; cut mode writes clip_plan.json first, then narration against the edited output timeline
  • Checking pipeline: review.py for advisory semantic review (flagging hallucinations), validate.py for deterministic time/quiet-window checks and alignment
  • Writing discipline: narration only when a narration_job exists, 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

  1. 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
  2. 10-minute cut: cut-mode phase 1 produces clip_plan.json with reasons formatted as beat_id | function | change | POV | in point | out point; after the edit exists, narration is rewritten on output timing
  3. Revision round: feedback like "beat 3 sounds too stiff" updates only style_card.json while other layers stay frozen, then review.py/validate.py are 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)
  1. Download the ZIP with the button below.
  2. In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
  3. Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Download 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.

  1. Open a terminal.
  2. Clone the repo: git clone https://github.com/zenstory-ai/video-recap-skills.git
  3. Create the skills folder: mkdir -p ~/.claude/skills
  4. Copy the skill: cp -r video-recap-skills/skills/video-script ~/.claude/skills/
  5. Verify Python 3 is available with python3 --version (needed for review.py and validate.py).
  6. Restart Claude Code and test a trigger phrase such as "write the narration script".
  7. Important: this skill is not standalone. Run the repo's video analysis stage first so work_dir contains agent_narration_brief.md, vlm_analysis.json, and recap_run_manifest.json.