Skip to content
Back to skills

Changelog

ASecurity

Creates and maintains CHANGELOG.md in Keep a Changelog format, including adding entries and cutting releases. Use when the user asks to update the changelog, add a changelog entry, or record a release.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 3, 2026
ai-agentsgobashgitsecurity

Security analysis

A100/100

Scanned September 3, 2026

npx -y skills add rikdc/ai-skills --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/rikdc-changelog/badge)](https://www.skillsdirectory.com/skills/rikdc-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: Creates and maintains CHANGELOG.md in Keep a Changelog format, including adding entries and cutting releases. Use when the user asks to update the changelog, add a changelog entry, or record a release.
user-invocable: true
argument-hint: "[--create] [--add-entry \"description\" --type TYPE] [--release X.Y.Z]"
allowed-tools: Read, Write(CHANGELOG.md), Edit(CHANGELOG.md), Bash(date:*), Bash(git add:*), Bash(git status:*), Bash(git commit:*), Bash(git log:*)
---

# Changelog - Keep a Changelog Maintenance

Maintains CHANGELOG.md in [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
format with [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Usage

- `/git-workflow:changelog --create` - Create CHANGELOG.md
- `/git-workflow:changelog --add-entry "description" --type TYPE` - Add an entry
- `/git-workflow:changelog --release X.Y.Z` - Cut a release

With no flags, infer the operation from the request. Categories: `added`,
`changed`, `deprecated`, `removed`, `fixed`, `security`.

## Skeleton

```markdown
# 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.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [1.2.3] - 2024-01-15

### Added

- User authentication
```

Category headings exist only where they have entries. Never write a heading
with a placeholder bullet under it.

## Operation: --create

1. Read CHANGELOG.md. If it exists, stop and report it — do not overwrite.
2. Write the skeleton above with an empty `## [Unreleased]` and no version
   sections.
3. Offer to seed it from `git log`, but do not do so unasked.

## Operation: --add-entry

1. Read CHANGELOG.md; run `--create` first if it is missing.
2. Reject a `--type` outside the six categories.
3. Append the entry as a bullet under `## [Unreleased]` and its `### <Type>`
   heading, adding that heading if absent.
4. Preserve the existing order of categories and the file's surrounding
   formatting.

## Operation: --release X.Y.Z

Check before writing, and stop with the reason if any fails:

- `## [Unreleased]` has at least one entry — nothing to release otherwise.
- `X.Y.Z` does not already appear in the file.
- `X.Y.Z` is higher than the most recent version present.

Then:

1. Get today's date with `date +%F`. Do not guess it.
2. Rename `## [Unreleased]` to `## [X.Y.Z] - YYYY-MM-DD`, keeping its entries.
3. Insert a fresh empty `## [Unreleased]` above it.
4. If the file uses link references at the bottom, add one for `X.Y.Z` and
   repoint `[Unreleased]` to compare against the new tag.

Do not tag, commit, or push unless asked.

## Entry Style

- One line per entry, describing a user-facing change.
- Lead with a verb: "Add session refresh endpoint", not "Added a new endpoint
  that lets users refresh sessions".
- No commit hashes, file paths, or internal refactors that users cannot observe.

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…