Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Turn a range of commits or merged PRs into a changelog entry grouped by change type. Use when the user asks for release notes, a changelog, or "what changed" between two points.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 9% | 0% |
| case-15 | ✗→✓ | ▲ Improved | -16% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 4% | 0% |
| case-19 | ✗→✓ | ▲ Improved | -3% | 0% |
| case-20 | ✗→✓ | ▲ Improved | -17% | 0% |
Turn a range of history into a clear changelog entry that a user can read to decide whether and how to upgrade.
Establish the range first. Honor an explicit one ("since v1.2.0", "the last 10 commits", "PRs merged this week"); otherwise default to commits since the most recent tag (git describe --tags --abbrev=0 then git log <tag>..HEAD).
Collect the raw material yourself with sys_os_shell:
git log <range> --no-merges --pretty=format:'%h %s' for the commit subjects.git log <range> --merges or gh pr list --search "merged:>=<date>" for PRs.git diff <range> --stat to see the surface area, and gh pr view <n> for aPR's intent when a subject line is terse.
When a subject is unclear about user impact, dispatch the researcher (purpose: explore) to read the diff and report what actually changed for users — do not guess from the subject alone.
Use the Keep a Changelog categories, dropping any that are empty:
## <version or range> — <YYYY-MM-DD>
### Added ### Changed ### Deprecated ### Removed ### Fixed ### Security
the effect on the user — not the internal mechanics.
behavior. A changelog is for users, not a commit dump.
if upgrade steps are needed.
Before finalizing, route the draft through the reviewer (purpose: review) when the changelog will ship — version numbers, "removed"/"breaking" claims, and flag names are exactly what a fact-check catches.
Other measured skills in the registry, with their headline benchmark lift.