release-a2a

A maintainer’s checklist for releasing versions of the A2A Java project. It covers version changes, automated checks, tags, Maven Central publication, follow-up development versions, and documentation.

In plain words
What is it for?
Use it to prepare a release, verify CI, publish a version, create the next snapshot version, and plan documentation changes.
Why use it?
It reduces missed release steps and helps keep published packages, source control, and documentation aligned.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/a2aproject/a2a-java/release-a2a
Any agent
npx skills add a2aproject/a2a-java --skill release-a2a
Clone the repo
git clone --depth 1 https://github.com/a2aproject/a2a-java

Made for: Claude Code, Codex.

Per session 36 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,462 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00036 $0.02462
Opus 5 $0.00018 $0.01231
Sonnet 5 $0.00007 $0.00492
Haiku 4.5 $0.00004 $0.00246

Measured yesterday against content hash e5de10c9d339, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

release-a2a scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.agents/skills/release-a2a/SKILL.md · 230 lines

How it starts

The opening of the file, as written. The whole thing — 230 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Release Process

Guide the full release lifecycle. Proceed autonomously through mechanical steps (running scripts, polling CI, creating PRs) and pause only for genuine decisions, failures, or destructive actions.

Phase 0: Determine Release Parameters

  1. Read the current version from the root pom.xml — the -SNAPSHOT suffix indicates the current dev version.

  2. Ask the user which version to release if not already specified.

  3. Apply the Final suffix convention: if the user specifies a plain version like 1.2.0, the release version is 1.2.0.Final. Pre-release qualifiers (Alpha1, Beta1, CR1) are used as-is.

  4. Suggest a sensible next SNAPSHOT version and confirm with the user:

    • Final: 1.1.0.Final1.1.1.Final-SNAPSHOT
    • Pre-release: 1.1.0.Alpha11.1.0.Alpha2-SNAPSHOT
  5. Determine the documentation plan:

    • Skip for micro/patch releases (X.Y.Z where Z > 0)
    • Ask for pre-releases (Alpha/Beta/CR)
    • Yes for major/minor Final releases (X.Y.0.Final)
  6. Detect git remotes. Run git remote -v and identify:

    • Upstream remote: the remote whose URL contains a2aproject/a2a-java (this is the canonical repo — it may be called upstream, origin, or anything else).
    • Fork remote: a different remote owned by the current user (typically origin). Extract the fork owner from its URL (e.g., kabir from github.com:kabir/a2a-java.git).

    Throughout this skill, <upstream> refers to the detected upstream remote name and <fork> refers to the fork remote name. All PRs are created from the fork, and tags/main are pushed to/pulled from upstream.

Phase 1: Pre-Release Verification

  1. Verify gh CLI is installed and authenticated:

    gh auth status
    

    If not installed or not logged in, stop and ask the user to run gh auth login.

  2. Verify clean working tree:

    git status
    

    If there are uncommitted changes, stop and ask.

  3. Verify we are on main and in sync with upstream. Fetch first to ensure the remote ref is current:

    git fetch <upstream> main
    git log --oneline HEAD..<upstream>/main
    git log --oneline <upstream>/main..HEAD
    

    If local main is behind or ahead of <upstream>/main, stop and ask the user.

Read the full file on GitHub · 230 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 230 lines · 36 tokens per session scan A e5de10c9d339

Subscribe to this mod's changes

release-a2a is a skill published in the GitHub repository a2aproject/a2a-java (481 stars, last pushed 4d ago), licensed Apache-2.0. It adds 36 tokens to every session and 2,462 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.

Related

Other skills, from other repositories