# release-notes > Generate changelog and release notes from commits. Parses conventional commits, groups by type, and creates formatted release documentation. - Author: Boudy de Geer - Repository: boudydegeer/scrum-claude - Version: 20251222052721 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-07 - Source: https://github.com/boudydegeer/scrum-claude - Web: https://mule.run/skillshub/@@boudydegeer/scrum-claude~release-notes:20251222052721 --- --- name: release-notes description: Generate changelog and release notes from commits. Parses conventional commits, groups by type, and creates formatted release documentation. --- # Release Notes Skill ## Overview Automatically generate release notes from git commits using conventional commit format. Creates both changelog entries and GitHub release descriptions. ## When to Use - During `/agile:release` pipeline - After sprint completion - When creating GitHub releases ## Conventional Commits Parsing ``` Format: (): Types: feat: New feature → "Features" section fix: Bug fix → "Bug Fixes" section docs: Documentation → "Documentation" section style: Formatting → (omit from notes) refactor: Code refactoring → "Improvements" section perf: Performance → "Performance" section test: Tests → (omit from notes) chore: Maintenance → (omit from notes) Breaking: feat!: or BREAKING CHANGE: → "Breaking Changes" section ``` ## Process ### Step 1: Get Commits Since Last Release ```bash LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "") if [ -n "$LAST_TAG" ]; then git log ${LAST_TAG}..HEAD --pretty=format:"%h %s" else git log --pretty=format:"%h %s" fi ``` ### Step 2: Parse and Categorize ``` Commits found: 15 Breaking Changes: 1 - abc1234 feat!: redesign auth API Features: 4 - def5678 feat(auth): add OAuth support - ghi9012 feat(ui): new dashboard ... Bug Fixes: 6 - jkl3456 fix(api): handle null responses ... Improvements: 4 - mno7890 refactor(core): optimize queries ... ``` ### Step 3: Generate Markdown ```markdown # Release vX.Y.Z ## 🚨 Breaking Changes - **auth**: Redesign auth API - tokens now use JWT format (#123) ## ✨ Features - **auth**: Add OAuth support for Google and GitHub (#124) - **ui**: New dashboard with real-time metrics (#125) ## 🐛 Bug Fixes - **api**: Handle null responses gracefully (#126) - **auth**: Fix token refresh race condition (#127) ## 🔧 Improvements - **core**: Optimize database queries - 40% faster (#128) --- **Full Changelog**: https://github.com/boudydegeer/scrum-claude/compare/vX.Y.Z-1...vX.Y.Z ``` ### Step 4: Create GitHub Release ```bash gh release create vX.Y.Z \ --title "Release vX.Y.Z" \ --notes-file RELEASE_NOTES.md ``` ## Configuration In `.scrum-claude.json`: ```json { "releaseNotes": { "includeCommitHash": true, "includeIssueLinks": true, "groupByScope": false, "excludeTypes": ["style", "test", "chore"] } } ``` ## Output Files - `CHANGELOG.md` - Appended with new version - `RELEASE_NOTES.md` - Current release only (temp file) - GitHub Release - Created via `gh release create`