Agile Add Release Notes
Table of Contents
When to use this skill
When closing a sprint — i.e. assembling release notes for the
sprint's PRs, tagging main, and opening a draft GitHub release.
How to use this skill
The whole pipeline runs through compass release-notes
(projects/ores.compass/src/compass_release_notes.py) — five
verbs, run in order, from a task branch off main.
- Confirm the sprint to close. It is always the previous (already-closed) sprint, not the one currently in flight — ask the user if there is any ambiguity.
Create: collect PR data since the last release tag and render the release notes org file.
./compass.sh release-notes create --sprint <N>
Pass
--since-tag v0.0.<N-1>explicitly if a tag for the sprint being closed already exists (e.g. created ahead of time) — otherwise PR collection will pick up its own tag as "latest" and undercount merged PRs.Output:
doc/agile/versions/v0/sprint_N/release_notes.org— a standard org-mode document with a proper UUID, frontmatter, and two summary blurb placeholders (opening paragraph, "Next sprint" line) that must be filled in.- Fill in the blurbs. Open
release_notes.organd replace both(( ... ))placeholders. Source material: sprint mission (sprint.org * Mission), retrospective (sprint.org * Retrospective), and health reviews. Keep the opening paragraph to 4–6 sentences. Charts: render the sprint's gnuplot health charts so the org file's chart images resolve to real files.
./compass.sh release-notes charts --sprint <N>
Export: batch-export
release_notes.orgto GitHub-flavoured Markdown../compass.sh release-notes export --sprint <N>
Output:
release_notes.md— this is the file that ships verbatim as the GitHub release body.Commit: stage, commit, and push
release_notes.org=/.md= and the four chart PNGs on the current branch. There is no separate "upload images" step — the markdown embeds them viaraw.githubusercontent.com/.../main/...URLs, so they only render correctly once these files are merged tomain../compass.sh release-notes commit --sprint <N>
Open and merge the PR the normal way (
compass pr create/compass pr merge) before the next step, so the images resolve.Draft: tag
mainand open a draft GitHub release. A codename is invented per release (house convention:v0.0.20, "Capopolo") —--codenameis required../compass.sh release-notes draft --sprint <N> --codename <Codename>
Idempotent: safe to re-run if the tag or release already exists (e.g. tagged ahead of time, or fixing the title/body after the fact) — reuses/updates in place rather than erroring or losing work.
- Hand off to a human. The release is always created in draft so a maintainer can review, attach binaries/screenshots, and publish.
The release is the upward signal that work landed (see Release in the glossary). Cutting it is a Sprint closure task — System 3 owns it at sprint level.
Recipes
- How do I generate release notes? — the end-to-end procedure.
PR Manager— for the notes PR itself.
Reference
- The compass release-notes pipeline — why it's five verbs, the image-resolution mechanism, tag/release idempotency, the title convention.
- Sprint closure phase — where this skill is invoked.
- Release (glossary).
- Agile recipes — sibling recipes for the agile cycle.