Agent skill

Preparing Release Changelog

by damus-io in damus-io/damus

Prepare the CHANGELOG.md for a Damus release by running the changelog script, curating the output, and committing the result.

GPL-3.0Auto-check passedDevelopment

Install Preparing Release Changelog

skills CLI
$ npx skills add damus-io/damus --skill preparing-release-changelog -a claude-code

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

GitHub CLI
$ gh skill install damus-io/damus preparing-release-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/damus-io/damus.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/preparing-release-changelog .claude/skills/preparing-release-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
preparing-release-changelog
GitHub stars
2.1k
Token cost
~1.1k tokens
SKILL.md length
489 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
GPL-3.0

At a glance

Prepare the CHANGELOG.md for a Damus release by running the changelog script, curating the output, and committing the result.

  • Works in 5 steps: Identify the Commit Range → Run the Changelog Script → Review and Clean Up the Raw Output → …
  • Tasks that involve Changelog and release notes
  • SKILL.md covers Description, When to Use, Overview and Prerequisites, plus 6 more sections
  • Calls git, pip and python3

What it does

Preparing Release Changelog is an agent skill from damus-io/damus. Prepare the CHANGELOG.md for a Damus release by running the changelog script, curating the output, and committing the result. Covers prerequisites, known pitfalls (duplicate entries, reverted commits, truncated annotations, wrong version label), and the editing/commit steps.

Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Development, covering Changelog and release notes. It works with Bitcoin. The licence is GPL-3.0.

When your agent uses it

  • Tasks that involve Changelog and release notes

Example prompts

  • “/preparing-release-changelog”

Requirements

  • Python 3

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Identify the Commit Range
  2. Run the Changelog Script
  3. Review and Clean Up the Raw Output
  4. Update CHANGELOG.md
  5. Commit the Changelog

What it can do on your machine

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

    • git
    • pip
    • python3

    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):

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

Context cost

Preparing Release Changelog loads about 1.1k tokens when it runs. Until then it costs about 76 tokens; SKILL.md has 489 words of instructions outside code blocks.

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

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 damus-io/damus at commit 4a94f66, republished under its GPL-3.0 licence (© damus-io). 489 words, ~1,110 tokens.

Download SKILL.mdSave it as .claude/skills/preparing-release-changelog/SKILL.md (or your agent's skills folder).
name
preparing-release-changelog
description
Prepare the CHANGELOG.md for a Damus release by running the changelog script, curating the output, and committing the result. Covers prerequisites, known pitfalls (duplicate entries, reverted commits, truncated annotations, wrong version label), and the editing/commit steps.

Preparing Release Changelog

Description

Prepare the CHANGELOG.md for a Damus release by running the changelog script, curating the output, and committing the result. Covers prerequisites, known pitfalls (duplicate entries, reverted commits, truncated annotations, wrong version label), and the editing/commit steps.

When to Use

  • When preparing a new Damus release and the changelog needs to be updated
  • When rebasing a release-changelog branch onto master and picking up new entries

Overview

Damus uses a Python script (devtools/changelog.py) to assist in generating changelogs from git commit history. The changelog format follows Keep a Changelog conventions.

Prerequisites

  • Python 3 with mako and requests packages installed:
    pip install mako requests
  • Access to the full git history (not a shallow clone). If needed, run:
    git fetch --unshallow origin
    git fetch origin tag <from_tag>

Step 1: Identify the Commit Range

Find the tag for the previous release (e.g. v1.16.1) and the commit hash for the new release candidate:

bash
git tag | sort -V | tail -20         # list recent tags
git rev-parse v1.16.1                # resolve a tag to its commit SHA

The commit range format is: <from_tag>..<to_commit>

Example: v1.16.1..5cb8a49

Step 2: Run the Changelog Script

bash
python3 devtools/changelog.py v1.16.1..5cb8a49

This scans git log for Changelog-<section>: annotations in commit messages, where <section> is one of: added, changed, deprecated, fixed, removed, experimental.

Note: The script derives the version label from the second argument with the first character stripped (intended for tag names like v1.17 → 1.17). When passing a bare commit hash, the version will be wrong—fix it manually when editing CHANGELOG.md.

Step 3: Review and Clean Up the Raw Output

The script's output is a starting point that typically needs manual curation:

  1. Fix the version label: Replace the auto-derived version (e.g. cb8a49) with the actual release version (e.g. 1.17).

  2. Remove duplicate entries: Some commits may appear after the previous release tag in master history but were already included in that previous release's CHANGELOG.md (e.g. cherry-picked features from a release branch). Cross-check against the existing CHANGELOG.md and remove duplicates.

  3. Remove reverted entries: If a commit was later reverted, drop its Changelog-* entry. The revert commit may itself have a changelog entry explaining the fix—keep that instead.

  4. Fix truncated entries: Commit messages with a very long first line can cause Changelog-Fixed: entries to be truncated. Check the raw git log output to find the full intent, or look up the PR for context.

  5. Verify the date: Use the actual release date, not the commit date from the RC.

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

Step 4: Update CHANGELOG.md

Prepend the new section to CHANGELOG.md, following the existing format:

markdown
## [1.17] - YYYY-MM-DD

### Added

- Feature description (Author Name)


### Changed

- Change description (Author Name)


### Fixed

- Fix description (Author Name)



[1.17]: https://github.com/damus-io/damus/releases/tag/v1.17

Keep the existing [version]: URL reference link at the bottom of each section.

Step 5: Commit the Changelog

bash
git add CHANGELOG.md
git commit -s -m "v1.17 changelog"

Tips

  • Changelog annotations in commits: Contributors should include a line like Changelog-Added: Description of feature in their commit messages so the script can pick them up automatically.
  • Changelog-None: Use this in commit messages that intentionally have no changelog entry (e.g. internal refactors, test fixes). The script ignores it.
  • Author attribution: The script appends the git author name in parentheses. Keep these intact—they credit contributors.
  • Sections in the script are: added, changed, deprecated, fixed, removed, experimental. Only sections that have at least one entry are rendered.

© damus-io, GPL-3.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/preparing-release-changelog of damus-io/damus.

Open the folder on GitHubat commit 4a94f66

Compare with similar skills

Preparing Release 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.

Preparing Release Changelog compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Preparing Release Changelog this skilldamus-io/damus2.1k—~1.1kAutomated safety check: PassGPL-3.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 today
    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 damus-io/damus

  • Ff Worktrees

    damus-io/damus

    Fast-forward master and every git worktree branch up to a target ref (default github/master), skipping any worktree with unmerged commits.

    2.1k GitHub stars~451 tokensUpdated 28 days ago
    Auto-check passed
  • Process conversations or chat logs to identify reported bugs, search for existing GitHub issues, update existing issues when new undocumented details are discovered, and create new issues for…

    2.1k GitHub stars~2k tokensUpdated 28 days ago
    Auto-check passed

Works with

Categories

Questions about Preparing Release Changelog

What does Preparing Release Changelog do?

Prepare the CHANGELOG.md for a Damus release by running the changelog script, curating the output, and committing the result. Preparing Release Changelog is an agent skill from damus-io/damus.md for a Damus release by running the changelog script, curating the output, and committing the result.

When should I use Preparing Release Changelog?

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

How do I install Preparing Release Changelog in Claude Code?

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

How do I install Preparing Release Changelog in Codex?

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

Can I use Preparing Release 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 damus-io/damus --skill preparing-release-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/preparing-release-changelog, .gemini/skills/preparing-release-changelog, .github/skills/preparing-release-changelog and .opencode/skills/preparing-release-changelog in your project.

What does Preparing Release Changelog need to run?

Going by SKILL.md and its folder, Preparing Release Changelog needs the command-line tools its instructions call (git, pip and python3). Our summary lists: Python 3.

Does Preparing Release Changelog access the network?

SKILL.md names 1 domain. As links in the text: keepachangelog.com. This is read from the text; nothing was executed.

Is Preparing Release Changelog 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 Preparing Release Changelog use?

Preparing Release Changelog is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Preparing Release Changelog use?

About 1.1k tokens (SKILL.md is roughly 4.4k 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 Preparing Release Changelog?

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

damus-io (a GitHub organization) maintains it in damus-io/damus, which has 2,145 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 11, 2026.

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