AddThisFeature

AI Release Note Generator

Turn the work that actually shipped into release notes a person can read.

moderate AI Content

What it adds

A drafting step that assembles internal and public release notes from the change records the app already tracks.

What your agent is told to do

5
  1. 1

    Find where the app already records completed work — merged changes, closed tickets, deploy records — and build the input set from those, scoped to a release or a date range. Do not ask the user to paste a changelog the system could assemble itself.

  2. 2

    Send only what the summary needs: change titles, descriptions, labels, and the area of the product affected. Never send full diffs, configuration files, credentials, customer names, or the contents of a private record the eventual reader is not entitled to see.

  3. 3

    Generate two detail levels from the same input set: an internal note that keeps identifiers, caveats, and rollback notes, and a public note written for someone who has never seen the codebase.

  4. 4

    Present the result as an editable draft with every line traceable to the change it came from, and require a human to publish it. Do not publish generated notes automatically; a wrong release note becomes a support queue, not a typo.

  5. 5

    Set a token and cost ceiling per generation, and split a large release into batches that are summarised and then merged. If the model refuses, times out, or returns a truncated draft, fall back to a plain grouped list of change titles and say the summary could not be generated.

Edge cases it handles

8
  • Work that is merged but sitting behind a disabled flag has not shipped. Filter on what is actually enabled in the target environment, or the notes will announce features nobody can find.
  • Every generated line needs a link back to the change or ticket it came from, so a reviewer can check a claim without rereading the whole release.
  • Dependency bumps, formatting passes, and internal refactors are noise in a public note. Exclude them unless they change something the user can observe, and keep them in the internal version.
  • A change that was reverted, or deployed to only some regions or tenants, must not appear as shipped. Reconcile against the deploy record rather than the merge history alone.
  • Internal and public audiences need different detail. A note that names internal services, incident numbers, or customer accounts must never be publishable without an explicit edit.
  • A release with no user-visible changes should produce an honest empty state, not an invented summary of minor work.
  • Regenerating a note must not discard edits a human already made. Offer the new draft alongside the edited one and let the user choose.
  • If the release spans more changes than the cost ceiling allows, say which range was summarised rather than silently truncating the input.

Definition of done

9
  • Release notes are drafted from the app's own change and deploy records with no manual paste step.
  • Each generated line links to the source change that produced it.
  • Internal and public versions exist separately and the public version excludes internal identifiers and non-user-visible work.
  • Changes behind a disabled flag or subsequently reverted do not appear as shipped.
  • Nothing publishes without a human approving the draft.
  • A model refusal, timeout, or truncated response degrades to a plain list of change titles with an explanation.
  • Each generation runs within a defined token and cost ceiling.
  • The feature matches the existing design system.
  • No existing functionality is broken.

Related features

How it works

  1. 1

    Copy the link

    Grab the Markdown instruction URL for this feature.

  2. 2

    Give it to your AI

    Paste it into Claude Code, Cursor, v0, Lovable — whatever you build with.

  3. 3

    It inspects, then implements

    Your agent reads your existing app first, then adds the feature to fit it.

Works with your stack

These instructions are written to adapt. They tell the agent to detect your framework, match your existing design system, and reuse what you already have — rather than assuming a particular stack.

Need it tighter than that? Customize the feature and tell it exactly what you're running.