Build an SRT subtitle file from a 3-shot short-drama script (ai-video-script OUTPUT FORMAT). Reads each SHOT_N block's DURATION_S + VOICEOVER, emits cumulative-timestamped SRT cues. Pure text-processing, no LLM, no network. Used by meta-short-drama between merge and the final subtitle-burn step.
68
83%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Parses an ai-video-script 3-shot script and writes an SRT subtitle file whose cues track the script's VOICEOVER per shot, time-coded with cumulative shot durations.
with:)| key | required | default | notes |
|---|---|---|---|
script | yes | — | Full script text (the entire OUTPUT FORMAT block, including OVERVIEW + SHOT_1..N). Passed via stdin so the orchestrator does not need to write a temp file. |
output_path | yes | — | Output .srt path. Parent dir created if missing. |
gap_ms | no | 200 | Tail pad subtracted from each cue's end so the subtitle vanishes ~200 ms before the next shot starts — avoids cuts clipping mid-character. |
leading_offset_ms | no | 0 | Shifts every cue forward by this many ms. Set to the cover/intro clip duration when the merged video prepends a title card before SHOT_1. |
VOICEOVER: none or empty contributes no SRT cue but its
DURATION_S still advances the timeline cursor.gap_ms, clamped to ≥ 800 ms
after start so very short voiceover lines remain readable.Prints the absolute path of the written .srt on stdout.
The file is UTF-8 encoded so CJK voiceover lines survive when ffmpeg
reads them via the subtitles= filter.
=== SHOT_N === blocks with DURATION_S: and VOICEOVER: fields).
Drift away from that format → zero cues, exit 1.94ac35e
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.