PluginBench
Skill
Review
Audit score 70

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
Prerequisites
  • Git repository with commit history
  • Node.js environment for running automation tools
  • Understanding of Conventional Commits format
Claude Code
Cursor
Windsurf
Cline

How to use changelog-automation

  1. 1.Define your team's commit message conventions and scopes (e.g., feat, fix, docs)
  2. 2.Configure commitlint to validate commit messages in your CI pipeline
  3. 3.Set up a changelog generation tool to parse Conventional Commits
  4. 4.Create a Keep a Changelog template with sections for Added, Changed, Fixed, Removed, and Breaking Changes
  5. 5.Automate changelog updates on each release by running the generation tool in your release workflow
  6. 6.Review generated changelog for accuracy and add manual highlights or upgrade guides as needed

Use cases

Good for
  • 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
Who it's for
  • 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

What commit format does this skill use?

Conventional Commits format, which uses prefixes like `feat:`, `fix:`, `docs:`, etc. Breaking changes are marked with `!` or a BREAKING CHANGE footer.

Can I manually edit the generated changelog?

The skill generates changelogs from commits; manual edits should be avoided to prevent conflicts. Instead, improve commit messages and re-generate.

How do I mark breaking changes?

Use `!` after the scope (e.g., `feat(api)!:`) or add a `BREAKING CHANGE:` footer in the commit body with migration details.

What if my project doesn't use Conventional Commits yet?

Start by defining your team's commit conventions and enforcing them with commitlint in CI. Existing commits can be migrated gradually.

Can this integrate with GitHub or GitLab releases?

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