MCPInstall

ai-changelog

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.

Installs
55
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/sammcj/agentic-coding --skill ai-changelog
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads ai-changelog automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

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

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.

FAQ

What does the ai-changelog skill do?

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.

How do I install ai-changelog?

Run npx skills add https://github.com/sammcj/agentic-coding --skill ai-changelog in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/ai-changelog/ (personal) or .claude/skills/ai-changelog/ (project).

Which AI agents can use ai-changelog?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is ai-changelog safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains ai-changelog?

It is published by sammcj in sammcj/agentic-coding. It has 55 recorded installs.

More from sammcj/agentic-coding

View all →

Critically analyse the reasoning in written content (articles, blogs, transcripts, reports), not code. Use only when explicitly asked to critically analyse or critique an argument.

AI & Agents2.4K installs

Applies the Diataxis framework to create or improve technical documentation. Use when being asked to write high quality tutorials, how-to guides, reference docs, or explanations, when reviewing documentation quality, or when deciding what type of documentation to create. Helps identify documentation types using the action/cognition and acquisition/application dimensions.

Docs & Writing615 installs

creating-development-plans

sammcj/agentic-coding

Creates structured development plans with phased task breakdowns, requirements, and QA checklists. Use when the user explicitly asks to create a dev plan, development plan, or document development requirements.

ghostty-config

sammcj/agentic-coding

Use when creating, editing or debugging Ghostty terminal configuration - config.ghostty files, config option names and their valid values, keybinds and key sequences, themes, fonts, shell integration, or ghostty + CLI actions. Covers macOS and Linux/GTK differences.

AI & Agents221 installs

code-simplification

sammcj/agentic-coding

Use this skill when you need to review and refactor code to make it simpler, more maintainable, and easier to understand. Helps with identifying overly complex solutions, unnecessary abstractions.

prompt-enhancer

sammcj/agentic-coding

Transform poor or overly simple prompts with expert-level framing. Use when the user explicitly asks to improve, refine, or rewrite a prompt, or wants help framing a request for another AI system. Do NOT use for authoring, reviewing, or migrating system prompts or skills targeting a specific Claude model.

AI & Agents184 installs

Popular ai & agents skills

View category →

google-agents-cli-publish

google/agents-cli

This skill should be used when the user wants to "publish an agent", "publish my ADK agent", "register an agent with Gemini", "publish to Gemini" (formerly Gemini Enterprise), or needs guidance on the agents-cli publish gemini command. Also use when the user wants to "manage agents in Agent Registry", "list/update/delete registered agents", or "register an MCP server". Covers ADK vs A2A registration modes, programmatic and interactive usage, flag reference, auto-detection from deployment metadata, Agent Registry fleet management, and troubleshooting. Part of the agents-cli skills suite. Do NOT use for deployment (use google-agents-cli-deploy).

AI & Agents513.9K installs

google-agents-cli-eval

google/agents-cli

This skill should be used when the user wants to "run an evaluation", "evaluate my agent", "evaluate my ADK agent", "write an eval dataset", "analyze eval failures", "compare eval results", "optimize agent", or needs guidance on the Gemini platform eval methodology and the Quality Flywheel. Covers eval metrics, dataset schema, LLM-as-judge scoring, and common failure causes. Applies to any agents-cli project, whatever framework the agent is written in. Do NOT use for agent API code patterns (ADK: use google-agents-cli-adk-code), deployment (use google-agents-cli-deploy), or project scaffolding (use google-agents-cli-scaffold).

AI & Agents513.5K installs

skill-creator

anthropics/skills

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

OfficialAI & Agents416.4K installs

codex-pet

prime-skills/runcomfy-agent-skills

Codex Pet generator on RunComfy. Build a Codex-compatible Codex Pet spritesheet.webp + pet.json from a single reference image, drop it into ${CODEXHOME:-$HOME/.codex}/pets/ / and Codex picks it up as a custom Codex Pet next to the 8 built-ins. This skill produces the exact Codex Pet atlas Codex expects (1536x1872 PNG/WebP, 8 cols x 9 rows, 192x208 cells, 9 animation states — idle, running-right, running-left, waving, jumping, failed, waiting, running, review). Calls OpenAI GPT Image 2 edit ONCE via the local RunComfy CLI as runcomfy run openai/gpt-image-2/edit to produce a canonical Codex Pet pose, then assembles all 9 animation rows programmatically with ImageMagick micro-transforms — no Codex Pro, no $imagegen, no OPENAIAPIKEY required, only RUNCOMFYTOKEN. Triggers on "codex pet", "create codex pet", "make codex pet", "hatch codex pet", "/hatch image", "desktop pet codex", "codex pets", "spritesheet.webp", or any explicit ask to build a custom pet for OpenAI Codex.

AI & Agents402.1K installs

full-output-enforcement

leonxlnx/taste-skill

Overrides default LLM truncation behavior. Enforces complete code generation, bans placeholder patterns, and handles token-limit splits cleanly. Apply to any task requiring exhaustive, unabridged output.

AI & Agents401K installs

executing-plans

obra/superpowers

Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available

AI & Agents245.7K installs