
Podcast Chapters & Show Notes
Turn a podcast episode into navigable chapter markers plus publish-ready show notes — timestamped chapter titles, an episode summary, key takeaways, and linked mentions. Scopes the chapter format and show-notes structure FIRST, analyzes the transcript to find real topic boundaries with timestamps, then writes the listener-facing notes in the show's voice. Separating boundary-detection (analysis) from the write-up (copy) is what yields chapters that land on actual topic shifts and notes that read like a human wrote them.
Steps
Entry step: scope. Each step names the specialist role it wants; the full working prompt is expandable.
- Scope chapters & notesplannerentry
chapter format, count, show-notes sections, voice
Show working prompt
Define the deliverable BEFORE analyzing. Step 1: record the source (episode title, transcript path or audio, duration). Step 2: pick the chapter marker format — the widely-supported `HH:MM:SS Title` lines (Apple/YouTube style), where the FIRST chapter must be `00:00:00`. Step 3: set chapter density (e.g. 5-12 chapters, min ~60s apart, titles ≤ ~40 chars). Step 4: define the show-notes structure: one-paragraph episode summary, 3-6 key takeaways, the timestamped chapter list, and a 'mentioned in this episode' links list. Step 5: capture the show's voice. Write an acceptance-criteria checklist (first chapter is 00:00:00, timestamps monotonic and within duration, titles concise and descriptive, notes have all four sections, every claim traces to the transcript) and decisions to `notes/scope.md` via write_task_note AND to the produces path.
- Find chapter boundariesdeveloper
detect topic shifts, assign timestamps + titles
Show working prompt
Find where topics actually change. Step 1: read the transcript with its timestamps. Step 2: detect topic boundaries — points where the subject clearly shifts (new question, new segment, ad break, guest change) — not arbitrary fixed intervals. Step 3: for each boundary record the start timestamp (rounded to the second) and a short descriptive title; force the first to `00:00:00`. Step 4: enforce the scoped density/spacing/title-length rules, merging boundaries that are too close. Step 5: write the structured chapter list to `notes/chapters.json` (each: start `HH:MM:SS`, title, a one-line topic note) via write_task_note AND the produces path so the writer has structured input. On a loop-back, adjust only the flagged boundaries.
- Write show notescopywriter
summary, takeaways, chapter list, links in the show voice
Show working prompt
Write the publish-ready notes from the analysis. Step 1: open with a one-paragraph episode summary in the show's voice. Step 2: list 3-6 key takeaways as tight bullets. Step 3: render the chapter list as plain `HH:MM:SS Title` lines (paste-ready into a podcast host / YouTube description) directly from `notes/chapters.json`, first line `00:00:00`. Step 4: add a 'Mentioned in this episode' section with the people/links/resources referenced. Step 5: assemble all of it into `show-notes.md` with clear section headers. Do not invent facts not in the transcript. write_task_note the path and chapter count. On a loop-back, fix only the flagged sections.
- Evaluatereviewer
Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.
Show working prompt
Check the chapters and notes. Step 1: confirm the chapter list's FIRST line is `00:00:00` and all timestamps are monotonic, spaced per scope, and within the episode duration (PASS/FAIL). Step 2: spot-check 3 chapter timestamps against the transcript — does each land on a real topic shift? Step 3: confirm show-notes.md has all four sections (summary, takeaways, chapters, mentions). Step 4: confirm claims trace to the transcript (nothing invented) and the voice matches the show. Step 5: confirm titles are concise and descriptive. Write PASS/FAIL per criterion. Then route — this is the whole point of the loop: - **Every criterion PASSES →** call `advance_task_step({ ref, stepId: "evaluate", next: "finish" })`. - **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: "evaluate", next: "write" })` to loop back. The builder fixes exactly those gaps. Never route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in. - Finishdeveloper
All acceptance criteria met. Stamp a short summary and report DONE.
Show working prompt
Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.
Triggers
Phrases that suggest this craftbook to a crew.
- podcast chapters
- chapter markers for my episode
- write show notes
- timestamp my podcast
- episode summary and chapters
Source
View this craftbook on GitHub · MIT license