Agent skill

AI Changelog

by sammcj in sammcj/agentic-coding

Set up an AI-driven changelog system in any project, code or not.

Apache-2.0Auto-check: notesDevelopment

Install AI Changelog

skills CLI
$ npx skills add sammcj/agentic-coding --skill ai-changelog -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install sammcj/agentic-coding ai-changelog --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/sammcj/agentic-coding.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Skills/ai-changelog .claude/skills/ai-changelog && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
ai-changelog
GitHub stars
162
Token cost
~2k tokens
SKILL.md length
989 words
Files
6 (incl. scripts, references)
Skills in repo
64
Repo updated
First seen
Licence
Apache-2.0

At a glance

Set up an AI-driven changelog system in any project, code or not.

  • Works in 9 steps: Detect the build system: Check for… → Check whether this is a software project… → Read the scheme reference that matches… → …
  • The user wants to add
  • SKILL.md covers Setup workflow, Project detection, How the script works and Gotchas
  • Runs Python scripts from its folder; calls uv, git and python3

What it does

AI Changelog is an agent skill from sammcj/agentic-coding. Set up an AI-driven changelog system in any project, code or not. Suitable for both software projects and for non-code projects. Creates a CHANGELOG.md and instructions for agents to log changes. Use when the user wants to add or improve automated changelog management, AI-friendly changelog workflows, version stamping, or set up a changelog system for a new or existing project.

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `references/calver.md`, `references/changelog-template.md` and `references/dated.md`).

It sits in Development, covering Changelog and release notes. The repository describes itself as: Agentic Coding Rules, Templates etc... The licence is Apache-2.0.

When your agent uses it

  • The user wants to add
  • Improve automated changelog management
  • AI-friendly changelog workflows
  • Version stamping

Example prompts

  • “/ai-changelog”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Bash, Glob, Grep

Workflow steps

9 steps, taken from the first numbered list in SKILL.md.

  1. Detect the build system: Check for Makefile, Justfile, package.json, Cargo.toml, pyproject.toml, go.mod. Note which config files contain a…
  2. Check whether this is a software project at all. If there's no build system from step 1 and no version convention (a docs repo, writing or…
  3. Read the scheme reference that matches the chosen scheme. It contains the build integration recipes, CLAUDE.md snippet, GitHub Actions…
  4. Ask the user about optional features (CalVer/SemVer only; skip for Dated mode)
  5. Generate or update CHANGELOG.md. For CalVer/SemVer use references/changelog-template.md; for Dated use the template in…
  6. Copy scripts/version.py from this skill into the target project's scripts/ directory. Make it executable (chmod +x). Skip in Dated mode…
  7. Apply the scheme reference: follow the build-integration recipe from the chosen reference file. Add targets to the existing build system…
  8. Update CLAUDE.md with the snippet from the chosen scheme reference. Insert into the project's development workflow section, or create one…
  9. Verify

What it can do on your machine

Read from SKILL.md and the folder at commit 2f25ced. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Bash
    • Glob
    • Grep

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • uv
    • git
    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use uv and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

AI Changelog loads about 2k tokens when it runs, and up to ~6.3k if it reads all its reference files. Until then it costs about 98 tokens; SKILL.md has 989 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~98
When it runs · the whole SKILL.md, loaded when a task matches
~2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Write, Edit, Bash, Glob, Grep

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from sammcj/agentic-coding at commit 2f25ced, republished under its Apache-2.0 licence (© sammcj). 989 words, ~2,007 tokens.

Download SKILL.mdSave it as .claude/skills/ai-changelog/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
ai-changelog
description
Set up an AI-driven changelog system in any project, code or not. Suitable for both software projects and for non-code projects. Creates a CHANGELOG.md and instructions for agents to log changes. Use when the user wants to add or improve automated changelog management, AI-friendly changelog workflows, version stamping, or set up a changelog system for a new or existing project.
allowed-tools
Read, Write, Edit, Bash, Glob, Grep

AI-Driven Changelog

Set up a changelog system AI agents maintain during development. Two shapes, chosen by project type:

  • Software projects: agents write entries under ## [Unreleased]; automation stamps version numbers at release time (CalVer or SemVer). No agent ever writes version numbers; the build process handles that.
  • Non-code projects (no build system): agents add terse bullets under a date heading (## YYYY-MM-DD) by hand. No script, no version numbers. See references/dated.md.

Setup workflow

  1. Detect the build system: Check for Makefile, Justfile, package.json, Cargo.toml, pyproject.toml, go.mod. Note which config files contain a "version" field.

  2. Check whether this is a software project at all. If there's no build system from step 1 and no version convention (a docs repo, writing or notes vault, content site, research or config collection), use Dated mode: date-based changelog headings, no version script, no build integration. Skip straight to references/dated.md and ignore the script/build steps below. Otherwise, detect the versioning scheme by inspecting (highest confidence first):

    • CHANGELOG.md heading style: ## [YYYY.M.N] headings → CalVer; ## [X.Y.Z] headings or prose mentioning "SemVer" → SemVer
    • Git tags from git tag --list | head: vX.Y.Z → SemVer; YYYY.M.N → CalVer
    • VERSION file with content matching ^[0-9]+\.[0-9]+\.[0-9]+ → SemVer
    • Manifest version field (package.json, Cargo.toml, pyproject.toml) matching X.Y.Z → SemVer

    If signals are absent or contradictory, ask the user. Suggest SemVer for projects with established version history (existing tags, manifest versions, prior changelog entries) and CalVer for greenfield projects where automatic versioning is preferable. Each scheme has trade-offs documented in its reference file.

  3. Read the scheme reference that matches the chosen scheme. It contains the build integration recipes, CLAUDE.md snippet, GitHub Actions pattern, and scheme-specific gotchas:

    • CalVer → references/calver.md
    • SemVer → references/semver.md
    • Dated (non-code projects) → references/dated.md
  4. Ask the user about optional features (CalVer/SemVer only; skip for Dated mode):

    • Pinned ## Known Bugs section above ## [Unreleased]? (default: yes)
    • GitHub Actions release workflow integration? (default: skip unless asked)
  5. Generate or update CHANGELOG.md. For CalVer/SemVer use references/changelog-template.md; for Dated use the template in references/dated.md. If a CHANGELOG.md already exists, do NOT overwrite it; insert the HTML comment and the appropriate structure (## [Unreleased] for CalVer/SemVer, today's date heading for Dated) above existing entries.

  6. Copy scripts/version.py from this skill into the target project's scripts/ directory. Make it executable (chmod +x). Skip in Dated mode - there is no script.

  7. Apply the scheme reference: follow the build-integration recipe from the chosen reference file. Add targets to the existing build system, or create a minimal Makefile if none exists. Skip in Dated mode - there is no build integration.

  8. Update CLAUDE.md with the snippet from the chosen scheme reference. Insert into the project's development workflow section, or create one. In Dated mode this is the only mechanism that keeps the changelog current, so make sure the snippet lands. Add "Squash changes within the same day/version (do not add changes to changes)." Keep the snippet's what-to-log and entry-length rules intact - they are what stops agents logging trivia and writing paragraphs for simple changes.

  9. Verify:

    • CalVer: uv run scripts/version.py version should print today's CalVer; then uv run scripts/version.py stamp --dry-run previews the stamp
    • SemVer: uv run scripts/version.py stamp --version <current-version> --dry-run --changelog-only previews the stamp without touching the canonical version source
    • Dated: confirm CHANGELOG.md has today's date heading and the CLAUDE.md snippet is in place; nothing to run

Project detection

Indicator, then what to stamp and how to integrate:

  • Makefile - stamp whatever config files the project has; add make targets
  • Justfile - same config files; add just recipes
  • package.json - stamp package.json; add npm scripts, or a Makefile
  • Cargo.toml - stamp Cargo.toml; Makefile wrapper
  • pyproject.toml - stamp pyproject.toml; Makefile wrapper
  • go.mod - stamp VERSION if present, otherwise nothing; Makefile wrapper
  • VERSION file - stamp VERSION; Makefile wrapper
  • No build system, code project - nothing to stamp; create a minimal Makefile
  • No build system, non-code project - Dated mode: no script, no Makefile
Show full SKILL.md (365 more words)Show less

How the script works

scripts/version.py subcommands:

  • version: prints today's CalVer to stdout (CalVer projects only)
  • stamp: replaces ## [Unreleased] with ## [VERSION] - DATE, re-inserts a fresh ## [Unreleased], and stamps version into auto-discovered config files (package.json, Cargo.toml, pyproject.toml, tauri.conf.json, VERSION)

Flags: --version X.Y.Z (required for SemVer; optional override for CalVer), --dry-run, --changelog-only, --no-changelog.

The script is scheme-agnostic. With no --version, it auto-computes CalVer; with --version, it stamps whatever string you give it. Validation lives in the build system, so SemVer recipes always pass --version and reject malformed input before invoking the script. See references/semver.md for why this split matters.

Run via uv run scripts/version.py stamp or python3 scripts/version.py stamp (no external dependencies).

Gotchas

  • Never overwrite existing changelog history. If a CHANGELOG.md exists with content, merge the [Unreleased] structure into it rather than replacing the file.
  • Empty Unreleased section: stamping is a no-op if [Unreleased] has no content. This prevents empty version entries.
  • fetch-depth: 0 in CI for CalVer: CalVer uses git rev-list --count HEAD. Shallow clones produce wrong commit counts.
  • A changelog is not a commit log. Two rules keep it useful, and both must appear in the HTML comment and the CLAUDE.md snippet: log only reader-visible changes (git history covers the rest), and keep entries to one line unless the change is genuinely complex. Without them agents log formatting tweaks and write paragraphs for one-line fixes.
  • The HTML comment is the agent's instruction source. The <!-- AI agents: ... --> comment in CHANGELOG.md tells future agents how to write entries. Don't omit it.
  • Known Bugs stays pinned. The stamp script preserves ## Known Bugs above ## [Unreleased]. If you add it, agents should maintain it there.
  • SemVer + auto-CalVer = silent footgun. If a Makefile in a SemVer project calls python3 scripts/version.py stamp without --version, the script auto-computes CalVer and writes that into the changelog. The recipes in references/semver.md always pass --version; preserve that contract in any custom integration.
  • Config file stamping is first-match-only for TOML. The regex replaces only the first version = "..." line, which is the package version. Dependency versions are unaffected.
  • VERSION file stamping requires existing semver-shaped content. The script's VERSION handler only rewrites the file if its current content matches ^\d+\.\d+\.\d+. Build numbers, tag-prefixed versions, or other formats are left alone.

© sammcj, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in Skills/ai-changelog of sammcj/agentic-coding.

  • SKILL.md
  • references/calver.md
  • references/changelog-template.md
  • references/dated.md
  • references/semver.md
  • scripts/version.py

Open the folder on GitHubat commit 2f25ced

Compare with similar skills

AI Changelog next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

AI Changelog compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
AI Changelog this skillsammcj/agentic-coding162—~2kAutomated safety check: NotesApache-2.0
Simple Englishmoeru-ai/airi50k2 repos~4.6kAutomated safety check: PassMIT
StarRocks Release NotesStarRocks/starrocks12k—~1.9kAutomated safety check: NotesApache-2.0
Cutting A ReleaseTriliumNext/Trilium38k—~3.2kAutomated safety check: PassAGPL-3.0
Rea Changelog Updatemorluto/rea80k—~1.9kAutomated safety check: PassMIT
Mole CLI Release Flowtw93/Mole70k—~2.6kAutomated safety check: PassGPL-3.0

Similar skills

  • Simple English

    moeru-ai/airi

    Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.

    50k GitHub starsUsed in 2 repos~4.6k tokens
    DevelopmentAuto-check passed
  • StarRocks Release Notes

    StarRocks/starrocks

    Drafts English release notes for a StarRocks patch release from the PRs merged into its release branch, then opens a documentation PR and hands translation to /translate.

    12k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check: notes
  • Cutting A Release

    TriliumNext/Trilium

    A skill your agent uses when cutting, preparing, or debugging a Trilium release — bumping the monorepo version, tagging, or diagnosing a failed "Release" workflow run.

    38k GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Prepare or rewrite REA release changelogs and GitHub release notes from pinned Git history, with verified contributor thanks and Release Please synchronization.

    80k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Runbook for assessing and executing a Mole CLI release: distribution channels, pre-flight checks, capital-V tags, build artifacts and the handoff to curated release notes.

    70k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • React Router Release Notes Prep

    remix-run/react-router

    Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.

    57k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed

More from sammcj/agentic-coding

All 64 skills in this repo
  • Yue2 Music

    sammcj/agentic-coding

    A skill your agent uses when generating songs with YuE2, covering a recording via SheetSage2 audio-to-ABC, editing a score or lyrics with melody preservation, or building a reproducible listening…

    162 GitHub stars~2.3k tokensUpdated 2 days ago
    Auto-check passed
  • Bento Slides

    sammcj/agentic-coding

    A skill your agent uses when creating or editing Bento (.bento.html) slide decks, including any request for a single-file HTML slide deck.

    162 GitHub stars~2.9k tokensUpdated 2 days ago
    Auto-check passed
  • Idrive Backup

    sammcj/agentic-coding

    A skill your agent uses whenever the user wants you to manage, discuss or diagnose iDrive Backup configuration on macOS

    162 GitHub stars~1.7k tokensUpdated 2 days ago
    Auto-check: notes
  • Piper Tts Training

    sammcj/agentic-coding

    Train custom TTS voices for Piper (ONNX format) using fine-tuning or from-scratch approaches.

    162 GitHub stars~1.4k tokensUpdated 2 days ago
    Auto-check passed
  • PPTX To Md

    sammcj/agentic-coding

    Convert a PPTX slide deck into per-slide markdown that preserves both the verbatim text and the meaning of embedded screenshots, diagrams and charts in their original layout positions.

    162 GitHub stars~1.8k tokensUpdated 2 days ago
    Auto-check passed
  • Skill Creator Primer

    sammcj/agentic-coding

    You MUST load this skill before the skill-creator skill AND before making ANY change to, or conducting a review of ANY Agent Skill.

    162 GitHub stars~9.8k tokensUpdated 2 days ago
    Auto-check passed

Categories

Questions about AI Changelog

What does AI Changelog do?

Set up an AI-driven changelog system in any project, code or not. AI Changelog is an agent skill from sammcj/agentic-coding. Set up an AI-driven changelog system in any project, code or not.

When should I use AI Changelog?

AI Changelog fits situations like: the user wants to add; improve automated changelog management; AI-friendly changelog workflows; version stamping.

How do I install AI Changelog in Claude Code?

Run `npx skills add sammcj/agentic-coding --skill ai-changelog -a claude-code`. Or copy the skill folder (Skills/ai-changelog in sammcj/agentic-coding) into .claude/skills/ai-changelog in your project. Claude Code loads it when a task matches its description.

How do I install AI Changelog in Codex?

Run `npx skills add sammcj/agentic-coding --skill ai-changelog -a codex`. Or copy the skill folder (Skills/ai-changelog in sammcj/agentic-coding) into .agents/skills/ai-changelog in your project. Codex loads it when a task matches its description.

Can I use AI Changelog in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add sammcj/agentic-coding --skill ai-changelog -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ai-changelog, .gemini/skills/ai-changelog, .github/skills/ai-changelog and .opencode/skills/ai-changelog in your project.

What does AI Changelog need to run?

Going by SKILL.md and its folder, AI Changelog needs Python for the scripts in its folder and the command-line tools its instructions call (uv, git and python3). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Read, Write, Edit, Bash, Glob, Grep.

Does AI Changelog access the network?

SKILL.md contains no URLs. Its commands use uv and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is AI Changelog safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does AI Changelog use?

AI Changelog is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does AI Changelog use?

About 2k tokens (SKILL.md is roughly 8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.3k tokens, read only when the agent opens those files.

What are the alternatives to AI Changelog?

Skills that share tags, products or a category with AI Changelog: Simple English (moeru-ai/airi, 50k stars), StarRocks Release Notes (StarRocks/starrocks, 12k stars), Cutting A Release (TriliumNext/Trilium, 38k stars) and Rea Changelog Update (morluto/rea, 80k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains AI Changelog?

sammcj (a GitHub user) maintains it in sammcj/agentic-coding, which has 162 GitHub stars. The repository holds 64 skills in this directory. The repository was last updated on October 9, 2026.

Source: sammcj/agentic-coding on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.