Creating a Highlight Video
Overview
This is the master orchestration skill for the Highlight Editor Family. When the user pastes a video URL and asks for a highlight, you MUST immediately activate this skill. It acts as an automated pipeline director, ensuring the AI seamlessly hands off tasks to the correct sub-skills and scripts without requiring the user to manually invoke them.
When to Use
- Whenever the user asks to "make a highlight", "cut this video", or pastes a YouTube URL with the intent of extracting scenes.
The Automated Pipeline
[!IMPORTANT] REQUIRED SUB-SKILL (FIRST): Before anything else, run
preparing-toolsto verify all system dependencies (yt-dlp,ffmpeg,python3,sqlite3). Do NOT proceed if any tool is missing.
When this skill is activated, you must guide the operation through these 4 strict phases:
Phase 1: Scene Selection
To cut a video, we need to know what to cut.
- Ask the user if they already have the timestamps or a Markdown selection list.
- If they do NOT have one, offer to read the transcript or use the
livestream-scene-selectionskill to help them identify the best timestamps (following the "But / Therefore" rule). - REQUIRED SUB-SKILL: Before finalizing any scene selection, you MUST apply
references/no-jumpcut-rules.md. This skill enforces Walter Murch's Rule of Six, the 5-min buffer rule, the merge-contiguous rule, and the pacing rollercoaster — all of which prevent jump cuts in the final output. - Once you have the timeline validated against
references/no-jumpcut-rules.md, write it out to a.mdfile (e.g.,highlight_selection.md).Workspace Rule: If there is an existing
youtube_<VIDEO_ID>_workspacedirectory (created byanibon-timestamperor similar skills), you MUST save this.mdfile inside that directory!
Phase 2: Highlight Planner
Once the .md file is ready, you must invoke the planner.
- Find
[SKILL_ROOT]: Look at the<skill location="...">XML tag at the top of your prompt. Strip the filenameSKILL.md(or with backslashes\on Windows). Replace all\with/. The result is[SKILL_ROOT].
- See
highlight-planner/SKILL.md. - Run:
python3 "[SKILL_ROOT]/scripts/plan_highlight.py" <your_markdown_file.md> --video-id <ID> --source <URL> - Wait for the
highlight_plan_<id>.jsonfile to be generated. - CRITICAL DURATION CHECK: Read the stdout from the planner script. If the total highlight duration exceeds 30 minutes, STOP and warn the user. Tell them downloading will take a long time, and offer to list available resolutions/framerates using
yt-dlp -F <URL>. If they choose a lower quality to save time, append--format "<their_choice>"during Phase 3.Iron Rule: Never read the JSON file. It is for the machine only.
Phase 3: Highlight Cutter (Subagent Delegation)
Because video downloading and FFmpeg rendering can take time, this phase should ideally be handled cleanly.
- See
highlight-cutter/SKILL.md. - Run:
python3 "[SKILL_ROOT]/scripts/cut_highlight.py" <your_plan.json> --source <URL> [--format "chosen_format"] - Monitor the background task or subagent. It will download the chunks (or use a local
--source) and stitch them via FFmpegfilter_complex.Tip: If the user already downloaded the full video to avoid YouTube rate limits, pass the local file path to
--sourceinstead of the URL!
Phase 4: Highlight Verifier
Once the .mp4 is rendered, we must QA check it.
- See
highlight-verifier/SKILL.md. - Run:
python3 "[SKILL_ROOT]/scripts/verify_highlight.py" <your_highlight.mp4> <your_plan.json> - Read the output. If it PASSES, present the final MP4 file link to the user!
Zero-Friction Execution
The goal of this orchestrator is Zero-Friction. Do not stop and ask the user for permission between Phase 2, 3, and 4. Once Phase 1 is complete and the timestamps are approved, you should execute the Planner, Cutter, and Verifier in one continuous flow, only reporting back to the user when the final QA-checked MP4 is ready!
Subagent Dispatch Contract
- Pre-Grant Workspace Permissions: Call sk_permission for ead_file on working workspace directory.
- Parallel Highlight Scene Selection: Spawn parallel subagents using invoke_subagent across transcript/video chunks to identify peak meme/hype highlights.
- Assembly: Pass highlight timeline timestamps to dit-cut-video-ffmpeg for cutting and stitching.