
Lay Out the Cookbook
Assemble the heirloom: every tested recipe in its chapter, the provenance kept beside the food — whose recipe it was, what table it came from — chapter intros in the family's voice, print-ready pages. The book that exists because someone finally sat down and made it. Locks the inclusion rule FIRST — tested recipes in, untested listed for the next round, never silently dropped — then lays out the chapters, then proofs every eligible recipe made it in with its story intact. Use for laying out the family cookbook, the heirloom recipe book, 'print the cookbook', and a recipe book for the grandchildren.
Steps
Entry step: scope. Each step names the specialist role it wants; the full working prompt is expandable.
- Scope the bookkitchen-masterentry
inclusion rule from the shelf, chapter order, page rules
Show working prompt
Read the shelf before laying out a page. Step 1: read recipes.json from the workspace and the recipe files under recipes/ — which recipes are tested and which still pending. Step 2: lock the inclusion rule: tested recipes go in; untested ones go on a short 'still to test' page at the back — listed, never silently dropped. Step 3: settle the chapter order with the owner — by course, by season, or by the family line each recipe came down — and the page rules: one recipe per page, the provenance line under every title, a short chapter intro in the family's voice, print styles throughout. Step 4: write an acceptance-criteria checklist ('every tested recipe appears in its chapter with its provenance line', 'untested recipes listed at the back, not dropped', 'the family's phrasings preserved, not rewritten into recipe-site prose', 'chapters ordered as agreed', 'the book prints cleanly, one recipe per page'). Call write_task_note with the tested/untested counts + chapter order + checklist and write notes/scope.md. - Lay out the bookdesigner
cover, chapters, one recipe per page with provenance
Show working prompt
Lay out the cookbook as one print-ready HTML file at book/cookbook.html. Step 1: the cover and a contents page listing the chapters. Step 2: each chapter opens with a short intro in the family's voice — two or three sentences that sound like the kitchen, not a food blog. Step 3: one recipe per page: the title, the provenance line right under it — whose recipe, where it came from — then ingredients and the method in the family's own phrasing from the recipe files, preserved word for word where it matters. Step 4: the 'still to test' page at the back listing the untested recipes by name. Step 5: print styles throughout — an @page rule, page breaks so every recipe starts fresh, type set for reading at arm's length in a working kitchen. Call write_task_note with the recipe count and the chapter list.
- Evaluatereviewer
Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.
Show working prompt
Open book/cookbook.html against recipes.json and the recipes/ files and verify every criterion from notes/scope.md: every tested recipe appears in its chapter with its provenance line — spot-check three against the shelf, a recipe that lost its story has lost the point — untested recipes are listed at the back and none silently dropped, the family's phrasings survive in the methods, chapters run in the agreed order, and the page styling would print one recipe per page. Write PASS/FAIL per criterion; on any failure, name the recipe and the gap and loop back to layout. 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: "layout" })` 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.
- lay out the cookbook
- make the family cookbook
- print the recipe book
- heirloom cookbook
- put the recipes into a book
Source
View this craftbook on GitHub · MIT license