← All craftbooks

Plan the Episode

Media: audio and videoevalv1.0.0released 2026-06-05workflow: build-loop

Turn the idea backlog and last episode's loose threads into a locked plan for the next episode: a rundown with timed segments, what to prep, and a record date — so the show ships on rhythm instead of on adrenaline. Locks the episode goal and the acceptance checklist FIRST, then builds the timed rundown, then writes the brief with prep owners and the record date. Use for planning the next episode, episode rundowns, show planning, and 'what's the next episode'.

Steps

Entry step: scope. Each step names the specialist role it wants; the full working prompt is expandable.

  1. Scope the episodeplannerentry

    backlog picture, episode goal, plan rules

    Show working prompt
    Define the episode before anything gets produced. Step 1: read episodes.json from the workspace — the idea backlog, the publishing cadence, the last few shipped episodes and any loose threads or listener notes they left behind. Step 2: confirm with the owner which idea leads the next episode and what the episode is FOR — the one thing a listener should take away. Step 3: set the plan rules — target length, the segment shape the show uses, guests or clips that need lead time, and the record date that keeps the cadence. Step 4: write an acceptance-criteria checklist ('every segment has a minute mark and a purpose', 'segment minutes add up to the target length', 'every prep item has an owner and a by-date', 'the record date beats the publish date', 'loose threads from last episode are picked up or consciously dropped'). Call write_task_note with the chosen idea + record date + checklist and write notes/scope.md.
  2. Build the rundownproducer

    timed segments, per-segment needs, open questions

    Show working prompt
    Build the rundown against the locked goal. Step 1: draft the segment list — cold open to outro — with a minute mark and a one-line purpose per segment. Step 2: for each segment, note what it needs: a guest, a clip, research, an ad read, or nothing but the host. Step 3: check the math — segment minutes must add up to the target length, with the big segment where the energy belongs. Step 4: list the open questions the owner must answer before record day. Step 5: write the full rundown to notes/rundown.md and call write_task_note with the segment count and the total minutes.
  3. Write the episode briefcopywriter

    title options, final rundown, prep list with owners, record date

    Show working prompt
    Write the episode brief from the rundown. Step 1: open with the episode goal and two or three title options that would make the target listener stop scrolling. Step 2: lay out the final rundown — every segment with its minute mark and purpose. Step 3: write the prep list — each item with an owner and a by-date, ordered by lead time, longest first. Step 4: state the record date and the publish date it protects. Step 5: keep it one page, warm and specific — this is the sheet the host glances at before hitting record. Write report.md and call write_task_note with the report path and the record date.
  4. Evaluatereviewer

    Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.

    Show working prompt
    Open report.md and notes/rundown.md and verify every criterion from notes/scope.md: every segment carries a minute mark and a purpose, the minutes add up to the target length, every prep item names an owner and a by-date, the record date is set and beats the publish date, and last episode's loose threads are picked up or consciously dropped. Cross-check the brief against episodes.json — the chosen idea must come from the backlog or the owner, never from thin air. Write PASS/FAIL per criterion; on any failure, name the gap and loop back to report.
    
    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: "report" })` 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.
  5. 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.

Source

View this craftbook on GitHub · MIT license