Create a CHANGELOG.md following keepachangelog.com conventions with version history backfilled from GitHub releases or git tags. Use when the user asks to \"create a changelog\", \"add a changelog\", \"initialize changelog\", \"start a changelog\", \"set up changelog\", \"generate changelog\", or \"backfill changelog\".
Scanned 9/3/2026
Install to Claude Code
npx -y skills add tobihagemann/turbo --skill create-changelog --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Create Changelog?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tobihagemann-create-changelog-turbo)More formats (shields.io, HTML) on the badges page.
---
name: create-changelog
description: "Create a CHANGELOG.md following keepachangelog.com conventions with version history backfilled from GitHub releases or git tags. Use when the user asks to \"create a changelog\", \"add a changelog\", \"initialize changelog\", \"start a changelog\", \"set up changelog\", \"generate changelog\", or \"backfill changelog\"."
---
# Create Changelog
Create a changelog backfilled with version history.
## Step 1: Run `$changelog-rules` Skill
Run the `$changelog-rules` skill to load shared changelog conventions.
## Step 2: Check for Existing Changelog
Use `git rev-parse --show-toplevel` to find the repository root. Look for the changelog file per `$changelog-rules`. If it already exists, use `request_user_input` to confirm overwriting it. If the user declines (chooses the free-form "Other" option or asks to abort), stop without running the remaining steps.
## Step 3: Backfill Version History
Collect release history from the most authoritative source available:
1. **GitHub releases** (preferred): Run `gh release list --limit 100 --json tagName,name,publishedAt,body` to get release notes. For each release, parse the body into changelog entries.
2. **Git tags** (fallback): If no GitHub releases exist, run `git tag --sort=-v:refname` to list tags. For each consecutive tag pair, run `git log <older-tag>..<newer-tag> --oneline` to collect commit summaries.
For each version, classify entries into the standard change types and apply the changelog-worthiness criteria per `$changelog-rules`.
## Step 4: Write Changelog
Write the changelog following the `$changelog-rules` file structure and conventions.
## Step 5: Present the Result
Briefly summarize how many versions were backfilled and which source was used (GitHub releases or git tags).
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!