Use when Codex needs to turn repo slide decks plus narrated audio, transcripts, or captions into long-form YouTube-ready MP4s, draft or verify cue sheets, recover transcript timing, or prepare replacement-course assets before using the YouTube upload skills.
Use this skill for the local production stage before YouTube channel writes. Use youtube-data-api or youtube-operating-agents only after the MP4, captions, cue sheet, and metadata inputs are ready.
artifacts/video/ folder..srt via the temporary-upload path instead of inventing timings from an untimed transcript.yt-dlp or inspect the watch-page transcript instead of blocking the pipeline.1080p or 1440p, H.264, bitrate no higher than ~8 Mbps, 5 fps for slide-only videos, and AAC audio.-preset medium, crf 23, 1920×1080, 192kbps AAC. Don't adjust these for slideshows.All command sequences, full script usage, and output conventions are in references/workflow.md.
yt-dlp / watch-page scrapescripts/render_audio_slides_video.py render --fps 5 for slide-only videosyoutube-operating-agents or youtube-data-api for channel writesWhen a package has visually distinct variants of the same slides: read them all, manually map each slide to audio topics, and interleave for visual variety. Aim for a slide change every 1–3 minutes. The auto-interleaving in build_slideshow_from_captions.py only works when decks share identical filenames, so manual curation is usually required.
If rendering crashes mid-write (background timeout, OOM, etc.) the output MP4 is truncated — missing the moov atom — and unplayable. Delete it and re-run.
references/workflow.md: input layout, script map, exact bash commands, output naming.references/rollout-lessons.md: quota fallback, subtitle recovery, and constraints recovered from the Operating Agents YouTube rollout.../../../workflows/youtube-production/README.md: tracked canonical local production workflow with decision logic and multi-deck strategy.