Agent skill

Release

by jrswab in jrswab/axe

Prepare code for release (version bumps, changelog, README updates) and create an annotated tag to trigger the GoReleaser workflow.

Apache-2.0Auto-check passedDevelopment

Install Release

skills CLI
$ npx skills add jrswab/axe --skill release -a claude-code

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

GitHub CLI
$ gh skill install jrswab/axe 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/jrswab/axe.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/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
896
Token cost
~1.4k tokens
SKILL.md length
716 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
Apache-2.0

At a glance

Prepare code for release (version bumps, changelog, README updates) and create an annotated tag to trigger the GoReleaser workflow.

  • Works in 12 steps: Gather context → Ask the user → Categorize commits into Keep a Changelog… → …
  • The GoReleaser workflow
  • SKILL.md covers Rules, Steps and Reference
  • Calls git, go and gh

What it does

Release is an agent skill from jrswab/axe. Prepare code for release (version bumps, changelog, README updates) and create an annotated tag to trigger the GoReleaser workflow.

Its SKILL.md is about 1.4k 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 and Technical documentation. It works with Go and Git. The repository describes itself as: A lightweight cli for running single-purpose AI agents. Define focused agents in TOML, trigger them from anywhere; pipes, git hooks, cron, or the terminal. The licence is Apache-2.0.

When your agent uses it

  • The GoReleaser workflow
  • Tasks that involve Changelog and release notes
  • Tasks that involve Technical documentation

Example prompts

  • “/release”

Requirements

  • Docker

Workflow steps

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

  1. Gather context
  2. Ask the user
  3. Categorize commits into Keep a Changelog sections
  4. Bump version strings
  5. Update README.md
  6. Update CHANGELOG.md
  7. Commit and push prep changes
  8. Verify
  9. Ask user to confirm tag creation
  10. Create the annotated tag on the prep commit.
  11. Push the tag to origin only after the user confirms. The v* tag push triggers the GoReleaser workflow which builds binaries and creates…
  12. Set release notes via gh

What it can do on your machine

Read from SKILL.md and the folder at commit 937b509. 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
    • go
    • gh
    • docker

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

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

Release loads about 1.4k tokens when it runs. Until then it costs about 35 tokens; SKILL.md has 716 words of instructions outside code blocks.

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

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 jrswab/axe at commit 937b509, republished under its Apache-2.0 licence (© jrswab). 716 words, ~1,421 tokens.

Download SKILL.mdSave it as .claude/skills/release/SKILL.md (or your agent's skills folder).
name
release
description
Prepare code for release (version bumps, changelog, README updates) and create an annotated tag to trigger the GoReleaser workflow.

Your job is to guide the user through a full release for this project. A release includes preparing the code (version bumps, README documentation, changelog), creating an annotated git tag with a v prefix (e.g. v1.5.0), pushing it to trigger the GoReleaser GitHub Actions workflow, setting release notes, and linking the GHCR Docker image.

Rules

  • Always create an annotated tag (git tag -a), never a lightweight tag.
  • Tag format is vMAJOR.MINOR.PATCH following Semantic Versioning.
  • The changelog MUST follow Keep a Changelog 1.1.0 format.
  • Valid changelog categories: Added, Changed, Deprecated, Removed, Fixed, Security.
  • All version strings MUST be updated before committing. There are three locations (listed in Reference). Run version tests after bumping to catch drift.
  • README.md MUST document any user-facing changes — new config fields, CLI flags, behavior changes, exit codes.
  • DO NOT push to master until the user confirms.
  • DO NOT push the tag until the user confirms.
  • DO NOT skip asking the user for the version number, tag annotation message, and changelog review.

Steps

  1. Gather context

    • Check the current branch and ensure it is clean (git status).
    • List existing tags (git tag --sort=-v:refname) to determine the next version.
    • Collect the commit log since the last tag (or all commits if this is the first release).
  2. Ask the user

    • What version number to use.
    • What the annotated tag message should say.
    • Whether the auto-generated changelog looks correct or needs edits.
  3. Categorize commits into Keep a Changelog sections:

    • Added — new features and capabilities.
    • Changed — changes to existing functionality.
    • Deprecated — features marked for removal.
    • Removed — features that were removed.
    • Fixed — bug fixes.
    • Security — vulnerability fixes.
    • Exclude commits prefixed with docs:, test:, ci:, or merge commits.
  4. Bump version strings

    • Update all three version locations listed in the Reference section.
    • Run go test ./cmd/ -run TestVersion -count=1 to verify the bump is consistent.
  5. Update README.md

    • Explore new feature implementations (via subagents if available) to understand config fields, flags, defaults, and behavior before writing documentation.
    • For each user-facing change, update the relevant README sections: Features list, Run Flags table, Agent Configuration example TOML, and add new sections as needed.
    • Add or update the Exit Codes table if new exit codes were introduced.
    • Do NOT guess at config fields or flag names — read the actual implementation first.
  6. Update CHANGELOG.md

    • Prepend the new release section under the # Changelog header.
    • Add a reference link at the bottom of the file using the Keep a Changelog format:
      • First release: [1.0.0]: https://github.com/jrswab/axe/releases/tag/v1.0.0
      • Subsequent releases: [1.1.0]: https://github.com/jrswab/axe/compare/v1.0.0...v1.1.0
  7. Commit and push prep changes

    • Stage all modified files and commit with message: Update changelog and version for vX.Y.Z
    • Push to master only after the user confirms.
  8. Verify

    • Run go build . to confirm the binary compiles.
    • Run go test ./cmd/ -run TestVersion -count=1 at minimum.
    • Confirm tests pass before proceeding to tag creation.
  9. Ask user to confirm tag creation

    • Show the tag name, annotation message, and commit hash.
    • Wait for explicit confirmation before creating the tag.
  10. Create the annotated tag on the prep commit.

  11. Push the tag to origin only after the user confirms. The v* tag push triggers the GoReleaser workflow which builds binaries and creates the GitHub release.

  12. Set release notes via gh

    • Extract the new version's section from CHANGELOG.md — everything between the ## [X.Y.Z] heading and the next ## heading, excluding the heading itself and trailing blank lines.
    • Append a Docker section to the extracted notes:
      ## Docker
      
      ```bash
      docker pull ghcr.io/jrswab/axe:X.Y.Z
      ```
      
      See the [GHCR package page](https://github.com/jrswab/axe/pkgs/container/axe) for all available tags.
    • Write the combined content (changelog section + Docker section) to a temporary file.
    • Poll gh release view vX.Y.Z every 10 seconds (up to 120 seconds) until the GoReleaser workflow creates the release.
    • Run gh release edit vX.Y.Z --notes-file <tmp-file> to set the release description.
    • Clean up the temporary file.
    • This is the authoritative source for release notes — do NOT rely on the workflow's awk extraction.
Show full SKILL.md (73 more words)Show less

Reference

Project Files
  • GoReleaser config: .goreleaser.yml (auto-changelog is disabled)
  • Release workflow: .github/workflows/release.yml (builds binaries and Docker image; do NOT rely on it for release notes)
  • Changelog: CHANGELOG.md
Version Strings (all three must match)
  • cmd/root.go — const Version (source of truth)
  • internal/mcpclient/mcpclient.go — hardcoded Version: in mcp.NewClient call
  • cmd/version_test.go — test assertions for the version string
GHCR Image

© jrswab, 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 docs/skills/release of jrswab/axe.

Open the folder on GitHubat commit 937b509

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 skilljrswab/axe896—~1.4kAutomated safety check: PassApache-2.0
Go-Redis Release Preparationredis/go-redis22k—~1.1kAutomated safety check: PassBSD-2-Clause
Golang Documentationunxed/f42413 repos~3.5kAutomated safety check: PassMIT
Human Writingkataras/jwt212—~1.9kAutomated safety check: PassMIT
CommitLennartHennigs/Button2565—~562Automated safety check: PassMIT
Releaseggwhite/go-masker130—~938Automated safety check: PassMIT

Similar skills

  • Official

    Prepares a go-redis release locally: picks the next semver, gathers merged PRs, writes the RELEASE-NOTES entry and bumps versions, without publishing.

    22k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Comprehensive documentation guide for Golang projects, covering godoc comments, README, CONTRIBUTING, CHANGELOG, Go Playground, Example tests, API docs, and llms.txt.

    241 GitHub starsUsed in 3 repos~3.5k tokens
    DevelopmentAuto-check passed
  • Human Writing

    kataras/jwt

    A skill your agent uses when writing or editing any prose in this repository - the book's preface, its chapters and epilogue, the brand kit notes, the agent skill documents, the changelog, and the…

    212 GitHub stars~1.9k tokensUpdated 26 days ago
    DevelopmentAuto-check passed
  • Commit

    LennartHennigs/Button2

    Stage and commit current changes for Button2 — checks for needed CHANGELOG/README/CLAUDE.md updates, creates a branch if on master, writes a commit message, and commits

    565 GitHub stars~562 tokensUpdated 4 mo ago
    DevelopmentAuto-check passed
  • Release

    ggwhite/go-masker

    Release a new version of go-masker: update CHANGELOG.md from git log, create GitHub release.

    130 GitHub stars~938 tokensUpdated 3 mo ago
    DevelopmentAuto-check passed
  • Qkeymapper Release Notes

    Zalafina/QKeyMapper

    为 QKeyMapper 编写 README.md 的中文 release note,并默认联动 qkeymapper-readme-en-sync 定向同步更新英文版 READMEen.md。收集最近正式 release tag 之后的已提交更新,先展示中英双语完整草稿供审阅,批准实施后分阶段原子提交两个 README。用于发布说明、更新日志和中英文版本信息维护。

    756 GitHub stars~1.3k tokensUpdated today
    DevelopmentAuto-check passed

Works with

Categories

Questions about Release

What does Release do?

Prepare code for release (version bumps, changelog, README updates) and create an annotated tag to trigger the GoReleaser workflow. Release is an agent skill from jrswab/axe. Prepare code for release (version bumps, changelog, README updates) and create an annotated tag to trigger the GoReleaser workflow.

When should I use Release?

Release fits situations like: the GoReleaser workflow; tasks that involve Changelog and release notes; tasks that involve Technical documentation.

How do I install Release in Claude Code?

Run `npx skills add jrswab/axe --skill release -a claude-code`. Or copy the skill folder (docs/skills/release in jrswab/axe) 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 jrswab/axe --skill release -a codex`. Or copy the skill folder (docs/skills/release in jrswab/axe) 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 jrswab/axe --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, go, gh and docker). Our summary lists: Docker.

Does Release access the network?

SKILL.md names 2 domains. As links in the text: semver.org and keepachangelog.com. 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 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 Release use?

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

Skills that share tags, products or a category with Release: Go-Redis Release Preparation (redis/go-redis, 22k stars), Golang Documentation (unxed/f4, 241 stars), Human Writing (kataras/jwt, 212 stars) and Commit (LennartHennigs/Button2, 565 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release?

jrswab (a GitHub user) maintains it in jrswab/axe, which has 896 GitHub stars. The repository was last updated on October 5, 2026.

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