Agent skill

Release

by jaemk in jaemk/self_update

Prepare a release (bump the crate version, update CHANGELOG.md with a migration guide for breaking changes, regenerate README, commit), or run a pre-release review.

MITAuto-check passedDevelopment

Install Release

skills CLI
$ npx skills add jaemk/self_update --skill release -a claude-code

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

GitHub CLI
$ gh skill install jaemk/self_update release --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/jaemk/self_update.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/release .claude/skills/release && 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
release
GitHub stars
961
Token cost
~2.2k tokens
SKILL.md length
999 words
Files
1
Skills in repo
2
Repo updated
First seen
Licence
MIT

At a glance

Prepare a release (bump the crate version, update CHANGELOG.md with a migration guide for breaking changes, regenerate README, commit), or run a pre-release review.

  • Works in 7 steps: Update Cargo.toml version → Update CHANGELOG.md → Migration guide (breaking releases) → …
  • Asked to cut a release
  • SKILL.md covers Input, Release review and Version bump
  • Calls git, cargo and make

What it does

Release is an agent skill from jaemk/self_update. Prepare a release (bump the crate version, update CHANGELOG.md with a migration guide for breaking changes, regenerate README, commit), or run a pre-release review. The review option kicks off a consistency review and an API-examination review to surface lingering inconsistencies and a categorized list of breaking and non-breaking improvements before you cut the release — advisory only, it changes nothing. Use when asked to "cut a release", "bump the version", "prepare a release", "release X.Y.Z", or "do a…

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.

It sits in Development, covering Code migrations, Changelog and release notes and Technical documentation. It works with Rust. The repository describes itself as: Self updates for rust executables. The licence is MIT.

When your agent uses it

  • Asked to cut a release
  • Bump the version
  • Prepare a release
  • Do a release review / review for release

Example prompts

  • “cut a release”
  • “bump the version”
  • “prepare a release”
  • “/release”

Workflow steps

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

  1. Update Cargo.toml version
  2. Update CHANGELOG.md
  3. Migration guide (breaking releases)
  4. Regenerate README
  5. Verify
  6. Commit or amend
  7. Report

What it can do on your machine

Read from SKILL.md and the folder at commit fc84045. 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
    • cargo
    • make

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

  • Network

    No URLs in SKILL.md. Its commands use 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

Release loads about 2.2k tokens when it runs. Until then it costs about 159 tokens; SKILL.md has 999 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~159
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 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 jaemk/self_update at commit fc84045, republished under its MIT licence (© jaemk). 999 words, ~2,152 tokens.

Download SKILL.mdSave it as .claude/skills/release/SKILL.md (or your agent's skills folder).
name
release
description
Prepare a release (bump the crate version, update CHANGELOG.md with a migration guide for breaking changes, regenerate README, commit), or run a pre-release review. The `review` option kicks off a consistency review and an API-examination review to surface lingering inconsistencies and a categorized list of breaking and non-breaking improvements before you cut the release — advisory only, it changes nothing. Use when asked to "cut a release", "bump the version", "prepare a release", "release X.Y.Z", or "do a release review" / "review for release". Takes a version string (e.g. `/release 1.2.0`) or `review` as the argument.

Release

Prepare a new release by bumping the version and updating the changelog — or, with the review option, run a pre-release audit that surfaces inconsistencies and improvement ideas without changing anything.

self_update is a single crate; the version lives only in the top-level Cargo.toml.

Input

The argument selects the mode:

  • review (or "release review", "review for release", "pre-release review") — run the Release review below. This is advisory only: it bumps nothing, edits no files, and makes no commit. Run it before cutting a release.
  • A version string (e.g. 1.2.0) — run the Version bump flow (the numbered steps). If no argument is given and the intent is clearly to cut a release, ask which version.

If the user asks for a release review and then to proceed, run the review first and the version bump second.

Release review

A pre-release audit. Run it before cutting a release — especially a major version, since a major bump is the only window in which breaking API changes are acceptable. It does not bump the version, edit the changelog/README, or commit anything; it produces a report. It kicks off two complementary reviews, then synthesizes them.

A. Consistency review

Audit the public surface for lingering inconsistencies across the whole crate, not just the latest diff. Scope it to everything accumulated since the last released version.

Establish the baseline with plain, side-effect-free commands — run each separately rather than nesting a $(…) command substitution, so each invocation can be statically verified and auto-approved (a $(git …) substitution defeats static analysis and forces a prompt):

bash
git describe --tags --abbrev=0    # last released tag
git tag --sort=-creatordate       # full tag list, newest first
git log --oneline -20             # recent commits — find the last "release" commit

Read the last-released version off the result, then diff against it explicitly, e.g.:

bash
git diff v0.44.0..HEAD --stat     # substitute the real last-released ref

Cross-check the tag against the […] version headings in CHANGELOG.md and the most recent release commit in the log; if they disagree, use the last actually released commit (the one matching the newest released CHANGELOG section) as the diff baseline.

Check for:

  • Naming parity — do sibling backends (github / gitlab / gitea / s3) share vocabulary on their builders? As of 1.0 the shared setters (url, target, identifier, auth_token, access_key, …) are unified via impl_common_builder_setters! and CommonConfig; flag any backend that re-introduces an odd-one-out name or diverges from the shared macro.
  • Builder / entry symmetry — does every backend expose the same entry (configure()), the same fallible build(), and the same shared setters where they make sense?
  • Trait-method parity — does the shared release-update trait in src/update.rs (and any helper traits) expose a consistent method set with consistent signatures (&self vs &mut self)?
  • Feature-gate symmetry — is each public item gated behind exactly the features it needs? Are the reqwest/ureq and native-tls/rustls selections handled consistently, and is the coexistence model (both clients / both TLS providers can be enabled; reqwest and rustls win) surfaced clearly?
  • Doc / CHANGELOG alignment — do the src/lib.rs docs, the [unreleased] CHANGELOG section, and any migration notes accurately describe the shipped API (named types, signatures, builder/setter names, feature gates)?

Delegate the correctness/idiom sweep to a pr-code-reviewer sub-agent fed the full release diff, and reason through the cross-backend parity items yourself — they need a whole-surface view the diff alone does not give.

B. API examination review

Run the consumer-experience-review skill. It builds a throwaway external consumer that depends on the crate the way a real user would and surfaces API gaps, naming inconsistencies, trait-import friction, and feature-flag dead-ends with compiler-verified evidence. This is the authoritative "what would a new user trip over" pass.

Show full SKILL.md (447 more words)Show less
C. Synthesize the report

Merge both reviews into a single report. Apply no change — this mode is advisory. Produce:

  1. Lingering inconsistencies — a flat list of every inconsistency found, each with a file:line (or API path) and a one-line description.
  2. Recommended changes, split by impact:
    • Breaking — changes that alter the public API (renames, signature changes, removed items, new required trait methods). For each: what to change, why it improves the library, and the migration cost. Mark these "land now or wait for the next major".
    • Non-breaking — additive or internal changes (new constructors, doc fixes, new re-exports, deprecations that keep the old path working). For each: what to change and why.
  3. Recommendation — is the library consistent enough to release as-is, or are there high-impact items that should land in this version first?

After presenting the report, ask whether to address findings first or proceed to the version bump below.

Version bump

These numbered steps are the default mode — run them when the argument is a version string, or after a release review once the user opts to proceed.

1. Update Cargo.toml version

In the top-level Cargo.toml, set [package] version to the new version. Use precise string replacement — do not touch dependency versions.

2. Update CHANGELOG.md
  • Replace ## [unreleased] with ## [X.Y.Z].
  • Add a fresh ## [unreleased] section (with empty ### Added / ### Changed / ### Removed) above the new version heading — the changelog must always have an [unreleased] section at the top.
  • Ensure the new version's ### Added / ### Changed / ### Removed bullets accurately describe git diff <last-release>..HEAD — named types, builder/setter names, and feature gates must match the code exactly.
3. Migration guide (breaking releases)

This repo keeps migration guidance inside the CHANGELOG entry rather than a separate docs/migrations/ tree (see the [1.0.0] entry for the established format). For a release with breaking changes, the version's CHANGELOG entry must include a Migration guide section that is terse, mechanical, and grep-friendly:

  • one line per breaking change with what to search for and the exact code transformation
  • the Cargo.toml change if a feature/flag default changed
  • For a purely additive release, no migration section is needed.
4. Regenerate README

README.md is generated from the src/lib.rs crate doc — never edit it directly.

bash
cargo readme --no-indent-headings > README.md

(equivalently, ./readme.sh).

5. Verify

Build the full feature set on both http clients and run the tests:

bash
cargo test --features "github gitlab gitea s3 archive-tar archive-zip compression-tar-gz compression-zip-deflate compression-zip-bzip2 signatures checksums s3-auth"
cargo build --no-default-features --features "ureq native-tls github gitlab gitea s3 archive-tar archive-zip compression-tar-gz compression-zip-deflate compression-zip-bzip2 signatures checksums s3-auth"

(make ci runs these lanes plus fmt/clippy/async and is preferred when time allows.) Fix any compilation errors before proceeding.

6. Commit or amend

If there is already a single release-prep commit ahead of master on this branch, amend it:

bash
git add Cargo.toml CHANGELOG.md README.md
git commit --amend --no-edit

Otherwise create a new commit:

bash
git commit -m "release: bump version to X.Y.Z"
7. Report

Tell the user:

  • The new version
  • That README was regenerated
  • Whether a migration guide was added (and why, or why not)
  • The resulting commit SHA

© jaemk, MIT. 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/release of jaemk/self_update.

Open the folder on GitHubat commit fc84045

Compare with similar skills

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

Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release this skilljaemk/self_update961—~2.2kAutomated safety check: PassMIT
Releasejaemk/cached2.1k—~2.8kAutomated safety check: PassMIT
Record Prisma 8 Upgrade Instructionsprisma/orm48k—~3.2kAutomated safety check: NotesApache-2.0
Tabler Upgrade Guide Writertabler/tabler42k—~1.7kAutomated safety check: PassMIT
Rust Learnerfjrevoredo/mini-diarium3081 repos~2kAutomated safety check: NotesMIT
Documentationaiskillstore/marketplace4301 repos~2.7kAutomated safety check: PassNone

Similar skills

  • Release

    jaemk/cached

    Prepare a release (bump versions across all Cargo.toml files, update CHANGELOG.md, refresh the migration guide, regenerate README, commit), or run a pre-release review.

    2.1k GitHub stars~2.8k tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Adds an upgrade-instruction fragment to a Prisma 8 breaking-change PR so downstream app and extension authors can apply the matching code translation.

    48k GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check: notes
  • Writes the upgrade guide page for a Tabler release by collecting removed, renamed and deprecated items from changesets and diffs, with before and after examples.

    42k GitHub stars~1.7k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Rust Learner

    fjrevoredo/mini-diarium

    A skill your agent uses when asking about Rust versions or crate info.

    308 GitHub starsUsed in 1 repo~2k tokens
    DevelopmentAuto-check: notes
  • Documentation

    aiskillstore/marketplace

    Comprehensive documentation specialist covering API documentation, technical writing, design documentation, migration guides, and changelog generation.

    430 GitHub starsUsed in 1 repo~2.7k tokens
    DevelopmentAuto-check passed
  • 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

More from jaemk/self_update

  • PR Review

    jaemk/self_update

    Targeted, read-only review of a PR or checked-out branch. An agent skill from jaemk/self_update.

    961 GitHub stars~1.5k tokensUpdated 1 mo ago
    Auto-check: notes

Works with

Categories

Questions about Release

What does Release do?

Prepare a release (bump the crate version, update CHANGELOG.md with a migration guide for breaking changes, regenerate README, commit), or run a pre-release review. Release is an agent skill from jaemk/self_update.md with a migration guide for breaking changes, regenerate README, commit), or run a pre-release review.

When should I use Release?

Release fits situations like: asked to cut a release; bump the version; prepare a release; do a release review / review for release.

How do I install Release in Claude Code?

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

How do I install Release in Codex?

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

Can I use Release 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 jaemk/self_update --skill release -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release, .gemini/skills/release, .github/skills/release and .opencode/skills/release in your project.

What does Release need to run?

Going by SKILL.md and its folder, Release needs the command-line tools its instructions call (git, cargo and make).

Does Release access the network?

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

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

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

How many tokens does Release use?

About 2.2k tokens (SKILL.md is roughly 8.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 Release?

Skills that share tags, products or a category with Release: Release (jaemk/cached, 2.1k stars), Record Prisma 8 Upgrade Instructions (prisma/orm, 48k stars), Tabler Upgrade Guide Writer (tabler/tabler, 42k stars) and Rust Learner (fjrevoredo/mini-diarium, 308 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release?

jaemk (a GitHub user) maintains it in jaemk/self_update, which has 961 GitHub stars. The repository holds 2 skills in this directory. The repository was last updated on September 2, 2026.

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