← ClaudeAtlas

release-noteslisted

Generates a release's notes from the diff against the previous release branch — dedup by patch-id, label cross-check, classification, QA blocks, and a generation-notes audit trail.
vsdudakov/troika · ★ 1 · AI & Automation · score 62
Install: claude install-skill vsdudakov/troika
# Release notes Customer record and QA-plan source. **Kind** procedure · **Used by** [releaser](../../agents/releaser.md) · **When** a release branch has been cut ([release-cut](../release-cut/SKILL.md) step 3), or a human asks for notes · **Ends with** a notes file on a PR against the default branch, every dropped item recorded Mirror the newest notes file exactly. Use profile paths and host commands. ## 1. Collect the range — from the previous release's branch head, never its tag ```bash git fetch <remote> --tags git log --oneline <prev-tag>..<remote>/<prev-release-branch> # post-cut cherry-picks — expect a non-empty list git log --no-merges <remote>/<prev-release-branch>..<new-release-branch> # the candidate range ``` Diff previous branch head: tag is cut state, head is shipped state. Attribute by squash PR suffix; otherwise **Unattributed commits**. ## 2. Dedup by patch-id, then check each drop for a revert Cherry-picks carry different SHAs, so ancestry alone will not exclude them: ```bash git cherry <remote>/<prev-release-branch> <new-release-branch> # '-' marks patch-equivalent commits ``` `-` means shipped unless reverted. Verify symbol presence in each tree. Dropped items lose QA blocks; renumber. ## 3. Cross-check the release labels For every PR still in the range, read its labels. One labelled for an **earlier** release is a red flag — reconcile it against the branch, never on the label alone, in either direction: - Present in the previous