From generate-changelog
Generate changelogs from git commit history between two tags or commits following the Keep a Changelog format from https://keepachangelog.com/en/1.1.0/. This skill should be used when users need to create structured changelogs for releases based on git commit messages.
npx claudepluginhub krfantasy/alsdiff --plugin generate-changelogThis skill uses the workspace's default tool permissions.
Automatically generate changelogs from git commit history following the Keep a Changelog format.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Automates semantic versioning and release workflow for Claude Code plugins: bumps versions in package.json, marketplace.json, plugin.json; verifies builds; creates git tags, GitHub releases, changelogs.
Automatically generate changelogs from git commit history following the Keep a Changelog format.
This skill reads git commit messages between two specified points (tags or commits) and generates a structured changelog in markdown format. It uses Conventional Commits parsing to categorize changes into standard sections.
Basic usage:
Generate a changelog between v1.0.0 and v2.0.0
Or with more specific parameters:
Create a changelog from tag v0.3.0 to v0.4.0 and save to CHANGELOG.md
--from and --to git refsParse the following patterns from user input:
| Pattern | Example | Extracted Values |
|---|---|---|
between X and Y | "between v1.0.0 and v2.0.0" | from=v1.0.0, to=v2.0.0 |
from X to Y | "from v0.3.0 to v0.4.0" | from=v0.3.0, to=v0.4.0 |
X...Y | "v1.0.0...v2.0.0" | from=v1.0.0, to=v2.0.0 |
save to FILE | "save to CHANGELOG.md" | output=CHANGELOG.md |
Default behavior when --from is omitted: use the previous tag
Default behavior when --to is omitted: use HEAD
Map Conventional Commits types to Keep a Changelog sections:
| Commit Type | Changelog Section |
|---|---|
feat: | Added |
fix: | Fixed |
change: | Changed |
deprecate: | Deprecated |
remove: | Removed |
security: | Security |
perf: | Changed (performance) |
refactor: | Omit (internal only) |
test: | Omit (internal only) |
docs: | Omit unless user-facing |
style: | Omit (internal only) |
ci: | Omit (internal only) |
build: | Omit (internal only) |
chore: | Omit (internal only) |
Non-conventional commits: Infer category from message content or place under "Other"
Generate a changelog between v1.0.0 and v1.1.0
Output:
## [1.1.0] - 2026-04-01
### Added
- New user authentication system
- Export to PDF functionality
### Fixed
- Memory leak in audio processing
- Crash on startup with older configuration files
Create a changelog from v0.3.0 to v0.4.0 and save to RELEASE_NOTES.md
Generate changelog from abc123 to def456
Create a changelog from the last tag to HEAD
What changed between v2.0.0 and v2.1.0?
Generated changelogs follow this structure:
## [VERSION] - YYYY-MM-DD
### Added
- Feature description
### Changed
- Modification description
### Deprecated
- Deprecation notice
### Removed
- Removal notice
### Fixed
- Bug fix description
### Security
- Security fix description
Empty sections are omitted.
scripts/gen_changelog.py - Core implementation scriptreferences/keep_a_changelog.md - Keep a Changelog specificationGenerate a changelog for v1.0.0 to v2.0.0, only include features and fixes
Create a detailed changelog from v0.1.0 to v0.2.0 including all commits
Generate changelog between tags and save to docs/releases/v1.0.0.md