The Sermon Prep Desk — Production Process Template (v1)
Status: v1 — validate against the first recording session, then update whatever didn't survive contact with reality.
Scope: the repeatable start-to-finish pipeline for one weekly unit (1 hub episode + 3–5 spoke Shorts). Strategy lives in strategy.md; voice and guardrails in agent-brief.md; this doc is how the sausage gets made.
Stack: OBS (record) → Descript (edit) → YouTube Studio (publish). Blue Snowball mic. Claude agents for scripts, packaging copy, QA, and tracking.
The weekly unit at a glance
Pick text (lectionary, 4–6 wks ahead)
→ Agent drafts hub script (10-chapter template) → Founder theology + voice pass
→ Recording day (hub chapters + Shorts batched in one vertical file)
→ Descript edit (filler/pauses → Studio Sound → Eye Contact → cut → captions)
→ Package (title A/B, thumbnail, description, chapters, pinned comment)
→ Publish (hub weekly; Shorts 2/day) → reply to every comment for 7 days
→ Log metrics → next text
Stage 0 — One-time assets (build once, reuse forever)
| Asset | Status | Notes |
|---|---|---|
| OBS profile: SermonWise Longform | ☐ | Horizontal 1080p (4K optional), 30fps, MKV (remux to MP4 after), 48 kHz audio, 12–20k bitrate. Lower third: Pastor John | SermonWise.ai. Bible-reference text source (update per chapter). |
| OBS profile: SermonWise Shorts | ☐ | Vertical canvas 1080×1920, close framing, same audio settings. Optional top label per pillar (e.g., Show, Don't Tell). |
| Standing stinger (7.2 s) | ✅ | C:\Users\johnm\Videos\SermonPrepDesk\assets\stinger-master.mp4 — built 2026-06-12 as an illustrated desk scene (no camera): branded wordmark + blank→worked page match cut + founder VO. Drag into every hub after the cold open; never on Shorts. Source HTML: channel-assets/stinger-scene.html. Rebuild lesson: ffmpeg zoompan jitters at slow zooms — render at 4K (s=3840x2160) then scale=1920:1080:flags=lanczos. |
| Channel trailer | ☐ | Script: trailer-script-show-dont-tell.md. Set as non-subscriber trailer; update [trailer link] in upload defaults after publish. |
| Upload defaults + channel settings | ✅ | channel-assets/channel-settings.md (done 2026-06-10). |
| Playlists (7) | ✅ | Per channel-settings.md. |
| Thumbnail template (Canva) | ☐ | 1280×720, face + ≤5 high-contrast words, consistent layout per pillar. |
| Outro end card | ✅ | channel-assets/outro-card.png (1920×1080). Last 8–12 s of every video: cut to it as the spoken signoff lands. Bottom band intentionally empty — place YouTube end-screen elements (subscribe + next video) there in Studio. No intro scene exists in this format — cold open always. |
| Descript project template | ☐ | After first edit, save the sequence (stinger drop-in point, caption style, export presets) as the template for every future episode. |
| Tracking sheet | ☐ | Fields from strategy.md §8 dashboard spec. |
Stage 1 — Script (agent drafts, founder owns)
- Pick the text from the lectionary table in
strategy.md§4. Production rule: hub publishes 4–6 weeks before its Sunday. - Agent drafts the hub script using the 10-chapter template —
hub-scripts-batch1.mdis the canonical example of structure AND voice. Chapters, in fixed order, identical titles every episode: Cold open · The text in 60 seconds · LensLines™ · Show, Don't Tell · The detail you missed · Sermon Title Clinic · Do's and Don'ts · Walk the path to Jesus · The outline · CTA. Always include the Packaging block (description lines, pinned comment, spoke list). - Founder theology pass (non-negotiable, from batch notes): imaginative retellings labeled in-script; no invented facts presented as certain; soften any claim you can't stand behind in your tradition; every "don't" lands on a preaching move, never on a person or tradition.
- Founder voice pass: read it aloud once; rewrite any line that doesn't sound like you. The script is talking points shaped into sentences, not teleprompter law.
- Hand-curate the LensLines — each must sound like Pastor John, not a template (strategy §5).
Stage 2 — Recording day (founder, OBS)
Snowball + room checklist (every session)
- Cardioid mode (switch position 1), 6–10 inches from mouth, slightly off-axis (dodges plosives)
- Windows input level ~70%; speak a test line — OBS meter peaking around −12 dB, never touching red
- No OBS noise-suppression/compressor filters — Studio Sound does cleanup in post; double-processing sounds worse
- Record 10 seconds of silent room tone at the top of each session (useful for repairs)
- Phone on silent, furnace/fan off, close the door
- 30-second test clip → play it back with headphones before recording anything real. This is the step that saves recording days.
Script reading (the Eye Contact workflow)
- Script window directly under/behind the lens (or Descript's recorder teleprompter) so your eyes are already near camera — Eye Contact in post then only corrects a few degrees, which is where it looks natural
- Shorts: deliver from memory off a sticky-note hook — no Eye Contact needed (saves credits)
Session run sheet (in this order)
- Setup + test clip (10 min)
- One-time assets due this session (stinger, trailer — first session only)
- Hub episode: one take per chapter, pause between chapters (Descript tightens pauses; chapter boundaries become YouTube chapters). Flub a line? Pause two beats, say it again, keep rolling — fix in transcript.
- Spoke Shorts: switch to the Shorts OBS profile and record ALL of the week's Shorts in ONE session file, two-beat pause between each. One file = one Studio Sound / filler-removal charge in Descript (per-file caps) instead of five.
- Remux MKV → MP4 (OBS: File → Remux Recordings), copy to backup before editing.
File naming
YYYY-MM-DD_swpd_<ep##|trailer|stinger|shorts-batch##>_<slug>.mp4 → e.g. 2026-06-11_swpd_ep01_sower.mp4, 2026-06-11_swpd_shorts-batch01_sower.mp4. Descript projects and exports keep the same stem.
File storage (NOT in C:\dev — video never goes in git repos)
C:\Users\johnm\Videos\SermonPrepDesk\
01-raw\— OBS recordings (MKV + remuxed MP4), straight from the recording-day wrap step02-exports\— Descript exports awaiting upload (*_FINAL.mp4)03-published\— move the file here after it's live on YouTube; folder = what's shippedassets\— outro card, stinger clip, thumbnails (master copies of design assets stay inknowledge/.../channel-assets/)
Backup rule: 01-raw and 03-published are the irreplaceables — keep a copy on an external drive or cloud drive. Descript's cloud holds the projects, not your raw footage.
Stage 3 — Edit (Descript primary; agents assist)
Order matters — transcript work before audio/visual processing, so you don't pay to process footage you then cut.
- Import the session file (one file per session = one media-hours charge)
- Correct the transcript (proper nouns, Greek words, Scripture refs)
- Cut by transcript first: delete false starts and the weaker takes
- Underlord: remove filler words + tighten pauses (capped ~30 credits/file)
- Studio Sound at 60–80% — never 100% (robotic); A/B on headphones AND phone speaker (~10 credits, capped 30/file)
- Eye Contact — hubs and trailer only, not Shorts (~10 credits/file)
- Drop in the standing stinger after the cold open (hubs only)
- Captions: hubs = YouTube auto-captions are fine; Shorts = burned-in styled captions (Descript or CapCut)
- Export 1080p MP4; split the Shorts batch file into individual vertical exports
- Credit budget check: weekly unit ≈ 60–90 credits → ~350/month of the 800 on Creator. Log actuals in the tracking sheet for the first month.
- Post-export audio polish (standard, every video). Descript exports run quiet (~-23 LUFS measured on the trailer; YouTube wants -14). Run the ffmpeg polish — declick + 70 Hz low-cut + loudness normalize, video stream copied untouched:
(Two-pass with measured values is better still — ask an agent to run it; takes ~30 s.) A/B by ear before upload; upload the enhanced file.ffmpeg -i IN.mp4 -af "highpass=f=70,adeclick,loudnorm=I=-14:TP=-1.5:LRA=11" -ar 48000 -c:v copy -c:a aac -b:a 192k OUT_enhanced.mp4
Where Claude agents plug in: chapter timestamps from the transcript, description/pinned-comment drafts, title A/B variants, transcript QA against the script, tracking-sheet updates. Agents do not do the visual edit — Descript stays the editor.
Stage 4 — Package (agent drafts, founder approves)
Per the Packaging block in each episode script:
- Title: set the A/B pair in Test & Compare (every hub)
- Thumbnail: 1280×720 from the Canva template
- Description: episode-specific lines + standing description block (in upload defaults) + chapter timestamps
- Chapters: the 10 fixed section titles
- Pinned comment: the episode's comment-engine question
- Playlist(s) assigned; Shorts get real titles/descriptions (passage ref + "sermon" keyword, two-line footer)
- Each Short's related-video link → its hub (requires Advanced features — verify approved)
- Hub end screen → trailer + previous hub
Stage 5 — Publish & engage
- Hub: ~Saturday 10am ET, 4–6 weeks before its Sunday. Shorts: 2/day, 4–6 hours apart, starting day after the hub
- Ask for Hype on every hub in its 7-day window
- Reply to every comment for 7 days — pastor passage-requests are the strongest signal AND next-episode material ("a pastor in Ontario added this don't…")
- Distribution layer per
strategy.md§7: value-first in FB pastor groups, r/Reformed, one personal note per week to a pastor friend - Sustainability gate: miss a sprint → drop to 1 Short/day before ever dropping the weekly hub
Stage 6 — Measure (weekly, 15 min)
Log per video in the tracking sheet: pillar, track (pastor/crossover), passage, Sunday served, engaged views, avg view duration %, subs gained, related-video CTR (Shorts), description CTR (hubs), emails attributed, A/B winner. Weekly: email list total, trials, pastor passage-requests (by hand). Decision gates at Day 30/60/90: strategy.md §8.
Recording-day checklist (print this)
SETUP ☐ Snowball cardioid, 6–10", off-axis ☐ OBS profile correct (Longform/Shorts)
☐ Levels peak ~−12 dB ☐ No OBS audio filters
☐ Lower third + Bible ref label set ☐ Script under the lens
☐ Door/phone/HVAC ☐ 30-sec test clip PLAYED BACK
RECORD ☐ Room tone 10 sec ☐ Hub: one take per chapter
☐ Shorts: ALL in one vertical file ☐ One-time assets (stinger/trailer)
WRAP ☐ Remux MKV→MP4 ☐ Rename per convention
☐ Copy to backup ☐ Note retakes needed