From 621e5a6abc7337c919435ed14dc7c4580e356aca Mon Sep 17 00:00:00 2001 From: badcuban <108198679+badcuban@users.noreply.github.com> Date: Mon, 10 Aug 2026 11:06:13 -0400 Subject: [PATCH] Write release copy for users, not developers The release-content prompt now tells the drafter to describe what the user can do or see (never internal feature names), keeps the em-dash ban, and relaxes social bullets to 60 characters so plain phrasing fits. Prompted by v0.3.3's 'Docked composer notices' bullet, which meant nothing outside the repo. --- scripts/generate-release-content.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/generate-release-content.ts b/scripts/generate-release-content.ts index 6cc3e18ad..432da0c68 100644 --- a/scripts/generate-release-content.ts +++ b/scripts/generate-release-content.ts @@ -278,10 +278,13 @@ function buildPrompt(input: GenerateReleaseContentInput): string { "- Every highlight and smaller improvement must cite one or more exact short hashes from the supplied evidence.", "- Do not invent capabilities, outcomes, metrics, dates, platforms, or roadmap claims.", "- Use direct, restrained language. Avoid hype, superlatives, and implementation jargon.", + "- Write for a user reading their feed, not a developer reading a diff: say what the person can now do or what they will see on screen, in plain words. 'Warnings collapse into one slim row above the message box' beats 'Docked composer notices'.", + "- Never use internal feature or component names in user-facing copy. If a name is unavoidable, describe how the thing looks or behaves instead.", + "- Never use em dashes in any copy. Use a period, comma, colon, or parentheses.", "- The title must be a short release theme and must not repeat the product name or version.", "- The summary must be one complete sentence under 220 characters; never cut off a word or sentence to reach the limit.", `- The social post must begin exactly with 'Threadlines v${input.version} is out ${SOCIAL_BRAND_MARKER}', end exactly with 'Release notes: ${releaseUrl(input.repository, input.version)}' so X renders GitHub's release card, and remain at or below ${MAX_SOCIAL_CHARACTERS} Unicode characters.`, - "- The social post should contain at most four compact bullets, each ideally under 50 characters, and must only mention claims present in the highlights or smaller improvements.", + "- The social post should contain at most four bullets, each a plain phrase a reader who has never opened the app would understand, ideally under 60 characters, and must only mention claims present in the highlights or smaller improvements.", "", `Version: ${input.version}`, `Release date: ${input.releaseDate}`,