Agent skill

Creating Changelog Entries

by opsmill in opsmill/infrahub

A skill your agent uses when you've fixed a bug, added a feature, or made any user-facing change in a project that uses Towncrier and need to record it for the changelog — before committing or…

Apache-2.0Auto-check passedDevelopment

Install Creating Changelog Entries

skills CLI
$ npx skills add opsmill/infrahub --skill creating-changelog-entries -a claude-code

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

GitHub CLI
$ gh skill install opsmill/infrahub creating-changelog-entries --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/opsmill/infrahub.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/creating-changelog-entries .claude/skills/creating-changelog-entries && 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
creating-changelog-entries
GitHub stars
534
Token cost
~1.9k tokens
SKILL.md length
931 words
Files
1
Skills in repo
32
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when you've fixed a bug, added a feature, or made any user-facing change in a project that uses Towncrier and need to record it for the changelog — before committing or…

  • Youve fixed a bug
  • SKILL.md covers Overview, When to Use, Quick Reference and Fragment Location, plus 4 more sections
  • Calls uv and poetry
  • Added a feature

What it does

Creating Changelog Entries is an agent skill from opsmill/infrahub. Use when you've fixed a bug, added a feature, or made any user-facing change in a project that uses Towncrier and need to record it for the changelog — before committing or opening a PR, or whenever asked to add a changelog entry, towncrier fragment, or news fragment.

Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts. Compatibility notes: Requires the project to use Towncrier for changelog management — a configured Towncrier setup (e.g. [tool.towncrier] in pyproject.toml) and the towncrier CLI…

It sits in Development, covering Changelog and release notes. The repository describes itself as: Infrahub is a graph-based data management platform with built-in version control, CI workflows, peer review, and API access. It’s purpose-built to power reliable infrastructure… The licence is Apache-2.0.

When your agent uses it

  • Youve fixed a bug
  • Added a feature
  • Made any user-facing change in a project that uses Towncrier and need to record it for the changelog — before committing
  • Whenever asked to add a changelog entry

Example prompts

  • “/creating-changelog-entries”

Requirements

  • Python 3
  • Compatibility (from SKILL.md): Requires the project to use Towncrier for changelog management — a configured Towncrier setup (e.g. `[tool.towncrier]` in pyproject.toml) and the `towncrier` CLI available, typically via a Python runner such as uv or poetry.

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • uv
    • poetry

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

  • Network

    Links to these hosts (documentation or services it may open):

    • towncrier.readthedocs.io
    • keepachangelog.com

    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

    Requires the project to use Towncrier for changelog management — a configured Towncrier setup (e.g. `[tool.towncrier]` in pyproject.toml) and the `towncrier` CLI available, typically via a Python runner such as uv or poetry.

    From compatibility in the SKILL.md frontmatter.

Context cost

Creating Changelog Entries loads about 1.9k tokens when it runs. Until then it costs about 74 tokens; SKILL.md has 931 words of instructions outside code blocks.

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

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 passed

The automated check found no risky patterns in SKILL.md.

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 opsmill/infrahub at commit 4878077, republished under its Apache-2.0 licence (© opsmill). 931 words, ~1,896 tokens.

Download SKILL.mdSave it as .claude/skills/creating-changelog-entries/SKILL.md (or your agent's skills folder).
name
creating-changelog-entries
description
Use when you've fixed a bug, added a feature, or made any user-facing change in a project that uses Towncrier and need to record it for the changelog — before committing or opening a PR, or whenever asked to add a changelog entry, towncrier fragment, or news fragment.
compatibility
Requires the project to use Towncrier for changelog management — a configured Towncrier setup (e.g. `[tool.towncrier]` in pyproject.toml) and the `towncrier` CLI available, typically via a Python runner such as uv or poetry.

Creating Changelog Entries

Overview

Towncrier assembles the changelog from per-change "fragment" files — one small file per change, collected and rendered at release time. This skill applies to any project that uses Towncrier. Every issue fix or new feature should ship with a fragment, written short and user-facing: describe what changed, not how it was implemented.

Core rule: always create fragments with towncrier create, never hand-write them. The command derives the location and naming from the Towncrier config and places the fragment correctly from anywhere in the repo.

When to Use

  • You fixed a bug or added a feature and are about to commit or open a PR.
  • You're asked to "add a changelog entry", "create a news fragment", or "run towncrier".
  • A PR checklist or CI flags a missing changelog entry.

When NOT to use: the project doesn't use Towncrier; pure internal refactors with no user-facing or maintenance impact; and changes the team has explicitly decided don't warrant an entry. (The boundary for internal maintenance is below — don't add a housekeeping fragment by default.)

Exception — unreleased features need no fragment. A fix or follow-up to a feature that has not shipped in any release is not user-observable: the feature's own added fragment already covers everything a user will ever see, and a fixed entry for something never released is noise.

Exception — a stacked PR series carries one fragment, on the top PR. Intermediate PRs in a stack skip the fragment: per-PR fragments collide on the same issue-number stem and describe a surface the later PRs change again. State the deliberate skip in the intermediate PR's checklist instead of leaving the box silently unticked.

housekeeping is not a catch-all. It covers internal work a user could still notice — a build, tooling, or CI change. A change with no user-facing effect at all (an internal type annotation, a behavior-preserving refactor, a lint or type-checker config cleanup that touches no source code, cleanup of internal docs or spec scaffolding) gets no fragment. When it's unclear whether a change is user-facing, ask instead of adding one by default.

Quick Reference

bash
uv run towncrier create -c "content of changelog entry" ${ISSUE}.${TYPE}.md

These commands use uv run, which runs the project's pinned Towncrier and is the convention across these Python projects. If your project doesn't use uv, drop the prefix (towncrier create ...) or use its runner (e.g. poetry run towncrier ...).

  • ISSUE — issue ID, or + when no issue exists (e.g. +pnpm-workspaces). With an issue, the stem is the bare number and nothing else: Towncrier renders the whole stem through issue_format, so 1234-short-slug.fixed.md links to issue 1234-short-slug — a 404. Only orphan (+) fragments take a descriptive slug. Verify with towncrier build --draft when unsure.
  • TYPE — one of the change types below.
TypeUse For
addedNew features
changedChanges in existing functionality
deprecatedSoon-to-be removed features
removedNow removed features
fixedBug fixes
securitySecurity vulnerabilities
housekeepingInternal maintenance and tooling (build, CI, dev scripts)

The available types come from the project's Towncrier config ([tool.towncrier]); the set above is the common default. How a project classifies some changes is project-specific — dependency-version bumps in particular land under changed in some projects and housekeeping in others, so follow the project's changelog guide rather than assuming.

Show full SKILL.md (407 more words)Show less

Fragment Location

Fragments live in the directory Towncrier is configured to use (its directory setting — commonly the repo-root changelog/ or newsfragments/). towncrier create puts them there automatically — don't move them or hand-place them.

In a monorepo, they do not belong in a sub-package directory such as backend/changelog/ or frontend/changelog/. A fragment found there was hand-written in the wrong place and must move to the configured directory.

Exception: a nested package with its own Towncrier config (e.g. a submodule like Infrahub's python_sdk) keeps its own fragments in that package's configured directory — those stay put and must not be moved to the root.

Writing Good Messages

  • Write from the user's perspective.
  • Focus on what changed, not how.
  • Use past tense ("Fixed", "Added", "Removed").
  • Keep it concise — one sentence.
  • Avoid technical jargon.

Examples

bash
# Bug fix for issue #1234
uv run towncrier create -c "Fixed sidebar collapse issue" 1234.fixed.md

# New feature for issue #7549
uv run towncrier create -c "Added breadcrumb navigation for hierarchical schemas" 7549.added.md

# Housekeeping without an issue
uv run towncrier create -c "Migrated the frontend build to pnpm workspaces" +pnpm-workspaces.housekeeping.md

Common Mistakes

  • Getting the filename shape wrong. It is <issue-or-+slug>.<type>.md; the type segment is required, and a file without one is not picked up. Everything before it is either a GitHub issue number or a +-prefixed slug, because issue_format turns a bare name straight into a GitHub issue URL: IFC-2747.fixed.md ships a link to an issue that does not exist. The + marks the entry as an orphan and suppresses the link, so +ifc-2546-lorem-ipsum.changed.md is valid — but the ticket ID never appears in the output, so spend the slug on a description instead. Use a bare issue number only when the release note should link that GitHub issue; a change merely related to an issue — a follow-up, a separate fix found along the way — takes an orphan +slug, and the slug carries no metadata, so there is nothing to "fix" in an orphan name that lacks an issue ID.
  • Hand-writing the fragment file. Use towncrier create so the name and location are correct.
  • Placing it in a sub-package directory (e.g. backend/changelog/) instead of the configured fragments directory.
  • Describing the implementation. "Refactored the auth-token cache layer" → instead say what the user sees: "Fixed users being unexpectedly logged out".
  • Wrong tense or multiple sentences. One past-tense sentence.
  • Duplicating an existing fragment. On a feature branch spanning multiple PRs, list the fragments directory first — numbered (NNNN.type.md) and +-prefixed fragments all render into the changelog. If a fragment already describes the same user-visible change, extend or reconcile it instead of adding an overlapping one.

See Also

  • Towncrier documentation — fragment types, configuration, and CLI options.
  • Keep a Changelog — changelog best practices.
  • Your project's contributing or changelog guide for project-specific conventions (in Infrahub: docs/docs/development/changelog.mdx).

© opsmill, 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

Just SKILL.md in .agents/skills/creating-changelog-entries of opsmill/infrahub.

Open the folder on GitHubat commit 4878077

Compare with similar skills

Creating Changelog Entries 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.

Creating Changelog Entries compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Creating Changelog Entries this skillopsmill/infrahub534—~1.9kAutomated safety check: PassApache-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
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 yesterday
    DevelopmentAuto-check passed

More from opsmill/infrahub

All 32 skills in this repo
  • Analyzing CI Flakiness

    opsmill/infrahub

    Analyzes recent CI failures on pull requests to identify flaky tests, using retry outcomes (failed attempt → green re-run) and cross-PR recurrence as evidence, and maintains a local longitudinal…

    534 GitHub stars~2k tokensUpdated yesterday
    Auto-check passed
  • Audit Docs

    opsmill/infrahub

    Audits internal (dev/) and external (docs/) documentation completeness for a feature, subject, or set of existing docs, maps changes indicated by the user, across Infrahub's documentation layers…

    534 GitHub stars~1.5k tokensUpdated yesterday
    Auto-check passed
  • Commit

    opsmill/infrahub

    Stages and commits the current changes onto a safe working branch, enforcing branch discipline and optionally pushing upstream.

    534 GitHub stars~2.8k tokensUpdated yesterday
    Auto-check: notes
  • Creating Issues

    opsmill/infrahub

    Turns a single feature idea, improvement, or bug into ONE well-structured GitHub issue.

    534 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check passed
  • Creating Prd

    opsmill/infrahub

    Synthesises the current conversation context into a Product Requirements Document and publishes it to GitHub (as a comment on a referenced issue, or a new issue).

    534 GitHub stars~4k tokensUpdated yesterday
    Auto-check passed
  • Grilling Ideas

    opsmill/infrahub

    Stress-tests a fuzzy or vague feature idea before any PRD, spec, or ticket is written.

    534 GitHub stars~3.8k tokensUpdated yesterday
    Auto-check passed

Categories

Questions about Creating Changelog Entries

What does Creating Changelog Entries do?

A skill your agent uses when you've fixed a bug, added a feature, or made any user-facing change in a project that uses Towncrier and need to record it for the changelog — before committing or…. Creating Changelog Entries is an agent skill from opsmill/infrahub. Use when you've fixed a bug, added a feature, or made any user-facing change in a project that uses Towncrier and need to record it for the changelog — before committing or opening a PR, or whenever asked to add a changelog entry, towncrier fragment, or news fragment.

When should I use Creating Changelog Entries?

Creating Changelog Entries fits situations like: youve fixed a bug; added a feature; made any user-facing change in a project that uses Towncrier and need to record it for the changelog — before committing; whenever asked to add a changelog entry.

How do I install Creating Changelog Entries in Claude Code?

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

How do I install Creating Changelog Entries in Codex?

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

Can I use Creating Changelog Entries 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 opsmill/infrahub --skill creating-changelog-entries -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/creating-changelog-entries, .gemini/skills/creating-changelog-entries, .github/skills/creating-changelog-entries and .opencode/skills/creating-changelog-entries in your project.

What does Creating Changelog Entries need to run?

Going by SKILL.md and its folder, Creating Changelog Entries needs the command-line tools its instructions call (uv and poetry). Our summary lists: Python 3. Compatibility (from SKILL.md): Requires the project to use Towncrier for changelog management — a configured Towncrier setup (e.g. `[tool.towncrier]` in pyproject.toml) and the `towncrier` CLI available, typically via a Python runner such as uv or poetry..

Does Creating Changelog Entries access the network?

SKILL.md names 2 domains. As links in the text: towncrier.readthedocs.io and keepachangelog.com. This is read from the text; nothing was executed.

Is Creating Changelog Entries safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Creating Changelog Entries use?

Creating Changelog Entries 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 Creating Changelog Entries use?

About 1.9k tokens (SKILL.md is roughly 7.6k 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 Creating Changelog Entries?

Skills that share tags, products or a category with Creating Changelog Entries: 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 Creating Changelog Entries?

opsmill (a GitHub organization) maintains it in opsmill/infrahub, which has 534 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on October 10, 2026.

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