feat(skills): add standalone drafting-a-release skill#5
Merged
Conversation
Drafting a GitHub release as a one-shot list of merged PR titles loses the why: the reader, deciding whether to upgrade and what it costs them, gets a changelog instead of release notes. Add a standalone skill (no flow wiring) that turns "what merged since last time" into curated notes. A template carries the shape — Overview, What's new / changed / removed each led by reasoning, Fixes, and the raw list collapsed into a <details> changelog. The choreography proposes the semver bump (user confirms), presents the full body to refine, asks draft-vs-published, and gates `gh release create` on a fresh confirmation against the exact tag, body, and draft state. Developed via writing-skills RED->GREEN->REFACTOR: baseline agents produced bare PR-title lists with no overview, no reasoning, an uncollapsed changelog, and decided draft-vs-published for the user; with the skill, agents produced the curated shape and stopped at the gate under time pressure. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The skills table catalogs every skill. Add a row for drafting-a-release, marked standalone so it isn't read as part of the planning->merge flow. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds a standalone skill,
drafting-a-release, for turning "what merged since the last release" into professional release notes and publishing them viagh release create. It is not wired into the feature-development flow — nothing routes into it and it routes into nothing — and is triggered whenever a user asks to cut, draft, or publish a release.The problem it solves: drafting a release as a flat list of merged PR titles produces a changelog, not release notes. The reader is deciding whether to upgrade and what it costs them, and a title list doesn't tell them why a change matters. This skill makes the agent curate the reasoning and gate the publish on the user.
Changes
skills/drafting-a-release/SKILL.md: choreography that establishes the baseline (last tag + merged range), proposes a semver bump for the user to confirm, drafts the notes, presents the full body to refine, asks draft-vs-published, and gatesgh release createon a fresh confirmation of the exact tag, body, and draft state.skills/drafting-a-release/templates/release-notes.md: Overview → What's new / What's changed / What's removed (each led by reasoning) → Fixes → a raw changelog collapsed into a<details>block.README.md: one row added to the skills catalog, marked standalone so it isn't read as part of the planning→merge flow.Testing
Developed through the mandated
superpowers:writing-skillsRED → GREEN → REFACTOR loop:<details>changelog, a reasoned semver proposal left to the user, an explicit draft-vs-published question, and stopped at the confirmation gate instead of publishing. No new rationalizations surfaced.Also verified: both
.claude-plugin/JSON files parse, and a leakage grep across the new skill finds no repo slug, build commands, or product/domain identifiers (it stays project-agnostic).🤖 Generated with Claude Code