name: ai-video-script description: Write narration and storyboard for a short video: spoken script with three-pass de-AI-flavor review, shot list, beat grid, and film.json as the single source of truth. Runs after ai-video-brief, before rendering.
ai-video-script: 口播与分镜
When to use
The brief is locked and the user has picked a narrative angle. This skill writes the spoken script, the shot list, the beat grid, and film.json. Do not start rendering before these files exist.
1. Write the script first
- Write narration as spoken text, not written prose. Read every line aloud in your head: if a sentence cannot be spoken in one breath, split it.
- Estimate duration at about 4.5 Chinese characters per second for planning only. Final timing always comes from the real voiceover duration, never from the estimate.
- Shot length rule: each shot takes the max of action time, reading time, and narration estimate, plus a pause. Total film length is the sum of all shot frames. Never time-stretch audio to fit a shot.
2. Three-pass de-AI-flavor review
Run all three passes on the script before it goes to storyboard. Keep the review notes in script.md.
- Pass 1, cut AI cliches: remove stock phrases, empty intensifiers, and sentences that say nothing in many words. Every sentence must carry one concrete fact, image, or action.
- Pass 2, overlap check: if the script adapts a source text, shared real words with the source must be at most 15 percent, with no 8 consecutive identical characters. Rewrite, do not paraphrase around the edges.
- Pass 3, read-aloud check: the script must sound like a person talking, not an essay. Cut written-only constructions and sentences that only work on paper.
3. Build the storyboard
Use templates/storyboard.md. Rules:
- One shot lasts 1.5 to 5 seconds and shows exactly one thing.
- A visible change every 2 to 3 seconds: entrance, main action, secondary action, exit or transition.
- Open the first 3 seconds with one concrete small scene, not a title card. One concrete example runs through the whole film.
- Each shot row has: number, time range, picture, action, camera move, on-screen text (at most 8 characters), method.
- Pick 2 fixed accent words for the whole film, plus 3 to 8 subtitle emphasis words. Use them consistently.
- Switch A-roll and B-roll at least once every 8 to 12 seconds.
- Name the lead, the supporting elements, and the background for each shot. The lead moves first and largest; supporting elements follow 2 to 5 frames later with smaller movement.
- Give every large action six phases: prepare, stretch, impact, squash, overshoot, settle.
- Keep one main light direction for the whole film, with highlights and contact shadows following the action.
4. Beat grid
Music first: pick the track, set its BPM, write templates/beat-grid.json with timestamps and strong/weak beat marks. Land heavy actions and cuts on strong beats. Move sound effects from the motion itself. Use ease-in-out curves; no linear motion except deliberate mechanical motion.
5. film.json is the single source of truth
Write templates/film.json: title, format, fps, duration, style, voice, and the shot list with start/end times, picture, voiceover, on-screen text, and method. Every later step (render, voiceover, review) reads this file. If the script changes, update film.json first, then re-derive the rest.
Output contract
script.md(narration + timing + three-pass review notes).storyboard.md(shot table).beat-grid.json(BPM + strong/weak beats).film.json(single source of truth).
Rules
- Do not write rendering code in this skill. Text and timing only.
- A shot that cannot be described in one row of the table is two shots; split it.
- Uncertain facts stay marked "to verify" until checked; never smooth them over with confident wording.