Skill changelog
Skill jzills/claude-marketplace/plugins/skill-changelog/skills/skill-changelog
A Claude Code plugin marketplace with skills for git workflows, code quality, safety, and more.
npx -y skills add jzills/claude-marketplace --skill skill-changelogAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Use this skill whenever a skill is being created, modified, or improved — including when writing or editing a SKILL.md, adding/removing references, updating scripts, or changing a skill description. Also trigger when a user says "add a changelog", "track skill changes", "initialize changelog", "update the changelog for this skill", "switch to auto", or "switch to opt-in". This skill must run as part of any skill editing workflow to ensure CHANGELOG.md stays current.
SKILL.md
6.7 KB, as published. Nobody here has run it
Skill Changelog
Maintain a CHANGELOG.md inside the directory of any skill being worked on. Every meaningful edit to a skill warrants a dated, versioned entry.
Skill Locations
Skills live in one of two places — both are valid targets:
- Standalone skills:
~/.claude/skills/<skill-name>/or.claude/skills/<skill-name>/ - Plugin skills:
~/.claude/plugins/marketplaces/<marketplace>/plugins/<plugin>/skills/<skill-name>/— or in marketplace repos:plugins/<plugin>/skills/<skill-name>/
CHANGELOG.md location depends on context — see Location Detection below.
Location Detection
Before writing CHANGELOG.md, determine where it belongs:
- Resolve the real path of the
SKILL.mdbeing edited — the path may be a symlink (e.g.~/.claude/skills/<name>/SKILL.mdsymlinked to a repo location):
Use the resolved canonical path for all directory traversal below.readlink -f <path-to-SKILL.md> - Start from the skill's root directory (the folder containing the resolved
SKILL.md). - Walk up the directory tree (up to 4 levels) looking for
.claude-plugin/plugin.json. - Plugin found: the directory containing
.claude-plugin/is the plugin root — placeCHANGELOG.mdthere. - Plugin not found: the skill is standalone — place
CHANGELOG.mdnext toSKILL.md.
Example — plugin skill (symlinked):
- Loaded via:
~/.claude/skills/create-release/SKILL.md(symlink) - Resolved to:
[repo]/plugins/release-workflow/skills/create-release/SKILL.md - Found:
[repo]/plugins/release-workflow/.claude-plugin/plugin.json - CHANGELOG:
[repo]/plugins/release-workflow/CHANGELOG.md
Example — standalone skill:
- Skill dir:
~/.claude/skills/conventional-commits/ readlink -freturns same path (not a symlink)- No
.claude-plugin/plugin.jsonfound walking up - CHANGELOG:
~/.claude/skills/conventional-commits/CHANGELOG.md
Plugin-level entry format
When CHANGELOG.md is shared across multiple skills in a plugin, prefix each bullet
with the skill name so it's clear what changed:
### Added
- `create-release`: initial skill — orchestrates version detection, release branch, CI monitoring, PR creation
- `monitor-pipeline`: initial skill — watches GitHub Actions run, reports pass/fail
Operating Modes
The active mode is stored as plain text (opt-in or auto) in:
~/.claude/skills/.skill-changelog/mode
If the file does not exist, default to opt-in.
| Mode | Behavior |
|---|---|
opt-in | Only write to CHANGELOG.md if it already exists at the resolved CHANGELOG location (plugin root for plugin skills, skill dir for standalone), or the user explicitly initializes it via this skill |
auto | Always write — create CHANGELOG.md if absent, then append an entry |
Switching modes
When the user says anything like "switch to auto", "track all skills automatically", "go back to opt-in", or "manual only":
- Write the new mode value to
~/.claude/skills/.skill-changelog/mode - Confirm the change to the user
Standing Rule
Before finishing any skill editing task, silently apply this rule:
- Identify the skill's root directory (the folder containing the
SKILL.mdbeing edited) and run Location Detection to determine the resolved CHANGELOG location. - Read
~/.claude/skills/.skill-changelog/mode(default:opt-in) opt-inmode: proceed only ifCHANGELOG.mdalready exists at the resolved locationautomode: always proceed — createCHANGELOG.mdat the resolved location if absent, then append an entry
Do this without prompting the user.
CHANGELOG.md Initialization
When creating a new CHANGELOG.md, write this header first:
# Changelog
All notable changes to this skill will be documented in this file.
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
## [Unreleased]
<!-- Next release entries go here -->
Entry Format
Append entries in reverse-chronological order (newest at the top, below the header):
## [<version>] - <YYYY-MM-DD>T<HH:MM:SS>Z
### <Change Type>
- <concise description of what changed and why>
Change types
Use one or more per entry:
Added— new features, sections, references, or scriptsChanged— modifications to existing content or behaviorFixed— corrections to errors or wrong behaviorRemoved— deleted content or filesDeprecated— features marked for future removalSecurity— security-related updates
Versioning
Auto-infer the version bump — do not ask the user:
| Scope | Bump | Examples |
|---|---|---|
| Typo/wording fix, minor clarification | Patch x.x.N | Fixed a typo, rephrased a sentence |
| New section, new reference, behavior addition | Minor x.N.0 | Added a references/ doc, new workflow step |
| Complete rewrite, breaking intent change | Major N.0.0 | Rewrote the entire skill from scratch |
Start at 1.0.0 for the initial entry of a newly initialized changelog.
Timestamp
Use the current UTC time in ISO 8601 format: YYYY-MM-DDTHH:MM:SSZ.
Example Entry
## [1.1.0] - 2026-04-25T14:32:00Z
### Changed
- Expanded description to include additional trigger phrases to prevent undertriggering
### Added
- `references/schemas.md` with JSON schema for structured output validation
Behavior Reference
| Situation | Mode | Action |
|---|---|---|
User invokes /skill-changelog on skill with no CHANGELOG.md | either | Create file with header and first entry |
Organic skill edit, no CHANGELOG.md | opt-in | Do nothing |
Organic skill edit, no CHANGELOG.md | auto | Create CHANGELOG.md and add first entry |
Any skill edit, CHANGELOG.md exists | either | Append new versioned entry silently |
| Multiple skills modified in one session | either | Add an entry to each skill's changelog |
Skill is part of a plugin (.claude-plugin/plugin.json found) | either | Place CHANGELOG.md at plugin root, not skill dir |
| Multiple skills in same plugin modified in one session | either | Add one entry per skill to the shared plugin CHANGELOG, prefixing each bullet with the skill name |
| User requests mode change | — | Update mode file, confirm to user |
Gives 0 of the 12 instructions most readme changelog skills give
Counted across 471 of the 478 authors here whose files we hold, read 2026-08-06
- follow the Keep a Changelog formatin 31 of 471, across 26 files
- omit empty sectionsin 21 of 471
- Run from the git repository rootin 20 of 471, across 7 files
- save output directly to CHANGELOG.mdin 20 of 471, across 7 files
- Group commits into logical categoriesin 19 of 471, across 6 files
- Review the generated changelog before publishingin 19 of 471, across 6 files
- Apply changelog guidelines and brand voicein 18 of 471, across 5 files
- Exclude internal commits like refactoring and testsin 18 of 471, across 5 files
- Specify date ranges for focused changelogsin 17 of 471, across 4 files
- Convert technical commits into customer languagein 17 of 471, across 4 files
- group commits by conventional commit typein 14 of 471
- insert new entry below unreleased sectionin 14 of 471
Said here and by no other author read
- resolve real path of edited skill
- walk up directory tree to find plugin root
- place changelog at plugin root if plugin found
- place changelog next to skill file if standalone
- read active mode from mode file
- default to opt-in mode if mode file absent
Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.