← All craftbooks

Slide Deck from Content

Documents and decksevalv1.2.4released 2026-09-05workflow: build-loop

Turn a body of source content into a presentation deck. Outlines the narrative first, designs a consistent slide look, then builds the deck (HTML slides), evaluating for narrative flow and visual consistency.

Steps

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

  1. Outline the deckplannerentry

    narrative arc + per-slide bullets from the source

    Show working prompt
    Read every supplied source file with workspace `read_file` before outlining. Build a source-grounded deck plan: a title slide, a clear narrative arc, 5-7 content slides with one idea and 2-4 bullets each, and a takeaways/CTA ending. Attach a source filename or source heading to every factual claim. Write an **acceptance-criteria checklist** ("opens with a title slide", "one idea per slide", "ends with takeaways/CTA", "every claim traces to the source"). Save the outline + checklist to artifact `{{workPath}}/outline.md` with `write_artifact`; note the path in task notes.
  2. Slide designdesigner

    a consistent slide template + palette

    Show working prompt
    Read artifact `{{workPath}}/outline.md` with `read_artifact`. Design one reusable slide system: title position, body/grid layout, exact palette, type scale, spacing, progress affordance, and focused/inactive slide states. Include desktop and narrow-screen behavior plus keyboard/button navigation treatment. Consistency matters more than flourish. Save the template spec to artifact `{{workPath}}/design-system.md` with `write_artifact`; note the path in task notes. No slide content yet.
  3. Build the deckdeveloper

    generate the slides to the template

    Show working prompt
    Read artifacts `{{workPath}}/outline.md` and `{{workPath}}/design-system.md` with `read_artifact`. Build the deck in workspace `index.html` with `write_file`: one semantic section per slide, inline CSS/JS, visible slide count/progress, previous/next controls, and ArrowLeft/ArrowRight keyboard navigation. Apply the template uniformly and use only claims in the outline/source. Keep it self-contained with no external assets. On a loop-back, fix only the named gaps. `write_task_note` the workspace path and slide count.
  4. Evaluatereviewer

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

    Show working prompt
    Read workspace `index.html` with `read_file` and artifacts `{{workPath}}/outline.md` and `{{workPath}}/design-system.md` with `read_artifact`. Check narrative flow (title opening, one idea per slide, takeaways ending), visual consistency, source fidelity, and both button and keyboard navigation. Render and exercise it if browser QA is available; otherwise trace the event handlers. 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: "build" })` 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