Skip to content
Back to skills

Changelog

ASecurity

Generate or update CHANGELOG.md with an entry for the unreleased changes since the last git tag. Invoke when the user asks to cut a release, update the changelog, or summarize changes since v-something.

  • 86 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 5, 2026
ai-agentsbashgitsecurity

Security analysis

A100/100

Scanned June 5, 2026

npx -y skills add MuhammadUsmanGM/claude-code-best-practices --skill changelog --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Changelog?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Changelog
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/muhammadusmangm-changelog/badge)](https://www.skillsdirectory.com/skills/muhammadusmangm-changelog)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: changelog
description: Generate or update CHANGELOG.md with an entry for the unreleased changes since the last git tag. Invoke when the user asks to cut a release, update the changelog, or summarize changes since v-something.
allowed-tools: Bash(git tag:*), Bash(git log:*), Bash(git describe:*), Bash(git diff:*), Read, Edit, Write
---

# Changelog

Produce or update `CHANGELOG.md` in the Keep-a-Changelog format.

## Steps

1. `git describe --tags --abbrev=0` to find the most recent tag. If no tag exists, use the repo's first commit and tell the user there's no prior tag.
2. `git log <last-tag>..HEAD --oneline --no-merges` to enumerate commits.
3. Read the existing `CHANGELOG.md` if present. Match its headings, casing, and date format. If missing, create one with the Keep-a-Changelog header.
4. Group commits into sections — **Added, Changed, Fixed, Removed, Deprecated, Security** — by inspecting subject prefixes (`feat:` → Added, `fix:` → Fixed, `refactor:`/`perf:` → Changed, etc.). Merge trivial commits into one bullet.
5. Ask the user for the new version number (semver). Do not guess.
6. Insert a new `## [x.y.z] - YYYY-MM-DD` section above the previous release. Move "Unreleased" content in if present.
7. Show the diff before writing. Write only after confirmation.

## Rules

- Rewrite commit subjects into user-facing language. "feat: add FOO" → "Added FOO that does X."
- Drop internal-only commits (`chore(deps)`, CI-only changes) unless they affect consumers.
- Do not create a git tag. Do not commit. Hand the finished file back to the user.

## Output

Print the new section you added, then stop.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.