changelog-automation
wshobson/agents
Automate changelog generation from commits and releases using Keep a Changelog and Conventional Commits.
What is changelog-automation?
Automate changelog generation from git commits, pull requests, and releases following Keep a Changelog format and Semantic Versioning. Use this skill when setting up release workflows, generating standardized release notes, or implementing Conventional Commits conventions across your team.
- Generate changelogs automatically from Conventional Commits
- Format release notes following Keep a Changelog standard
- Extract breaking changes and highlight key features
- Create semantic version-aware release documentation
- Validate commit message conventions with commitlint
- Integrate with GitHub/GitLab release workflows
How to install changelog-automation
npx skills add https://github.com/wshobson/agents --skill changelog-automation- Git repository with commit history
- Node.js environment for running automation tools
- Understanding of Conventional Commits format
How to use changelog-automation
- 1.Define your team's commit message conventions and scopes (e.g., feat, fix, docs)
- 2.Configure commitlint to validate commit messages in your CI pipeline
- 3.Set up a changelog generation tool to parse Conventional Commits
- 4.Create a Keep a Changelog template with sections for Added, Changed, Fixed, Removed, and Breaking Changes
- 5.Automate changelog updates on each release by running the generation tool in your release workflow
- 6.Review generated changelog for accuracy and add manual highlights or upgrade guides as needed
Use cases
- Automating changelog generation in CI/CD pipelines for each release
- Converting Conventional Commits into human-readable release notes with highlights and breaking changes
- Standardizing commit message formats across a team to enable automated changelog creation
- Generating GitHub release notes directly from commit history
- Managing semantic versioning and documenting API breaking changes
- Release engineers setting up automated deployment workflows
- Development teams adopting Conventional Commits
- Open source maintainers publishing regular releases
- Teams standardizing commit message conventions
- DevOps engineers building release automation
changelog-automation FAQ
Conventional Commits format, which uses prefixes like `feat:`, `fix:`, `docs:`, etc. Breaking changes are marked with `!` or a BREAKING CHANGE footer.
The skill generates changelogs from commits; manual edits should be avoided to prevent conflicts. Instead, improve commit messages and re-generate.
Use `!` after the scope (e.g., `feat(api)!:`) or add a `BREAKING CHANGE:` footer in the commit body with migration details.
Start by defining your team's commit conventions and enforcing them with commitlint in CI. Existing commits can be migrated gradually.
Yes, the generated changelog can be used to populate GitHub/GitLab release notes automatically in your CI/CD pipeline.
Full instructions (SKILL.md)
Source of truth, from wshobson/agents.
name: changelog-automation description: Automate changelog generation from commits, PRs, and releases following Keep a Changelog format. Use when setting up release workflows, generating release notes, or standardizing commit conventions.
Changelog Automation
Patterns and tools for automating changelog generation, release notes, and version management following industry standards.
When to Use This Skill
- Setting up automated changelog generation
- Implementing Conventional Commits
- Creating release note workflows
- Standardizing commit message formats
- Generating GitHub/GitLab release notes
- Managing semantic versioning
Core Concepts
1. Keep a Changelog Format
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## Detailed patterns and worked examples
Detailed pattern documentation lives in `references/details.md`. Read that file when the navigation tier above is insufficient.
## Summary
This release introduces dark mode support and improves checkout performance
by 40%. It also includes important security updates.
## Highlights
### ๐ Dark Mode
Users can now switch to dark mode from settings. The preference is
automatically saved and synced across devices.
### โก Performance
- Checkout flow is 40% faster
- Reduced bundle size by 15%
## Breaking Changes
None in this release.
## Upgrade Guide
No special steps required. Standard deployment process applies.
## Known Issues
- Dark mode may flicker on initial load (fix scheduled for v2.1.1)
## Dependencies Updated
| Package | From | To | Reason |
| ------- | ------- | ------- | ------------------------ |
| react | 18.2.0 | 18.3.0 | Performance improvements |
| lodash | 4.17.20 | 4.17.21 | Security patch |
Commit Message Examples
# Feature with scope
feat(auth): add OAuth2 support for Google login
# Bug fix with issue reference
fix(checkout): resolve race condition in payment processing
Closes #123
# Breaking change
feat(api)!: change user endpoint response format
BREAKING CHANGE: The user endpoint now returns `userId` instead of `id`.
Migration guide: Update all API consumers to use the new field name.
# Multiple paragraphs
fix(database): handle connection timeouts gracefully
Previously, connection timeouts would cause the entire request to fail
without retry. This change implements exponential backoff with up to
3 retries before failing.
The timeout threshold has been increased from 5s to 10s based on p99
latency analysis.
Fixes #456
Reviewed-by: @alice
Best Practices
Do's
- Follow Conventional Commits - Enables automation
- Write clear messages - Future you will thank you
- Reference issues - Link commits to tickets
- Use scopes consistently - Define team conventions
- Automate releases - Reduce manual errors
Don'ts
- Don't mix changes - One logical change per commit
- Don't skip validation - Use commitlint
- Don't manual edit - Generated changelogs only
- Don't forget breaking changes - Mark with
!or footer - Don't ignore CI - Validate commits in pipeline
Related skills
More from wshobson/agents and the wider catalog.
tailwind-design-system
Build production-ready design systems with Tailwind CSS v4, design tokens, and component libraries.
typescript-advanced-types
Master TypeScript's advanced type system: generics, conditional types, mapped types, and utility types for type-safe applications.
nodejs-backend-patterns
Build production-ready Node.js backends with Express/Fastify, middleware patterns, auth, and database integration.
python-performance-optimization
Profile and optimize Python code using cProfile, memory profilers, and performance best practices.
brand-landingpage
Brand-first landing page designer with guided interviews and Stitch-powered iteration.
python-testing-patterns
Implement comprehensive testing strategies with pytest, fixtures, mocking, and test-driven development.