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.
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.
$ npx skills add axelixlabs/axelix --skill prepare-minor-release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install axelixlabs/axelix prepare-minor-release --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ 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-srcUse ~/.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/
Install the "prepare-minor-release" agent skill from https://github.com/axelixlabs/axelix/tree/master/.agent_skills/prepare-minor-release into .claude/skills/prepare-minor-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prepare-minor-release", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/axelixlabs/axelix/tree/master/.agent_skills/prepare-minor-releaseType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add axelixlabs/axelix --skill prepare-minor-release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install axelixlabs/axelix prepare-minor-release --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/axelixlabs/axelix.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agent_skills/prepare-minor-release .agents/skills/prepare-minor-release && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "prepare-minor-release" agent skill from https://github.com/axelixlabs/axelix/tree/master/.agent_skills/prepare-minor-release into .agents/skills/prepare-minor-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prepare-minor-release", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add axelixlabs/axelix --skill prepare-minor-release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install axelixlabs/axelix prepare-minor-release --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/axelixlabs/axelix.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agent_skills/prepare-minor-release .cursor/skills/prepare-minor-release && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "prepare-minor-release" agent skill from https://github.com/axelixlabs/axelix/tree/master/.agent_skills/prepare-minor-release into .cursor/skills/prepare-minor-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prepare-minor-release", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/axelixlabs/axelix.git --path .agent_skills/prepare-minor-release--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add axelixlabs/axelix --skill prepare-minor-release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install axelixlabs/axelix prepare-minor-release --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/axelixlabs/axelix.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agent_skills/prepare-minor-release .gemini/skills/prepare-minor-release && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "prepare-minor-release" agent skill from https://github.com/axelixlabs/axelix/tree/master/.agent_skills/prepare-minor-release into .gemini/skills/prepare-minor-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prepare-minor-release", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install axelixlabs/axelix prepare-minor-releaseInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add axelixlabs/axelix --skill prepare-minor-release -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/axelixlabs/axelix.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agent_skills/prepare-minor-release .github/skills/prepare-minor-release && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "prepare-minor-release" agent skill from https://github.com/axelixlabs/axelix/tree/master/.agent_skills/prepare-minor-release into .github/skills/prepare-minor-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prepare-minor-release", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add axelixlabs/axelix --skill prepare-minor-release -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install axelixlabs/axelix prepare-minor-release --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/axelixlabs/axelix.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agent_skills/prepare-minor-release .opencode/skills/prepare-minor-release && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "prepare-minor-release" agent skill from https://github.com/axelixlabs/axelix/tree/master/.agent_skills/prepare-minor-release into .opencode/skills/prepare-minor-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "prepare-minor-release", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
prepare-minor-releasePrepare 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. 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.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit f7d043e. It shows what the files ask for, not the result of running them.
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.
Shell commands in SKILL.md call:
gitghFrom the folder's file list and the shell code blocks in SKILL.md.
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.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
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.
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.
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.
The full file from axelixlabs/axelix at commit f7d043e, republished under its LGPL-3.0 licence (© axelixlabs). 1,311 words, ~2,497 tokens.
.claude/skills/prepare-minor-release/SKILL.md (or your agent's skills folder).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.
master to the next minor's -SNAPSHOT, swap the docs notices.The point of these boundaries is that a release is a deliberate, human-triggered act — the skill prepares, the developer pulls the trigger.
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.vX.Y.0 after its pre-release checks pass; a hand-made
tag bypasses those checks..github/workflows/release-lockstep.yaml is a workflow_dispatch the
developer triggers manually. Do not run it via gh workflow run or otherwise.All of the following becomes one commit (made by the user). Two groups of edits:
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.
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):
grep -rn "com.axelixlabs" playgrounds/ --include="build.gradle*" --include="pom.xml"id("com.axelixlabs.axelix") version "..." plugin line and the
com.axelixlabs:axelix-spring-boot-N-starter:... dependency string in build.gradle.kts.<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).
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.
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.
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.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).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.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.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.
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.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.docs/i18n/ru/docusaurus-plugin-content-docs/current/ — treat both, or the docs CI build fails on the
ru locale.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:
gradle.properties: axelixVersion → X.(Y+1).0-SNAPSHOT.X.(Y+1).0-SNAPSHOT, found with the same
grep as in Phase 1.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.
grep -rn "UpcomingReleaseNotice" docs/.UpcomingReleaseNotice →
ReleasedInNotice, both come from @site/src/components).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.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
Just SKILL.md in .agent_skills/prepare-minor-release of axelixlabs/axelix.
Open the folder on GitHubat commit f7d043e
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Prepare Minor Release this skillaxelixlabs/axelix | 148 | — | ~2.5k | Automated safety check: Pass | LGPL-3.0 | |
| Groovy 5 Developer Guideapache/grails-core | 2.9k | — | ~3k | Automated safety check: Pass | Apache-2.0 | |
| Update Version CatalogRedMadRobot/gradle-version-catalogs | 118 | — | ~9.5k | Automated safety check: Pass | MIT | |
| Releasesol4k/sol4k | 135 | — | ~949 | Automated safety check: Pass | Apache-2.0 | |
| Release New Versionniki914/zafiro | 235 | — | ~2.1k | Automated safety check: Pass | MIT | |
| Dependabot PR Reviewkernitus/BukkitOldCombatMechanics | 225 | — | ~882 | Automated safety check: Pass | MPL-2.0 |
apache/grails-core
Guidance for Groovy 5 work in Grails projects: syntax, closures, traits, DSLs, metaprogramming, Spock tests, static compilation and Java 21 integration.
RedMadRobot/gradle-version-catalogs
Use EVERY time the user asks to update / bump the version catalogs, "сделать обновление", "обновить каталог(и)", "обнови версии", "оформи изменения", "update the catalog", or to record dependency…
sol4k/sol4k
Bump the sol4k library version everywhere, open a release PR, and draft GitHub release notes.
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…
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…
meta-quest/agentic-tools
Upgrades Meta VR apps to newer Horizon OS SDK versions — migration guides, deprecated API replacements, changelog.
axelixlabs/axelix
Review configuration property changes in the Axelix project for breaking changes and migration-policy compliance.
axelixlabs/axelix
Refine and triage GitHub backlog by finding open issues that are stale, obsolete, or resolved by another path.
axelixlabs/axelix
Pick open GitHub issues in the Axelix monorepo that are suitable for unpaid volunteer contributors working in their spare time.
axelixlabs/axelix
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…
axelixlabs/axelix
Reviews changes in sbs/starter-domain for technology-agnostic domain logic, forbidden production dependencies, and Java 11+ compatibility.
axelixlabs/axelix
Reviews test code in GitHub pull requests for isolation, public-API contract coverage, AAA structure, and correct exception assertions.
Works with
Categories
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.