This automates the tedious part of keeping CHANGELOG.md current by pulling commits since your last release and formatting them into proper changelog entries. It finds your latest tag, grabs all commits since then, and writes them into the Unreleased section with linked hashes and one-line summaries. It even tries to detect and link to PRs instead of raw commits when it can. The format is opinionated but sensible: one commit, one line, no fluff. If you maintain a keepachangelog-style file and want to stop manually copy-pasting git log output before every release, this handles the grunt work and lets you focus on editing the lines that actually matter.

GitHub stars
1.3K
last updated
Jun 11, 2026

Install

$ npx -y skills add codeaholicguy/ai-devkit --skill changelog --agent claude-code

Installs into .claude/skills of the current project.

Files

Changelog

Update the top Unreleased list in CHANGELOG.md from commits after the latest release.

Workflow

  1. Find the latest release base:
    • Prefer the latest reachable tag: git describe --tags --abbrev=0.
    • If there are no tags, search recent history for a release commit and use that hash.
  2. Get commits: git log <base>..HEAD --reverse --format='%H%x09%s'.
  3. Derive the GitHub repo URL from git remote get-url origin.
  4. For each commit, add one concise changelog line:
    • Format: - [<short-hash>](<url>) <one-line summary>
    • If the commit clearly relates to a PR, link the hash to the PR URL instead of the commit URL.
    • Detect PRs from subjects like (#123), merge commits, or gh pr list --search <hash> --state all --json number,url.
  5. Insert the new lines into the top Unreleased section/list in CHANGELOG.md.
    • If no Unreleased section exists, create one at the top.
    • Do not create a dated release heading unless the user asks for a release.

Rules

Sponsors

Details

Repository
github.com/codeaholicguy/ai-devkit
Categories
Git & Pull Requests, AI & Agent Building, Release Management
First seen
Jun 11, 2026

More from codeaholicguy/ai-devkit

All 12
1composiohq avatarchangelog-generatorcomposiohq/awesome-claude-pluginsAutomatically creates user-facing changelogs from git commits by analyzing commit history, categorizing changes, and transforming technical commits into clear, 0skills.sh installs
2dinerojs avatarcommitdinerojs/dinero.jsCreate a git commit with optional automatic Linear issue linking. Use when the user asks to commit.0skills.sh installs
3github avataraws-well-architected-reviewgithub/awesome-copilotPerform an AWS Well-Architected Framework review of the current workload IaC and architecture, generating findings and GitHub issues for improvements.0skills.sh installs
4joshuadavidthomas avatargit-helperjoshuadavidthomas/opencode-agent-skillsProvides git workflow assistance, branch management, and commit message optimization0skills.sh installs
5n8n-io avatarcreate-prn8n-io/n8nCreates GitHub pull requests with properly formatted titles that pass the check-pr-title CI validation. Use when creating PRs, submitting changes for review, or0skills.sh installs
6open-gitagent avatarcode-reviewopen-gitagent/opengapReviews code diffs and files for security vulnerabilities (OWASP Top 10), error handling, complexity, naming conventions, and performance issues. Use when the u0skills.sh installs