Agent skill

Prepare Minor Release

by axelixlabs in axelixlabs/axelix

Prepare an Axelix minor lockstep release — the pre-release housekeeping changes, a hand-editable release-notes draft, and the post-release bump to the next -SNAPSHOT.

LGPL-3.0Auto-check passedDevelopment

Install Prepare Minor Release

skills CLI
$ npx skills add axelixlabs/axelix --skill prepare-minor-release -a claude-code

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

GitHub CLI
$ gh skill install axelixlabs/axelix prepare-minor-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/axelixlabs/axelix.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agent_skills/prepare-minor-release .claude/skills/prepare-minor-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
prepare-minor-release
GitHub stars
148
Token cost
~2.5k tokens
SKILL.md length
1,311 words
Files
1
Skills in repo
9
Repo updated
First seen
Licence
LGPL-3.0

At a glance

Prepare an Axelix minor lockstep release — the pre-release housekeeping changes, a hand-editable release-notes draft, and the post-release bump to the next -SNAPSHOT.

  • Works in 3 steps: Pre-release housekeeping → Release notes draft → Post-release housekeeping
  • The user says they are cutting
  • SKILL.md covers Hard boundaries, Phase 1 — Pre-release…, Phase 2 — Release notes draft and Phase 3 — Post-release…
  • Calls git and gh

What it does

Prepare Minor Release is an agent skill from axelixlabs/axelix. Prepare an Axelix minor lockstep release — the pre-release housekeeping changes, a hand-editable release-notes draft, and the post-release bump to the next -SNAPSHOT. Use this skill whenever the user says they are cutting, preparing, or shipping a release ("we're releasing 1.1.0", "prepare the minor release", "release housekeeping"), asks to draft or write release notes for a version, or asks to move master to the next snapshot / development version after a release. Also use it for the docs part alone ("swap the…

Its SKILL.md is about 2.5k 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 Spring Boot and Gradle. The repository describes itself as: The source code of Axelix - a Delta Force for your Spring Boot ecosystem. The licence is LGPL-3.0.

When your agent uses it

  • The user says they are cutting
  • Shipping a release (were releasing 1.1.0
  • Prepare the minor release
  • Release housekeeping)

Example prompts

  • “re releasing 1.1.0”
  • “prepare the minor release”
  • “release housekeeping”
  • “/prepare-minor-release”

Requirements

  • Docker

Workflow steps

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

  1. Pre-release housekeeping
  2. Release notes draft
  3. Post-release housekeeping

What it can do on your machine

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

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

  • Network

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

Prepare Minor Release loads about 2.5k tokens when it runs. Until then it costs about 157 tokens; SKILL.md has 1,311 words of instructions outside code blocks.

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

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 axelixlabs/axelix at commit f7d043e, republished under its LGPL-3.0 licence (© axelixlabs). 1,311 words, ~2,497 tokens.

Download SKILL.mdSave it as .claude/skills/prepare-minor-release/SKILL.md (or your agent's skills folder).
name
prepare-minor-release
description
Prepare an Axelix minor lockstep release — the pre-release housekeeping changes, a hand-editable release-notes draft, and the post-release bump to the next -SNAPSHOT. Use this skill whenever the user says they are cutting, preparing, or shipping a release ("we're releasing 1.1.0", "prepare the minor release", "release housekeeping"), asks to draft or write release notes for a version, or asks to move master to the next snapshot / development version after a release. Also use it for the docs part alone ("swap the upcoming notices for released notices") — that swap is a post-release-housekeeping step.

Prepare a minor release

Axelix minors are lockstep releases: every component (starters, plugins, Master JAR/Docker/Helm) ships together under one X.Y.0 version, marked by a vX.Y.0 tag on master. The authoritative procedure lives in docs/docs/more/development/releases.mdx — read it before starting; if it disagrees with this skill, the docs win and this skill should be updated.

This skill covers three phases. Figure out from the conversation which one the user is in; if the target version is not stated, derive it from axelixVersion in the root gradle.properties (strip -SNAPSHOT) and confirm it with the user before editing anything.

  1. Pre-release housekeeping — version, playgrounds.
  2. Release notes draft & docs truth audit — diff against the previous minor tag, and verify the docs still tell the truth for the new version.
  3. Post-release housekeeping — move master to the next minor's -SNAPSHOT, swap the docs notices.

Hard boundaries

The point of these boundaries is that a release is a deliberate, human-triggered act — the skill prepares, the developer pulls the trigger.

  • Never commit and never push. Housekeeping must land as a single commit on master so the release can be reset or cherry-picked cleanly — the developer reviews the staged diff and makes that commit themselves. Leave every change in the working tree and show a summary.
  • Never create tags. The release pipeline creates vX.Y.0 after its pre-release checks pass; a hand-made tag bypasses those checks.
  • Never launch the pipeline. .github/workflows/release-lockstep.yaml is a workflow_dispatch the developer triggers manually. Do not run it via gh workflow run or otherwise.

Phase 1 — Pre-release housekeeping

All of the following becomes one commit (made by the user). Two groups of edits:

1. Fleet version

In the root gradle.properties, set axelixVersion to the exact release version — 1.1.0-SNAPSHOT → 1.1.0. This is the value the pipeline reads and what the tag is named after. The root gradle.properties is the only place the version lives — every component inherits it from there. Subproject gradle.properties files never contain axelixVersion; do not touch them.

2. Playgrounds

The example apps under playgrounds/ are deliberately separate projects: they do not inherit axelixVersion and pin the Axelix starter and plugin versions they consume explicitly. Bump every Axelix pin — starters and plugins — to the release version.

Find the pins by searching rather than trusting a memorized list (playgrounds get added):

bash
grep -rn "com.axelixlabs" playgrounds/ --include="build.gradle*" --include="pom.xml"
  • Gradle apps: the id("com.axelixlabs.axelix") version "..." plugin line and the com.axelixlabs:axelix-spring-boot-N-starter:... dependency string in build.gradle.kts.
  • Maven apps: the <version> of every com.axelixlabs artifact (starter dependency and axelix-maven-plugin) in pom.xml.

Afterwards verify no Axelix -SNAPSHOT or stale pin survived: grep -rn "com.axelixlabs" playgrounds/ --include="build.gradle*" --include="pom.xml" | grep -v "X.Y.0" should only return lines that carry no version at all (e.g. Maven <artifactId> lines).

Wrap-up

Show git status and a short per-group summary of what changed, plus the verification grep results. Remind the user this is meant to be a single housekeeping commit on master, and that after it lands they launch release-lockstep.yaml themselves.

Phase 2 — Release notes draft

The pipeline creates the tag but not the notes — the developer writes them by hand against the tag. Draft them so the developer edits instead of starting from scratch.

  1. Find the previous minor tag: the highest vX.Y.0 tag. Ignore pre-releases (v1.0.0-M1) and patch tags (vX.Y.Z with a non-zero patch, e.g. v1.0.2 — fleet tags too, but cut from a patch branch) — the comparison base is the previous minor cut from master.
  2. Collect the changes: git log vPREV..master (merge commits and PR references are usually the best unit of meaning; gh pr view for detail when a commit message is thin).
  3. Categorize into exactly these sections:
    • New features
    • Bug fixes
    • Noteworthy changes — not breaking, but users should know (behavior changes, defaults within the contract, deprecations, notable dependency upgrades).
    • Breaking changes — defined by the compatibility contract in docs/docs/more/compatibility-and-versioning.mdx, not by Java-level API diffs. Breaking means: changes to Master's configuration contract (property names, default values, types — for both the Helm chart and the standalone JAR; the contract promises these change only in majors, so finding one in a minor is a red flag to raise with the user), or revisited interaction protocols between components (Master ↔ starter, plugin ↔ starter — these force the fleet-wide major.minor upgrade). Public Java API changes of Master or the starters are explicitly internal and are not breaking.
  4. Write the draft to release-notes-vX.Y.0.md in the repository root. It is a working file for the developer: it stays untracked and must not slip into the housekeeping commit — say so explicitly, and never git add it. The developer publishes the final text against the vX.Y.0 tag manually.
Show full SKILL.md (563 more words)Show less
Docs truth audit — mandatory, never skip

The same vPREV..master diff that feeds the notes also invalidates documentation: a behavior change makes some pages describe how Axelix used to work. Shipping the release with those pages untouched misinforms users, so this audit is a required part of every release preparation. Run it every time Phase 2 runs — even when the user only asked for release notes, and even when the diff looks trivially small.

  1. Go through every change collected in step 2, not only the ones that made it into the notes. Noteworthy changes and Breaking changes are the prime suspects, but a New feature can also supersede a documented manual procedure.
  2. For each change, hunt docs/docs/ for statements the change invalidates: grep for the affected property names, endpoints, class names, and UI wording, and skim the pages of the affected component. You are looking for text that was true on vPREV but is no longer true on master.
  3. For every stale spot found, you must propose a treatment — silently leaving it is not an option:
    • If a whole section describes behavior that from X.Y.0 on is no longer required or was replaced (e.g. a manual step the release now automates), keep the section for users on older versions and mark it with <LegacyNotice version="X.Y.0" /> directly under its heading (imported from @site/src/components, sibling of the Released/Upcoming notices). X.Y.0 is the release being cut — the first version where the section stops applying.
    • If the text is simply wrong going forward (changed default, renamed property, different behavior), propose a rewrite of the text itself so it correctly informs users about the change.
    • Every touched English page has a Russian mirror under docs/i18n/ru/docusaurus-plugin-content-docs/current/ — treat both, or the docs CI build fails on the ru locale.
  4. Report the findings as a list (code change → affected page/section → suggested treatment), get the user's agreement, and apply the edits as working-tree changes only — like everything else in this skill, the user commits. If the audit finds nothing stale, say explicitly that it ran and came back clean; never leave it implicit.

Phase 3 — Post-release housekeeping

After the pipeline has published the fleet and created vX.Y.0, development on master moves to the next minor. One commit (again: stage only, the user commits). Two groups of edits:

1. Snapshot bump
  • Root gradle.properties: axelixVersion → X.(Y+1).0-SNAPSHOT.
  • Playgrounds: all Axelix pins — starters and plugins — → X.(Y+1).0-SNAPSHOT, found with the same grep as in Phase 1.
2. Docs notices

While a minor is in development, docs sections shipping with it carry an <UpcomingReleaseNotice /> (components in docs/src/components/). Now that the minor is cut, each of those becomes a <ReleasedInNotice version="X.Y.0" /> — where X.Y.0 is the version just released, not the new snapshot.

  • Find every usage: grep -rn "UpcomingReleaseNotice" docs/.
  • In each page, replace the JSX usage and swap the import (UpcomingReleaseNotice → ReleasedInNotice, both come from @site/src/components).
  • Every English page under docs/docs/ has a mirrored Russian copy under docs/i18n/ru/docusaurus-plugin-content-docs/current/ — update both, or the docs CI build fails on the ru locale.
  • All existing notices should belong to the release just cut (they were added for it); if a notice looks like it belongs to a future release, stop and ask the user instead of converting it.
  • Verify: the grep above must come back empty for docs/docs/ and the ru mirror when done.

Verify with the same greps as Phase 1, show the summary, let the user commit.

© axelixlabs, LGPL-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 .agent_skills/prepare-minor-release of axelixlabs/axelix.

Open the folder on GitHubat commit f7d043e

Compare with similar skills

Prepare Minor 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.

Prepare Minor Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Prepare Minor Release this skillaxelixlabs/axelix148—~2.5kAutomated safety check: PassLGPL-3.0
Groovy 5 Developer Guideapache/grails-core2.9k—~3kAutomated safety check: PassApache-2.0
Update Version CatalogRedMadRobot/gradle-version-catalogs118—~9.5kAutomated safety check: PassMIT
Releasesol4k/sol4k135—~949Automated safety check: PassApache-2.0
Release New Versionniki914/zafiro235—~2.1kAutomated safety check: PassMIT
Dependabot PR Reviewkernitus/BukkitOldCombatMechanics225—~882Automated safety check: PassMPL-2.0

Similar skills

  • Groovy 5 Developer Guide

    apache/grails-core

    Guidance for Groovy 5 work in Grails projects: syntax, closures, traits, DSLs, metaprogramming, Spock tests, static compilation and Java 21 integration.

    2.9k GitHub stars~3k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Update Version Catalog

    RedMadRobot/gradle-version-catalogs

    Use EVERY time the user asks to update / bump the version catalogs, "сделать обновление", "обновить каталог(и)", "обнови версии", "оформи изменения", "update the catalog", or to record dependency…

    118 GitHub stars~9.5k tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Release

    sol4k/sol4k

    Bump the sol4k library version everywhere, open a release PR, and draft GitHub release notes.

    135 GitHub stars~949 tokensUpdated 13 days ago
    DevelopmentAuto-check passed
  • Release New Version

    niki914/zafiro

    A skill your agent uses when the user wants to release a new Zafiro version — drafting bilingual release notes, deciding the next version number, bumping app/build.gradle.kts, tagging, and…

    235 GitHub stars~2.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Dependabot PR Review

    kernitus/BukkitOldCombatMechanics

    A skill your agent uses for Dependabot PRs, dependency bumps, Gradle or Maven dependency updates, GitHub Actions updates, dependency changelog/licence/release-note review, JVM/classfile checks, and…

    225 GitHub stars~882 tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Hz API Upgrade

    meta-quest/agentic-tools

    Upgrades Meta VR apps to newer Horizon OS SDK versions — migration guides, deprecated API replacements, changelog.

    215 GitHub stars~1.8k tokensUpdated 16 days ago
    DevelopmentAuto-check passed

More from axelixlabs/axelix

All 9 skills in this repo
  • Config Breaking Changes

    axelixlabs/axelix

    Review configuration property changes in the Axelix project for breaking changes and migration-policy compliance.

    148 GitHub stars~2.6k tokensUpdated today
    Auto-check passed
  • Backlog Refiner

    axelixlabs/axelix

    Refine and triage GitHub backlog by finding open issues that are stale, obsolete, or resolved by another path.

    148 GitHub stars~1.7k tokensUpdated today
    Auto-check passed
  • Pick open GitHub issues in the Axelix monorepo that are suitable for unpaid volunteer contributors working in their spare time.

    148 GitHub stars~2.2k tokensUpdated today
    Auto-check passed
  • Create batched Dependabot-style pull requests for GitHub security findings in axelixlabs/axelix, grouped by dependency surface such as master/front-end, master/build.gradle.kts, or starter Gradle…

    148 GitHub stars~4.2k tokensUpdated today
    Auto-check passed
  • Starter Domain Reviewer

    axelixlabs/axelix

    Reviews changes in sbs/starter-domain for technology-agnostic domain logic, forbidden production dependencies, and Java 11+ compatibility.

    148 GitHub stars~3.3k tokensUpdated today
    Auto-check passed
  • Test Reviewer

    axelixlabs/axelix

    Reviews test code in GitHub pull requests for isolation, public-API contract coverage, AAA structure, and correct exception assertions.

    148 GitHub stars~3.2k tokensUpdated today
    Auto-check passed

Categories

Questions about Prepare Minor Release

What does Prepare Minor Release do?

Prepare an Axelix minor lockstep release — the pre-release housekeeping changes, a hand-editable release-notes draft, and the post-release bump to the next -SNAPSHOT. Prepare Minor Release is an agent skill from axelixlabs/axelix. Prepare an Axelix minor lockstep release — the pre-release housekeeping changes, a hand-editable release-notes draft, and the post-release bump to the next -SNAPSHOT.

When should I use Prepare Minor Release?

Prepare Minor Release fits situations like: the user says they are cutting; shipping a release (were releasing 1.1.0; prepare the minor release; release housekeeping).

How do I install Prepare Minor Release in Claude Code?

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

How do I install Prepare Minor Release in Codex?

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

Can I use Prepare Minor 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 axelixlabs/axelix --skill prepare-minor-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/prepare-minor-release, .gemini/skills/prepare-minor-release, .github/skills/prepare-minor-release and .opencode/skills/prepare-minor-release in your project.

What does Prepare Minor Release need to run?

Going by SKILL.md and its folder, Prepare Minor Release needs the command-line tools its instructions call (git and gh). Our summary lists: Docker.

Does Prepare Minor Release access the network?

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

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

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

How many tokens does Prepare Minor Release use?

About 2.5k tokens (SKILL.md is roughly 10k 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 Prepare Minor Release?

Skills that share tags, products or a category with Prepare Minor Release: Groovy 5 Developer Guide (apache/grails-core, 2.9k stars), Update Version Catalog (RedMadRobot/gradle-version-catalogs, 118 stars), Release (sol4k/sol4k, 135 stars) and Release New Version (niki914/zafiro, 235 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Prepare Minor Release?

axelixlabs (a GitHub organization) maintains it in axelixlabs/axelix, which has 148 GitHub stars. The repository holds 9 skills in this directory. The repository was last updated on October 10, 2026.

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