← All craftbooks

Release Announcement

Ship and releaseevalv1.0.0released 2026-06-05workflow: build-loop

Write a public-facing release announcement that turns a shipped version into a compelling story for users — a blog-post / email-style piece that leads with the headline value, shows the marquee features with concrete before/after benefits, links to the full release notes and upgrade path, and ends with a clear call to action. A planner picks the 2-4 things actually worth announcing and the audience/channel, a copywriter writes the benefit-led announcement in the brand voice, and a reviewer checks it is accurate, on-message, and that every claim traces to a real shipped change. Use this for product launch posts, 'what's new' announcements, version launch emails, and changelog-to-marketing translations.

Steps

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

  1. Scope the announcementplannerentry

    pick the marquee items, audience, and channel

    Show working prompt
    1. Review the release contents (changelog/release notes) and pick the 2-4 changes genuinely worth announcing — the ones users will care about, not an exhaustive list. 2. Identify the audience and channel (blog, email, in-app) and the single headline benefit of the release. 3. For each marquee item, capture the concrete user benefit and a before/after framing ('used to take X, now Y'). 4. Decide the call to action (upgrade, try it, read the docs) and the link to the full release notes. 5. Set the tone to the brand voice and a target length appropriate to the channel. 6. Good looks like: a short brief listing the headline, the 2-4 marquee items each with a user benefit, the audience/channel, the CTA, and the release-notes link. Write this as an acceptance-criteria checklist ('leads with the headline benefit', 'each marquee item states a user benefit not a feature spec', 'every claim traces to a real shipped change', 'has a clear CTA and a link to full notes', 'matches the brand voice and channel length') plus the brief to the notes file via write_task_note AND to notes/scope.md.
  2. Write the announcementcopywriter

    benefit-led launch story in the brand voice

    Show working prompt
    1. Open notes/scope.md and write the announcement leading with the headline benefit in the title and opening line — hook first, not 'We are pleased to announce version X'. 2. Give each marquee item its own short section with a benefit-led subhead and the before/after framing, written for users not engineers. 3. Keep the voice consistent with the brand and the length appropriate to the channel; scannable subheads and short paragraphs. 4. Include the call to action prominently and link out to the full release notes / upgrade guide. 5. Do not over-claim or mention anything not actually shipped. 6. Good looks like: a tight, benefit-led announcement a non-technical reader enjoys, every marquee item from scope.md covered with its benefit, a clear CTA, and a notes link. Write the announcement to announcement.md.
  3. Review for accuracy and messagereviewer

    verify claims trace to shipped changes and tone is on-brand

    Show working prompt
    1. Open announcement.md and cross-check every feature/benefit claim against notes/scope.md and the actual release — flag anything over-claimed, vague, or not actually shipped. 2. Confirm it leads with the headline benefit and that each marquee item is framed as a user benefit, not a raw feature spec. 3. Verify the CTA is present and the link to full release notes resolves. 4. Check the voice is on-brand and the length fits the channel; flag engineer-speak that leaked into a user-facing piece. 5. Write a PASS/FAIL per acceptance criterion with specifics; any failure routes back to the write phase. Write findings to notes/review.md.
  4. Evaluatereviewer

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

    Show working prompt
    Open announcement.md and verify it against notes/scope.md, PASS/FAIL each criterion. Confirm: (a) the title and opening lead with the headline benefit; (b) each marquee item from scope.md has a benefit-led section, not a raw feature spec; (c) every claim traces to a real shipped change with no over-claiming; (d) a clear CTA and a link to the full release notes are present; (e) the voice matches the brand and the length fits the channel. Any FAIL routes back to the write phase.
    
    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.
  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