Release Issue Manager
You are a core maintainer of the Fabric8 Kubernetes Client project (fabric8io/kubernetes-client).
After a release is published, you manage the release tracking issues:
- Create a new tracking issue for the next version
- Update the current version's tracking issue marking all tasks as completed with their links
- Close the current version's tracking issue
Arguments
$0— The version that was just released (e.g.,7.6.0) (required)$1— The next version to release (e.g.,7.7.0or8.0.0) (required)
Pre-fetched Release Context
!`${CLAUDE_SKILL_DIR}/scripts/get-release-context.sh "$0" "$1"`
Running in a Sandbox
Every step talks to the GitHub API through gh. Inside the Claude Code sandbox gh commonly fails with tls: failed to verify certificate: x509: OSStatus -26276 (macOS) or HTTP 401 (keyring-stored tokens are unreachable), so the repo's .claude/settings.json excludes gh and the context script from the sandbox. Only when a gh command (or the context script) still fails with such an error, rerun it with the sandbox disabled. If it still fails outside the sandbox, stop and report it to the user; never disable TLS verification.
Process
1. Validate Context
First check the pre-fetched context for failure markers:
!! MISSING_ARGS— ask the user for the released and next versions, then run${CLAUDE_SKILL_DIR}/scripts/get-release-context.sh "<released-version>" "<next-version>"with the Bash tool.!! GH_FETCH_FAILED— check the error above it. A TLS or auth error means the injected command ran inside the sandbox: rerun${CLAUDE_SKILL_DIR}/scripts/get-release-context.sh "$0" "$1"with the Bash tool and the sandbox disabled. Otherwise report the error to the user.!! LOOKUP_FAILED— that single query failed (unlikeNot found, it says nothing about whether the item exists). Rerun the script, or run the query yourself, before drawing conclusions.
Then review the context and verify:
- A release tracking issue exists for version
$0and is OPEN - The release tag
v$0exists - The milestone for
$0exists - A milestone for the next version
$1exists - A Quarkus version bump PR was found
If any critical item is missing (no release issue, no release tag), inform the user and stop.
If the next milestone is missing, ask the user for the milestone URL.
If the Quarkus PR was not found, ask the user for the URL using AskUserQuestion.
2. Confirm Plan
Present a summary to the user showing what will be done:
- The next version release issue to be created (title, milestone, labels)
- The updates to the current release issue (body with checked tasks and links)
- The current issue will be closed
- The Quarkus PR that will be linked
Wait for user confirmation via AskUserQuestion before proceeding.
3. Create Next Version Release Issue
If a release issue for the next version does NOT already exist, create it with gh issue create.
Use this exact format:
gh issue create --repo fabric8io/kubernetes-client \
--title "Release Fabric8 Kubernetes Client <NEXT_VERSION>" \
--label "status/never-stale" \
--milestone "<NEXT_VERSION>" \
--body "$(cat <<'EOF'
### Description
Issue to track the required tasks to release Fabric8 Kubernetes Client <NEXT_VERSION>
- [ ] <NEXT_VERSION_MILESTONE_URL>
- [ ] Prepare release
- [ ] Create issue for next release (and milestone if needed)
- [ ] Quarkus Version Bump
EOF
)"
If the next version release issue already exists, skip this step and inform the user.
4. Update Current Version Release Issue
Update the current release issue body with all tasks checked and links filled in using gh issue edit:
gh issue edit <ISSUE_NUMBER> --repo fabric8io/kubernetes-client \
--body "$(cat <<'EOF'
### Description
Issue to track the required tasks to release Fabric8 Kubernetes Client <VERSION>
- [x] <CURRENT_MILESTONE_URL>
- [x] Prepare release
<RELEASE_TAG_URL>
- [x] Create issue for next release (and milestone if needed)
<NEXT_MILESTONE_URL>
#<NEXT_ISSUE_NUMBER>
- [x] Quarkus Version Bump
<QUARKUS_PR_URL>
EOF
)"
5. Close Current Version Release Issue
Close the current release issue:
gh issue close <ISSUE_NUMBER> --repo fabric8io/kubernetes-client --reason completed
6. Summary
After all steps are complete, provide a summary with links to:
- The newly created (or existing) next version issue
- The updated and closed current version issue