changelog-generator

changelog-generator is a skill for Claude Code, Codex from espennilsen/pi. It costs 205 tokens per session (3,714 once invoked), scanned A, original, MIT.

A tool for turning a Git project's commit history into a CHANGELOG.md, a human-readable record of changes between releases.

In plain words
What is it for?
Use it to create or update release notes when a project uses Keep a Changelog, Conventional Commits, or other commit styles.
Why use it?
It filters out commit noise and organises meaningful changes, including possible breaking changes and links to related work.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to create or update release notes when a project uses Keep a Changelog, Conventional Commits, or other commit styles.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/espennilsen/pi/changelog-generator
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add espennilsen/pi --skill changelog-generator
Clone the repo
git clone --depth 1 https://github.com/espennilsen/pi

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for changelog-generator

README.md
[![agentmods](https://agentmods.dev/badge/skills/espennilsen/pi/changelog-generator/github.svg)](https://agentmods.dev/skills/espennilsen/pi/changelog-generator)
Your own site
<a href="https://agentmods.dev/skills/espennilsen/pi/changelog-generator"><img src="https://agentmods.dev/badge/skills/espennilsen/pi/changelog-generator/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for changelog-generator

Your own site · 80×15
<a href="https://agentmods.dev/skills/espennilsen/pi/changelog-generator"><img src="https://agentmods.dev/badge/skills/espennilsen/pi/changelog-generator.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 205 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 3,714 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe. Third-party audits
  • NVIDIA SkillSpector pass 7 Sept 2026
How audits are shown
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00205 $0.03714
Opus 5 $0.00102 $0.01857
Sonnet 5 $0.00041 $0.00743
Haiku 4.5 $0.00020 $0.00371

Measured 10d ago against content hash 59065b2d7213, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-09, from the pricing page.

Security

Grade A, and why

changelog-generator scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 10d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/changelog-generator/SKILL.md · 401 lines

How it starts

The opening of the file, as written. The whole thing — 401 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Changelog Generator

Parse a project's git history and produce a high-quality CHANGELOG.md following the Keep a Changelog convention.

Philosophy

A changelog is for humans, not machines. It answers: "What meaningful changes happened between version X and version Y?" Raw commit logs fail at this because they contain noise — typo fixes, merge commits, CI tweaks, and refactors that don't affect users. This skill filters signal from noise and writes entries that a user or contributor can actually understand.


Workflow

Phase 1 — Repository Analysis

Before generating anything, understand the project's commit and versioning patterns.

# 1. Check if we're in a git repo
git rev-parse --is-inside-work-tree 2>/dev/null

# 2. Get all tags (versions) sorted by date
git tag --sort=-creatordate | head -30

# 3. Detect versioning scheme
# SemVer: v1.2.3 or 1.2.3
# CalVer: 2025.01, 2025-01-15
# Other: named releases, build numbers
git tag --sort=-creatordate | head -10

# 4. Detect commit convention
# Sample recent commits to identify the pattern
git log --oneline -30

# 5. Check for existing changelog
cat CHANGELOG.md 2>/dev/null
cat HISTORY.md 2>/dev/null
cat CHANGES.md 2>/dev/null

# 6. Check for existing config that hints at convention
cat .commitlintrc* commitlint.config.* 2>/dev/null  # Commitlint
cat .czrc .cz.toml 2>/dev/null                       # Commitizen
cat cliff.toml 2>/dev/null                            # git-cliff
cat .versionrc* 2>/dev/null                           # standard-version

# 7. Get remote URL for PR/issue links
git remote get-url origin 2>/dev/null

# 8. Package manifest for current version
cat package.json 2>/dev/null | grep '"version"'
cat pyproject.toml 2>/dev/null | grep 'version'
cat Cargo.toml 2>/dev/null | grep '^version'

Extract from the analysis:

Fact How to determine
Commit convention Pattern match on recent commits (see detection rules below)
Versioning scheme Tag format analysis
Latest version/tag Most recent tag
Remote URL git remote get-url origin — needed for PR/issue links
Existing changelog Check for CHANGELOG.md or variants
Unreleased commits Commits since the latest tag

Read the full file on GitHub · 401 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 10d ago First seen · 401 lines · 205 tokens per session scan A 59065b2d7213

Subscribe to this mod's changes

changelog-generator is a skill published in the GitHub repository espennilsen/pi (116 stars, last pushed 17d ago), licensed MIT. It adds 205 tokens to every session and 3,714 once invoked, about $0.0010 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.