← All craftbooks

Post-Event Thank-You Sweep

Home and everyday lifeevalv1.0.0released 2026-06-05workflow: build-loop

Close the event the way it deserves: every gift-giver and every helper matched to a personal note, drafted in one sitting and tracked to sent — so 'the thank-yous actually go out' becomes a checklist instead of a lingering guilt. Locks the coverage rule FIRST — every giver, every helper, one personal detail each — then drafts the batch, then records each note to sent in the event's books. Use for post-event thank-yous, thanking the helpers after a party, gift thank-you notes, and 'the party's done, sweep the thank yous'.

Steps

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

  1. Scope the sweepceremoniemeesterentry

    gift and helper roster, coverage rule, tracking rule

    Show working prompt
    Define the sweep before drafting. Step 1: read gifts.json from the workspace — who gave what — and guests.json for the people who helped without a gift attached: setup, kitchen, driving, cleanup. Step 2: lock the coverage rule with the owner: every giver AND every helper gets a note, one personal detail each — the actual gift for givers, the actual deed for helpers — and helpers never get a gift-shaped form note. Step 3: settle how notes go out and what 'tracked to sent' means in the event's books. Step 4: write an acceptance-criteria checklist ('every giver and every helper covered or explicitly deferred with a reason', 'each note names the specific gift or deed from the record', 'no two notes interchangeable', 'every note recorded drafted and tracked to sent'). Call write_task_note with the giver + helper counts and the checklist, and write notes/scope.md.
  2. Draft the notescopywriter

    one personal note per giver and helper

    Show working prompt
    Draft the whole batch against the locked coverage rule. Step 1: one section per person in letters/thank-you.md — a heading with their name, then the note. Step 2: givers get the gift named in the first two sentences and a line about how it will be used or where it now lives. Step 3: helpers get the actual deed named — the grill run all afternoon, the chairs stacked at midnight — never a generic 'thanks for your help'. Step 4: vary the shape so no two notes could swap recipients. Step 5: call write_task_note with the note count split by givers and helpers.
  3. Record and reportarchivist

    track each note in the books, write the coverage summary

    Show working prompt
    Close the sweep. Step 1: record each note against the person's entry through the project's event books so every one is tracked drafted and then sent. Step 2: write the run summary — the coverage count stated plainly ('X of Y covered'), who was deferred and why, and what still has to physically happen for the notes to actually go out. Step 3: keep it short and honest. Write report.md and call write_task_note with the coverage count.
  4. Evaluatereviewer

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

    Show working prompt
    Open letters/thank-you.md and report.md and verify every criterion from notes/scope.md: every giver in gifts.json and every helper in guests.json is covered or explicitly deferred with a reason — count them, the forgotten setup crew is the classic failure — each note names the specific gift or deed from the record (spot-check each against the stores), no two notes are interchangeable, and the report states the coverage count with each note tracked. Write PASS/FAIL per criterion; on any failure, name the person and the gap and loop back to draft.
    
    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: "draft" })` 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