Agent skill

Repomatic Changelog

by kdeldycke in kdeldycke/dotfiles

Draft, validate, consolidate, and fix changelog entries. An agent skill from kdeldycke/dotfiles.

BSD-2-ClauseAuto-check: notesDevelopment

Install Repomatic Changelog

skills CLI
$ npx skills add kdeldycke/dotfiles --skill repomatic-changelog -a claude-code

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

GitHub CLI
$ gh skill install kdeldycke/dotfiles repomatic-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/kdeldycke/dotfiles.git skills-src && mkdir -p .claude/skills && cp -r skills-src/dotfiles/.agents/skills/repomatic-changelog .claude/skills/repomatic-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
repomatic-changelog
GitHub stars
173
Token cost
~2.2k tokens
SKILL.md length
1,244 words
Files
1
Skills in repo
25
Repo updated
First seen
Licence
BSD-2-Clause

At a glance

Draft, validate, consolidate, and fix changelog entries. An agent skill from kdeldycke/dotfiles.

  • Works in 11 steps: Read the target section and git log for… → Reconcile against the end state, not the… → Merge entries that describe the same… → …
  • Tasks that involve Changelog and release notes
  • SKILL.md covers Context and Instructions
  • Calls git, uvx and uv

What it does

Repomatic Changelog is an agent skill from kdeldycke/dotfiles. Draft, validate, consolidate, and fix changelog entries.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Designed for Claude Code. Recommended model: Sonnet.

It sits in Development, covering Changelog and release notes. The repository describes itself as: 🍎 macOS dotfiles for Python developers. The licence is BSD-2-Clause.

When your agent uses it

  • Tasks that involve Changelog and release notes

Example prompts

  • “/repomatic-changelog”

Requirements

  • Compatibility (from SKILL.md): Designed for Claude Code. Recommended model: Sonnet.
  • Pre-approved tools (allowed-tools): Bash, Read, Grep, Glob, Edit, Write

Workflow steps

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

  1. Read the target section and git log for its range. For the unreleased section, use git log since the last release tag. For a released…
  2. Reconcile against the end state, not the commit trail. The changelog records the net diff from the last tag to HEAD. git log includes work…
  3. Merge entries that describe the same feature at different stages. Multiple bullets about adding tools to a registry, then migrating…
  4. Merge entries that describe infrastructure and its usage together. "Add binary download infrastructure" + "add 5 binary tools" + "migrate…
  5. Keep distinct user-facing changes as separate entries. A breaking config key change and a new CLI command are separate features even if…
  6. Keep the names users need, shed the rest. Tool names, config keys, CLI options, and breaking-change notes stay explicit. But consolidation…
  7. Remove implementation details that don't affect users: internal refactors, helper functions, test additions.
  8. Never leave the section empty. A heading with no bullets still gets tagged and published, and reads as broken to whoever scans the release…
  9. Order entries by category, breaking changes first: lead with Breaking: entries, then Deprecated: entries, then new features, then…
  10. Apply directly. Write the consolidated section to changelog.md without asking for approval. Summarize what was merged, dropped, or…
  11. Validate after writing. A bulk rewrite can introduce malformed markup, silently drop structure, or leave entries over-long. Run…

What it can do on your machine

Read from SKILL.md and the folder at commit 37173b9. 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:

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

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • uvx
    • uv

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

  • Network

    No URLs in SKILL.md. Its commands use git, uvx and uv, 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.

  • Compatibility

    Designed for Claude Code. Recommended model: Sonnet.

    From compatibility in the SKILL.md frontmatter.

Context cost

Repomatic Changelog loads about 2.2k tokens when it runs. Until then it costs about 19 tokens; SKILL.md has 1,244 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~19
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

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: Bash, Read, Grep, Glob, Edit, Write

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from kdeldycke/dotfiles at commit 37173b9, republished under its BSD-2-Clause licence (© kdeldycke). 1,244 words, ~2,167 tokens.

Download SKILL.mdSave it as .claude/skills/repomatic-changelog/SKILL.md (or your agent's skills folder).
name
repomatic-changelog
description
Draft, validate, consolidate, and fix changelog entries.
allowed-tools
Bash, Read, Grep, Glob, Edit, Write
compatibility
Designed for Claude Code. Recommended model: Sonnet.
argument-hint
[add|check|fix|consolidate [VERSION]|VERSION]

Context

!head -40 changelog.md 2>/dev/null || echo "No changelog.md found" !git log --oneline -10 2>/dev/null ![ -f repomatic/__init__.py ] && echo "CANONICAL_REPO" || echo "DOWNSTREAM"

Instructions

You help users manage their changelog.md file. See § Style rules below for how an entry must read.

Mechanical layer

The changelog.yaml workflow's fix-changelog job runs lint-changelog --fix in CI, checking release dates against PyPI, orphaned versions, over-long unreleased bullets, and released sections holding no entry. The check and fix subcommands below invoke the same tool locally. The add subcommand is purely analytical — it reviews git history and drafts entries, which no CI job does.

Determine invocation method
  • If the context above shows CANONICAL_REPO, use uv run repomatic.
  • Otherwise, use uvx -- repomatic.
  • Gate the uvx form with the supply-chain cooldown: uvx --exclude-newer '1 week' --exclude-newer-package repomatic=P0D -- repomatic. The window matches [tool.repomatic] minimum-release-age; repomatic itself is exempt because a fresh release must stay installable, while its dependency tree stays gated.
Argument handling
  • (default when $ARGUMENTS is empty): Run add then consolidate on the unreleased section, sequentially.
  • add: Review recent git commits and draft changelog entries. Place entries under the current unreleased section. Describe what changed, not how or why: one sentence per user-facing change, ~10-25 words. Mechanism, internal names, and rationale go in the commit and PR, not the entry.
  • check: Run <cmd> lint-changelog and report results. Explain each issue found.
  • fix: Run <cmd> lint-changelog --fix and show what was changed.
  • consolidate [VERSION]: Consolidate redundant entries in a changelog section. This is analytical work with no CLI equivalent — read the entries, compare against git log for the relevant range, and rewrite. See § Consolidation rules below. If VERSION is omitted, target the unreleased section. If VERSION is given (e.g., consolidate 6.8.0), target that released section instead — locate it in changelog.md by matching the heading, and use the git range between its tag and the previous tag (e.g., v6.7.0..v6.8.0).
  • A bare version number (e.g., 6.8.0 or v6.8.0) is shorthand for consolidate VERSION. Strip the v prefix if present.
Consolidation rules

Entries accumulate during development as features are built incrementally. Before release, they need consolidation. The goal is a changelog that reads as a release summary, not a development diary.

  1. Read the target section and git log for its range. For the unreleased section, use git log since the last release tag. For a released version like 6.8.0, use git log v6.7.0..v6.8.0 (derive the previous tag from the next heading in changelog.md).
  2. Reconcile against the end state, not the commit trail. The changelog records the net diff from the last tag to HEAD. git log includes work that was later undone or superseded, so verify every entry against the current code and docs (open pyproject.toml, the source, the docs) instead of trusting commit messages. Collapse a value that a later commit corrected into its final form: an entry bumping a dependency floor to one version, when a subsequent commit moved it higher, should state the higher version. Drop any change introduced and then reverted within the same cycle: a dependency pinned to a branch until a fix ships and unpinned once it did, or a temporary workaround added then deleted. It never reached a release, so it is a no-op for users.
  3. Merge entries that describe the same feature at different stages. Multiple bullets about adding tools to a registry, then migrating workflows for those tools, then wiring up their version pins — that is one feature ("add unified tool runner with 13 managed tools"), not twelve.
  4. Merge entries that describe infrastructure and its usage together. "Add binary download infrastructure" + "add 5 binary tools" + "migrate 5 workflow steps" = one bullet covering the feature end-to-end.
  5. Keep distinct user-facing changes as separate entries. A breaking config key change and a new CLI command are separate features even if they landed in the same development cycle.
  6. Keep the names users need, shed the rest. Tool names, config keys, CLI options, and breaking-change notes stay explicit. But consolidation cuts per-entry length, not just bullet count: a merged entry is one short sentence naming the feature, not a paragraph stacking every mechanism and rationale from the bullets it replaced. Target ~10-25 words; push implementation detail and "why" to the commit, PR, code comment, or docs/.
  7. Remove implementation details that don't affect users: internal refactors, helper functions, test additions. Also strip upstream issue commentary: trailing prose that links to upstream tickets and narrates their status ("Click does not ship an equivalent: the upstream conversation is in pallets/click#NNNN (open)…", "mirrors the upstream fix in PR …#NNNN"). The status rots within days and the prose duplicates what the linked thread already says. A bare upstream link is acceptable on a direct backport entry; longer rationale belongs in a code comment, docstring, or PR body.
  8. Never leave the section empty. A heading with no bullets still gets tagged and published, and reads as broken to whoever scans the release notes. When rules 02-07 collapse the unreleased section to zero bullets and the net cycle is genuinely mechanical, backfill one generic bullet naming what moved — e.g. "Sync CI tooling, workflow pins and dependency floors with the latest repomatic release." This is a fallback for an empty net cycle, not a substitute for drafting: it fires only after add has had its own chance to draft real entries from git log. As the section's sole bullet it needs no category ordering.
  9. Order entries by category, breaking changes first: lead with **Breaking:** entries, then **Deprecated:** entries, then new features, then broad/global changes, then bug fixes, then documentation and testing. Breaking changes are what a reader scans for before upgrading, so they go at the top of the block. **Deprecated:** marks a surface that still resolves but warns and is slated for removal in a named future release.
  10. Apply directly. Write the consolidated section to changelog.md without asking for approval. Summarize what was merged, dropped, or reordered after writing.
  11. Validate after writing. A bulk rewrite can introduce malformed markup, silently drop structure, or leave entries over-long. Run <cmd> lint-changelog, which measures the bullet lengths against changelog.bullet-word-threshold — gate on what it reports, not on a delegated agent's self-report of how much it compressed. Then run <cmd> run mdformat --verify -- <file>, which reports what the write path would change without touching the file; a bare mdformat/mdformat --with mdformat-myst diverges on MyST directive colon-options like a {list-table}'s :header-rows:, so gate on the pinned runner. Confirm by eye what neither tool measures: rule 08 (its empty-section check covers released sections only, and deliberately skips the unreleased one you just consolidated, which is legitimately empty for most of a cycle), no doubled list markers (a stray - -), and the ## [...] heading count and availability-admonition count unchanged from before the edit. Breaking entries lead each section (rule 9).
Show full SKILL.md (121 more words)Show less
Style rules
  • Write bare versions in changelog headings, with no v prefix. The v prefix names a git tag, not a package version.
  • One bullet per user-facing change, one sentence of ~10-25 words, saying what changed rather than how it was built or why. A second sentence only flags a breaking change or a migration step.
  • Cut what the user cannot act on. Mechanism goes to the commit or PR; rationale goes to a code comment or docs/.
  • Mark a change breaking when a surface the reader uses is gone, so their code, invocation, config or workflow must change to keep working.
Next steps

Suggest the user run:

  • /repomatic-ship to reconcile the tree and drive the release to a ready-to-merge PR.

© kdeldycke, BSD-2-Clause. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in dotfiles/.agents/skills/repomatic-changelog of kdeldycke/dotfiles.

Open the folder on GitHubat commit 37173b9

Compare with similar skills

Repomatic 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.

Repomatic Changelog compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Repomatic Changelog this skillkdeldycke/dotfiles173—~2.2kAutomated safety check: NotesBSD-2-Clause
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
Mole CLI Release Flowtw93/Mole70k—~2.6kAutomated safety check: PassGPL-3.0
React Router Release Notes Prepremix-run/react-router57k—~1.1kAutomated safety check: PassMIT

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
  • 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
  • Release

    PrefectHQ/fastmcp

    Cut a FastMCP release end to end. An agent skill from PrefectHQ/fastmcp.

    28k GitHub stars~2.9k tokensUpdated today
    DevelopmentAuto-check passed

More from kdeldycke/dotfiles

All 25 skills in this repo
  • Agent Config Self Tune

    kdeldycke/dotfiles

    Audit and tune the configuration of coding agents across Claude Code and pi - settings files (settings.json, settings.local.json), permission rules, instruction files (CLAUDE.md, AGENTS.md), skill…

    173 GitHub stars~3.4k tokensUpdated yesterday
    Auto-check: notes
  • Audit Repo Issues

    kdeldycke/dotfiles

    Analyze a GitHub repository's issues and PRs to find unaddressed feature requests, dismissed ideas, maintenance signals, and opportunities relevant to the current project.

    173 GitHub stars~2.5k tokensUpdated yesterday
    Auto-check passed
  • Brand Assets

    kdeldycke/dotfiles

    Create project logo and banner SVGs, then export them to light and dark PNG variants.

    173 GitHub stars~4.7k tokensUpdated yesterday
    Auto-check passed
  • Fill Web Form

    kdeldycke/dotfiles

    Fill a web form using data extracted from local documents (PDFs, images, spreadsheets).

    173 GitHub stars~2.3k tokensUpdated yesterday
    Auto-check passed
  • Rename With Dates

    kdeldycke/dotfiles

    Rename documents and files (PDFs, images, screenshots, etc.) by reading their content to extract the effective/publication date, then renaming them with a "YYYY-MM-DD - Clear descriptive title.ext"…

    173 GitHub stars~3.5k tokensUpdated yesterday
    Auto-check passed
  • Repomatic Test Matrix

    kdeldycke/dotfiles

    Choose what a repository's CI test matrix covers. An agent skill from kdeldycke/dotfiles.

    173 GitHub stars~2.2k tokensUpdated yesterday
    Auto-check: notes

Categories

Questions about Repomatic Changelog

What does Repomatic Changelog do?

Draft, validate, consolidate, and fix changelog entries. An agent skill from kdeldycke/dotfiles. Repomatic Changelog is an agent skill from kdeldycke/dotfiles. Draft, validate, consolidate, and fix changelog entries.

When should I use Repomatic Changelog?

Repomatic Changelog fits situations like: tasks that involve Changelog and release notes.

How do I install Repomatic Changelog in Claude Code?

Run `npx skills add kdeldycke/dotfiles --skill repomatic-changelog -a claude-code`. Or copy the skill folder (dotfiles/.agents/skills/repomatic-changelog in kdeldycke/dotfiles) into .claude/skills/repomatic-changelog in your project. Claude Code loads it when a task matches its description.

How do I install Repomatic Changelog in Codex?

Run `npx skills add kdeldycke/dotfiles --skill repomatic-changelog -a codex`. Or copy the skill folder (dotfiles/.agents/skills/repomatic-changelog in kdeldycke/dotfiles) into .agents/skills/repomatic-changelog in your project. Codex loads it when a task matches its description.

Can I use Repomatic 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 kdeldycke/dotfiles --skill repomatic-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/repomatic-changelog, .gemini/skills/repomatic-changelog, .github/skills/repomatic-changelog and .opencode/skills/repomatic-changelog in your project.

What does Repomatic Changelog need to run?

Going by SKILL.md and its folder, Repomatic Changelog needs the command-line tools its instructions call (git, uvx and uv). Its frontmatter pre-approves these tools: Bash, Read, Grep, Glob, Edit, Write. Compatibility (from SKILL.md): Designed for Claude Code. Recommended model: Sonnet..

Does Repomatic Changelog access the network?

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

Is Repomatic 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. Review the folder before installing.

What licence does Repomatic Changelog use?

Repomatic Changelog is published under the BSD-2-Clause licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Repomatic Changelog use?

About 2.2k tokens (SKILL.md is roughly 8.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Repomatic Changelog?

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

Who maintains Repomatic Changelog?

kdeldycke (a GitHub user) maintains it in kdeldycke/dotfiles, which has 173 GitHub stars. The repository holds 25 skills in this directory. The repository was last updated on October 9, 2026.

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