← ClaudeAtlas

release-noteslisted

Draft a changelog for the next release by summarizing git commits since the last tag. Use only when the user asks to draft release notes, write a changelog entry, or prepare the next version's notes — never trigger automatically.
foyzulkarim/skills · ★ 42 · Code & Development · score 73
Install: claude install-skill foyzulkarim/skills
# Release Notes Draft a release changelog by summarizing the commits since the last release, then suggest the next semver version and prepend the entry to `CHANGELOG.md` at the project root. ## Steps 1. **Find the commit range and version baseline.** Determine the last released tag: ```bash git describe --tags --abbrev=0 2>/dev/null ``` - If a tag exists, the range is `<tag>..HEAD`, and the tag itself is the version baseline. - If no tag exists (fresh repo), use the full history and **ask the developer** for the current version — do not infer it from any manifest, lockfile, or config file belonging to the project. This skill only reads git; it never inspects a project's toolchain. 2. **Collect the commits** in the range: ```bash # with a tag: git log <tag>..HEAD --oneline --no-merges # without a tag: git log --oneline --no-merges ``` 3. **Group the commits** by type, inferring the type from the message (Conventional Commits prefix if present, otherwise from the wording): - **Features** — new functionality (`feat`, "Add", "Support") - **Fixes** — bug fixes (`fix`, "Fix", "Correct") - **Chores / Maintenance** — `chore`, `refactor`, `docs`, deps, tooling - Drop noise (pure formatting/typo commits) or fold them into a related entry. 4. **Suggest the next version** from the baseline established in Step 1 (the tag, or the version the developer gave you), using semver: - Breaking changes → **major** - Any ne