release-notes
Release Notes Generator
Generate comprehensive release notes by analyzing git history and GitHub activity.
Workflow
1. Determine Version Range
# List recent tags
git tag --sort=-creatordate | head -10
# Find commits since last tag
git log $(git describe --tags --abbrev=0)..HEAD --oneline
Ask user for:
- New version: Version number for this release (e.g., v1.2.0)
- Base reference: Previous tag or commit to compare from (default: latest tag)
2. Gather Changes
Run in parallel:
# Get commits since last release
git log <base>..HEAD --pretty=format:"%h %s" --no-merges
# Get merge commits (PRs)
git log <base>..HEAD --merges --pretty=format:"%h %s"
# Get merged PRs (if GitHub repo)
gh pr list --state merged --base main --json number,title,labels,author --limit 100
# Get closed issues linked to PRs
gh issue list --state closed --json number,title,labels --limit 100
3. Categorize Changes
Group changes by type based on commit prefixes and PR labels:
| Category | Commit Prefixes | PR Labels |
|---|---|---|
| Features | feat:, feature: |
enhancement, feature |
| Bug Fixes | fix:, bugfix: |
bug, fix |
| Performance | perf: |
performance |
| Documentation | docs: |
documentation |
| Breaking Changes | BREAKING:, !: |
breaking-change |
| Dependencies | deps:, chore(deps): |
dependencies |
| Other | chore:, refactor:, style:, test: |
- |
4. Generate Release Notes
Use this format for GitHub Releases:
## What's Changed
### Breaking Changes
- Description of breaking change (#PR)
### Features
- Add new feature X (#123) @author
- Implement Y functionality (#124) @author
### Bug Fixes
- Fix issue with Z (#125) @author
### Performance
- Improve loading speed by 50% (#126) @author
### Documentation
- Update README with new examples (#127) @author
### Other Changes
- Refactor internal APIs (#128) @author
## New Contributors
- @username made their first contribution in #123
**Full Changelog**: https://github.com/owner/repo/compare/v1.0.0...v1.1.0
5. Output
Save to RELEASE_NOTES.md in project root.
Optionally create GitHub release:
gh release create <version> --title "<version>" --notes-file RELEASE_NOTES.md
Tips
- Omit empty sections
- Link PR numbers:
(#123)auto-links on GitHub - Credit authors:
@username - Highlight breaking changes at the top
- Include upgrade instructions for breaking changes
More from luongnv89/skills
ollama-optimizer
Optimize Ollama configuration for the current machine's hardware. Use when asked to speed up Ollama, tune local LLM performance, or pick models that fit available GPU/RAM.
126logo-designer
Generate professional SVG logos from project context, producing 7 brand variants (mark, full, wordmark, icon, favicon, white, black) plus a showcase HTML page. Skip for raster-only logos, product illustrations, or full brand-guideline docs.
122code-optimizer
Analyze code for performance bottlenecks, memory leaks, and algorithmic inefficiencies. Use when asked to optimize, find bottlenecks, or improve efficiency. Don't use for bug-hunting code review, security audits, or refactoring without a perf goal.
76code-review
Review code changes for bugs, security vulnerabilities, and code quality issues — producing prioritized findings with specific fix suggestions. Don't use for performance tuning, writing new features from scratch, or generating test cases.
75idea-validator
Evaluate app ideas and startup concepts across market viability, technical feasibility, and competitive landscape. Use when asked to validate, review, or score a product idea. Don't use for writing a PRD, detailed go-to-market plans, or financial/investor pitch decks.
70test-coverage
Generate unit tests for untested branches and edge cases. Use when coverage is low, CI flags gaps, or a release needs hardening. Not for integration/E2E suites, framework migrations, or fixing production bugs.
63