datadog/prepare-release
Prepares a jmxfetch release by bumping the version in pom.xml, README.md, and test.yml, and populating the CHANGELOG.md entry. Pass the new version as the argument (e.g. /prepare-release 0.52.0).
npx skills add https://github.com/DataDog/jmxfetch --skill prepare-release
You are preparing a jmxfetch release. The new version is: $ARGUMENTS
Read these four files to understand what needs to change:
pom.xml — find the current <version> tag (line ~8). It will look like X.Y.Z-SNAPSHOT.CHANGELOG.md — find the top # X.Y.Z / TBC placeholder heading, review its current entries (if any), and note the last set of [#NNN]: link definitions and [@handle]: contributor lines at the bottom.README.md — find the jar filename reference in the "Running" section (~line 184)..github/workflows/test.yml — find the jar filename in the JDK 7 verification step (~line 65).Also run:
git log --oneline $(git describe --tags --abbrev=0 2>/dev/null || git rev-list --max-parents=0 HEAD)..HEAD
to list all commits since the last tag — use this to identify merged PRs and any external contributors that need CHANGELOG entries and link definitions.
pom.xmlReplace:
<version>CURRENT-SNAPSHOT</version>
With:
<version>$ARGUMENTS</version>
README.mdReplace the jar filename in the "Running" section:
jmxfetch-CURRENT-SNAPSHOT-jar-with-dependencies.jar
With:
jmxfetch-$ARGUMENTS-jar-with-dependencies.jar
.github/workflows/test.ymlReplace the jar filename in the JDK 7 docker run command:
jmxfetch-CURRENT-SNAPSHOT-jar-with-dependencies.jar
With:
jmxfetch-$ARGUMENTS-jar-with-dependencies.jar
CHANGELOG.mdHeading: rename the top placeholder:
# X.Y.Z / TBC
to (using today's date in YYYY-MM-DD format):
# $ARGUMENTS / YYYY-MM-DD
Entries: under the new heading, add one line per user-facing merged PR using this format:
* [TYPE] Description [#NNN][]
Types: FEATURE, IMPROVEMENT, BUGFIX, SECURITY, OTHER.
Skip CI, infra, dependency bump, and test-only PRs — only include changes that affect users.
For external contributors add (Thanks [@handle][]) at the end of the line.
Link definitions: add new [#NNN]: entries in the sorted block near the bottom of the file (before the [@handle]: lines):
[#NNN]: https://github.com/DataDog/jmxfetch/issues/NNN
Use /pull/NNN instead of /issues/NNN for PRs that are pull-request-only (no linked issue).
Contributor handles: add new [@handle]: entries at the very end of the file:
[@handle]: https://github.com/handle
Run:
git diff
to review the full changeset, then stage and commit:
git add pom.xml README.md .github/workflows/test.yml CHANGELOG.md
git commit -m "chore: Preparing $ARGUMENTS release"
| Type | When to use |
|---|---|
| FEATURE | New capability exposed to users |
| IMPROVEMENT | Enhancement to existing behaviour or new config option |
| BUGFIX | Fixes incorrect behaviour |
| SECURITY | Dependency bump or fix for a CVE |
| OTHER | Everything else worth noting (deprecations, removals) |
Take datadog/prepare-release from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference docker.
Without those the skill loads but fails at the first command.