---
name: schedule-youtube-ccm-shorts
description: Create, upload, localize, and schedule YouTube Shorts that promote CCM, worship, prayer, and Christian instrumental longform videos. Use when Codex must turn Track 1 and Track 2 of each longform into vertical 50-second Shorts, process a channel in FIFO publication order, add English hooks and full-playlist CTAs, connect Related video and a worship playlist, schedule one Short per day at a fixed local time, or audit and repair this publishing pipeline.
---

# Schedule YouTube CCM Shorts

Create two promotional Shorts per CCM longform and publish them in deterministic FIFO order.

## Load the operating standard

Read [references/operating-standard.md](references/operating-standard.md) before rendering, uploading, scheduling, or repairing channel metadata. Treat its channel-specific values as defaults that the user may override.

## Build the queue

1. List longforms by original publication date, oldest first.
2. Assign Track 1 before Track 2 for each longform.
3. Exclude Shorts already uploaded or scheduled by matching source video ID and track number.
4. Run `scripts/build_fifo_schedule.py` when a repeatable schedule manifest is needed.
5. Schedule one Short per day at 14:00 Asia/Seoul unless the user specifies another cadence.

## Select source intervals

1. Read the longform tracklist or connected audio folder.
2. Restrict each candidate to its track boundaries.
3. Compare several 50-second windows using loudness, silence, and musical continuity.
4. Prefer the most melodic continuous window; avoid track transitions and silent intros.
5. Fall back to the first 50 seconds of the track only when analysis or source timing is unavailable.
6. Record the exact source interval.

## Render each Short

- Render 1080x1920, H.264 video, AAC audio, 30 fps, and approximately 50 seconds.
- Use the longform visual as the source; fill the vertical canvas with a softened background and retain a clear centered foreground.
- Show one short English worship hook.
- Show `FULL WORSHIP PLAYLIST` and `on this channel` during the final 3–5 seconds.
- Verify duration, dimensions, codecs, audio presence, readable text, and output filename before upload.

## Upload and schedule

1. Upload to the intended channel as private or scheduled, never immediately public unless requested.
2. Keep the English title under 100 characters and include `#shorts`.
3. Put the original longform URL near the top of the description.
4. Set the audience to not made for kids unless the content requires otherwise.
5. Add the required CCM playlist and verify its checked state.
6. Connect the exact original longform using YouTube Shorts Related video.
7. Complete copyright checks.
8. Schedule at the next FIFO date at 14:00 Asia/Seoul.
9. Reopen the visibility control and verify the authoritative date and time after saving.

## Complete post-publication work

When a scheduled Short becomes public, post and pin a comment containing the original longform link. If comments are unavailable while the Short is private, record the action as pending instead of reporting success.

## Record results

For every Short, record source longform, track name and number, source interval, file path, title, description, playlist, Related video status, scheduled timestamp and timezone, Short URL, copyright result, pinned-comment status, and any recovery action.

Never claim completion from an entered form value alone. Verify the saved state in YouTube Studio.

