Skip to content
Back to skills

Create Release Notes

ASecurity

Write user-facing release notes from the Conventional Commits history between two refs — grouped by impact, in plain language, with internal-only changes filtered out. Use when the user wants release notes, an announcement of what's new in a version, or a user-readable summary of changes since the last release (distinct from a developer changelog).

  • 3 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 3, 2026
developmentbashgitperformance

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add atman-33/workhub --skill create-release-notes --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Create Release Notes?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Create Release Notes
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/atman-33-create-release-notes/badge)](https://www.skillsdirectory.com/skills/atman-33-create-release-notes)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: create-release-notes
description: Write user-facing release notes from the Conventional Commits history between two refs — grouped by impact, in plain language, with internal-only changes filtered out. Use when the user wants release notes, an announcement of what's new in a version, or a user-readable summary of changes since the last release (distinct from a developer changelog).
allowed-tools: Read Glob Grep Write Bash(git *) Bash(gh *)
---

# Create Release Notes

Release notes are for **users of the software**, not its developers — that
distinction drives every step. A developer changelog (exhaustive, technical,
commit-shaped) belongs to whatever release procedure the repository itself
defines; this skill produces the announcement.

## Steps

1. **Determine the range.** Default: latest tag → `HEAD`
   (`git describe --tags --abbrev=0`). The user's explicit range or tag pair
   overrides. If no tag exists, ask what "since the last release" means here.

2. **Collect the changes.** `git log <from>..<to> --pretty='%h %s%n%b'`.
   Where commits are thin, enrich from merged PR titles/bodies
   (`gh pr list --state merged --search <sha>` — best-effort; skip silently
   if `gh` is unavailable).

3. **Filter for user visibility.** Keep what a user can see or feel:
   features, fixes to behavior, performance, breaking changes, deprecations.
   Drop refactors, CI, tests, docs-tooling, dependency bumps — unless one has
   a user-visible consequence (e.g. a dependency bump that fixes a
   vulnerability), in which case describe the consequence, not the bump.
   - Completion criterion: every commit in the range is either represented in
     a note or consciously dropped as internal — not silently lost.

4. **Write the notes.** In the language the release audience reads
   (ask if unclear). Rules:
   - Lead with the highlights: 1–3 sentences on what this release is about.
   - Sections in impact order: **Breaking changes** (with migration steps) →
     **New** → **Improved** → **Fixed**.
   - Each item names the user benefit, not the implementation ("Search now
     matches partial words", not "Refactored tokenizer").
   - No commit hashes or internal ticket ids in the body; keep a collapsed
     "full changelog" link/line at the end instead.

5. **Deliver.** Show the draft in chat. If the user wants a file, write where
   they say (convention: `docs/releases/<version>.md`); if they want it on a
   GitHub release, `gh release create <tag> --notes-file <file>` (or
   `gh release edit`) — confirm before creating anything public.

## Failure modes

- Range is empty → report "no changes between <from> and <to>"; don't pad.
- Commits are not Conventional and too terse to classify → group by best
  guess, and flag the items you classified with low confidence instead of
  presenting them confidently.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.