From memstack
Generates a formatted CHANGELOG.md from git commit history, grouped by type and ready for release.
How this skill is triggered — by the user, by Claude, or both
Slash command
/memstack:changelog-generatorThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
*Produces a formatted CHANGELOG.md from git commit history, grouped by type and ready for release.*
Produces a formatted CHANGELOG.md from git commit history, grouped by type and ready for release.
| Trigger | Status |
|---|---|
| User says "generate changelog" or "update changelog" | ACTIVE |
| User says "what changed" or "release notes" | ACTIVE |
| User says "write changelog" or "changelog since" | ACTIVE |
| User wants to view git log only | NOT this skill — use git commands directly |
| User wants a diary entry | NOT this skill — use Diary |
Ask the user or infer from context:
| Parameter | Default | Example |
|---|---|---|
| Since tag/date | Last tag or last 7 days | v3.3.0, 2026-03-01 |
| Until | HEAD | v3.4.0, HEAD |
| Format | Keep a Changelog | Conventional, custom |
# Find the last tag
git describe --tags --abbrev=0 2>/dev/null || echo "No tags found"
# Get commits since last tag (or date)
git log --oneline --no-merges $(git describe --tags --abbrev=0 2>/dev/null || echo "HEAD~50")..HEAD
Parse each commit message and classify by prefix:
| Prefix | Category | Changelog Section |
|---|---|---|
feat: / feature: | Features | ### Added |
fix: / bugfix: | Bug Fixes | ### Fixed |
docs: | Documentation | ### Changed |
refactor: | Refactoring | ### Changed |
perf: | Performance | ### Changed |
test: | Tests | (omit unless user requests) |
chore: / build: / ci: | Maintenance | (omit unless user requests) |
BREAKING CHANGE or !: | Breaking | ### Breaking Changes |
| No prefix | Uncategorized | ### Other |
Follow Keep a Changelog format:
## [version] - YYYY-MM-DD
### Breaking Changes
- Description of breaking change ([commit-hash])
### Added
- New feature description ([commit-hash])
### Fixed
- Bug fix description ([commit-hash])
### Changed
- Refactor/improvement description ([commit-hash])
Writing rules:
# Check if CHANGELOG.md exists
ls CHANGELOG.md 2>/dev/null
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/),
and this project adheres to [Semantic Versioning](https://semver.org/).
## [version] - YYYY-MM-DD
...
Changelog entry for [version] ([date]):
- [N] features added
- [N] bugs fixed
- [N] changes
- [N] breaking changes
Ready to write to CHANGELOG.md? (prepend / overwrite / clipboard only)
npx claudepluginhub cwinvestments/memstack --plugin memstackAnalyzes git commit history to generate changelogs with semantic versioning, conventional commit categorization, and formats like Keep a Changelog, Conventional, or GitHub. Use for CHANGELOG.md updates, release notes, and version bumps.
Generates user-facing changelogs from git commits by categorizing changes and translating technical messages into customer-friendly release notes.
Generates user-friendly changelogs from git commit history by scanning, categorizing (features, fixes, etc.), filtering noise, and rephrasing technical details for customers.