/analyzing-release-readiness
Trigger a pre-merge release readiness review on a GitHub PR, GitLab MR, or local branch. Use when the user wants to analyze code changes for risk, correctness, and potential rollback issues before merging. Trigger words include release readiness, analyze PR, analyze MR, review
$ npx -y skills add aws/agent-toolkit-for-aws --skill analyzing-release-readiness --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/analyzing-release-readiness
Context preview
The summary Claude sees to decide when to auto-load this skill.
Trigger a pre-merge release readiness review on a GitHub PR, GitLab MR, or local branch. Use when the user wants to analyze code changes for risk, correctness, and potential rollback issues before merging. Trigger words include release readiness, analyze PR, analyze MR, review
SKILL.md
analyzing-release-readiness.SKILL.mdname: analyzing-release-readiness
description: >-
Trigger a pre-merge release readiness review on a GitHub PR, GitLab MR, or local branch.
Use when the user wants to analyze code changes for risk, correctness, and potential
rollback issues before merging. Trigger words include release readiness, analyze PR,
analyze MR, review PR, risk analysis, pre-merge, safe to ship, ready to merge,
ready to commit, any risks, before merging, validate changes, release management.
Release Readiness Review
> **AgentSpace routing (SigV4 only):** If `list_agent_spaces` is available in your tool list and the multi-space orchestration skill has NOT been invoked yet this session, invoke it first to determine which `agent_space_id` to use. Then pass `agent_space_id` on all tool calls below. For bearer token auth this is unnecessary — the token is already scoped to one space.
Run a release readiness review via the AWS DevOps Agent. Analyzes a code change for risk, correctness, and potential rollback issues. Returns a structured report with actionable findings.
**Rules:**
- If a **PR/MR URL** is provided: Extract ALL fields from the URL. Do NOT inspect the local workspace or git state.
- **NEVER use `gh` CLI, `glab` CLI, or any external tool to fetch PR/MR details.** All required fields (repository, prNumber/mergeRequestIid, hostname) MUST be parsed directly from the URL or user input. The DevOps Agent fetches the content itself — you only need to pass identifiers.
- **Only** use the local workspace flows when the user references a repository or package **without** a PR/MR link.
Gathering execution parameters
Infer everything automatically from the user's request — do not ask for parameters that can be derived.
**Input source decision tree:**
Has the user provided a pull request/merge request link or ID?
├── Yes: github.com PR URL → use "GitHub PR" flow below
├── Yes: gitlab.com MR URL → use "GitLab MR" flow below
└── No link provided — repo name only → use "Local GitHub/GitLab repo" flow below
---
GitHub PR (github.com URL or PR reference)
- Parse the input to extract fields — do NOT attempt a web fetch unless fields cannot be determined from the input.
- `repository` (required): `owner/repo` from the PR URL
- At least one of the following is required: `headSha` (commit SHA), `headBranch` (branch name), `prNumber` (PR number as a **string**, e.g. `"8"` not `8`)
- `hostname`: Extract from the URL (e.g., `github.com` or a self-hosted hostname)
- Pass these fields to `create_release_readiness_review` under `content.githubPrContent` as an **array of objects** (even for a single PR).
**Example:**
{
"content": {
"githubPrContent": [
{
"repository": "owner/repo",
"prNumber": "8",
"hostname": "github.com"
}
]
}
}> **Critical format rules**: `githubPrContent` MUST be an array (not a single object). `prNumber` MUST be a string (not an integer).
---
GitLab MR (gitlab.com URL)
- Parse the input to extract fields — do NOT attempt a web fetch unless fields cannot be determined from the input.
- `repository` (required): `owner/repo` from the MR URL
- At least one of the following is required: `headSha` (commit SHA), `headBranch` (branch name), `mergeRequestIid` (MR number as a **string**, e.g. `"1"` not `1`)
- `hostname`: Extract from the URL (e.g., `gitlab.com` or a self-hosted hostname)
- Pass these fields to `create_release_readiness_review` under `content.gitlabMrContent` as an **array of objects** (even for a single MR).
**Example:**
{
"content": {
"gitlabMrContent": [
{
"repository": "namespace/repo",
"mergeRequestIid": "1",
"hostname": "gitlab.com"
}
]
}
}> **Critical format rules**: `gitlabMrContent` MUST be an array (not a single object). `mergeRequestIid` MUST be a string (not an integer). Violating either causes immediate task failure with no journal records.
---
Local GitHub/GitLab repo (no PR/MR URL provided — local workspace ONLY)
**MANDATORY**: When the user references a repository or branch without a PR/MR link, you MUST execute every step below in order. Do NOT shortcut by grabbing the remote URL and SHA directly — the review agent needs a pushed branch to read from. Skipping the push step will cause the analysis to fail or produce incomplete results.
1. **Navigate to the repository directory**: `cd` to the repo root (e.g., the clone directory). Ask the user if needed. 2. **Determine the base branch**: Use `main` unless the user specifies a different branch. Verify the remote tracking branch exists:
BASE_BRANCH="main"
if ! git show-ref --verify --quiet refs/remotes/origin/$BASE_BRANCH; then
git fetch origin $BASE_BRANCH
fiIf the fetch fails (e.g., "couldn't find remote ref"), ask the user to specify the base branch and stop. 3. **Check for local changes**: Run `git status --short` and `git rev-list --count origin/$BASE_BRANCH..HEAD` to determine the state and communicate accordingly:
- **Clean AND not ahead**: Inform the user there's nothing new to analyze and stop.
- **Has uncommitted changes (with or without unpushed commits)**:
- If there are one or more unpushed commits (rev-list count >= 1), tell the user:
> "You have uncommitted changes and N unpushed commits. I'll commit your uncommitted changes on top, then push all N+1 commits to a new branch for analysis. All changes will appear as a single diff against the base branch. Shall I proceed?"
- If there are no other unpushed commits (rev-list count = 0), tell the user:
> "I'll commit your uncommitted changes and push them to a new branch for release readiness review. Shall I proceed?"
- **Do NOT proceed until the user approves.** If they decline, stop.
- **Clean but ahead of remote (rev-list count > 0, no uncommitted changes)**:
- If ahead by more than
Read more
name: analyzing-release-readiness description: >- Trigger a pre-merge release readiness review on a GitHub PR, GitLab MR, or local branch. Use when the user wants to analyze code changes for risk, correctness, and potential rollback issues before merging. Trigger words include release readiness, analyze PR, analyze MR, review PR, risk analysis, pre-merge, safe to ship, ready to merge, ready to commit, any risks, before merging, validate changes, release management.
Release Readiness Review
> **AgentSpace routing (SigV4 only):** If `list_agent_spaces` is available in your tool list and the multi-space orchestration skill has NOT been invoked yet this session, invoke it first to determine which `agent_space_id` to use. Then pass `agent_space_id` on all tool calls below. For bearer token auth this is unnecessary — the token is already scoped to one space.
Run a release readiness review via the AWS DevOps Agent. Analyzes a code change for risk, correctness, and potential rollback issues. Returns a structured report with actionable findings.
**Rules:**
- If a **PR/MR URL** is provided: Extract ALL fields from the URL. Do NOT inspect the local workspace or git state.
- **NEVER use `gh` CLI, `glab` CLI, or any external tool to fetch PR/MR details.** All required fields (repository, prNumber/mergeRequestIid, hostname) MUST be parsed directly from the URL or user input. The DevOps Agent fetches the content itself — you only need to pass identifiers.
- **Only** use the local workspace flows when the user references a repository or package **without** a PR/MR link.
Gathering execution parameters
Infer everything automatically from the user's request — do not ask for parameters that can be derived.
**Input source decision tree:**
Has the user provided a pull request/merge request link or ID? ├── Yes: github.com PR URL → use "GitHub PR" flow below ├── Yes: gitlab.com MR URL → use "GitLab MR" flow below └── No link provided — repo name only → use "Local GitHub/GitLab repo" flow below
---
GitHub PR (github.com URL or PR reference)
- Parse the input to extract fields — do NOT attempt a web fetch unless fields cannot be determined from the input.
- `repository` (required): `owner/repo` from the PR URL
- At least one of the following is required: `headSha` (commit SHA), `headBranch` (branch name), `prNumber` (PR number as a **string**, e.g. `"8"` not `8`)
- `hostname`: Extract from the URL (e.g., `github.com` or a self-hosted hostname)
- Pass these fields to `create_release_readiness_review` under `content.githubPrContent` as an **array of objects** (even for a single PR).
**Example:**
{
"content": {
"githubPrContent": [
{
"repository": "owner/repo",
"prNumber": "8",
"hostname": "github.com"
}
]
}
}> **Critical format rules**: `githubPrContent` MUST be an array (not a single object). `prNumber` MUST be a string (not an integer).
---
GitLab MR (gitlab.com URL)
- Parse the input to extract fields — do NOT attempt a web fetch unless fields cannot be determined from the input.
- `repository` (required): `owner/repo` from the MR URL
- At least one of the following is required: `headSha` (commit SHA), `headBranch` (branch name), `mergeRequestIid` (MR number as a **string**, e.g. `"1"` not `1`)
- `hostname`: Extract from the URL (e.g., `gitlab.com` or a self-hosted hostname)
- Pass these fields to `create_release_readiness_review` under `content.gitlabMrContent` as an **array of objects** (even for a single MR).
**Example:**
{
"content": {
"gitlabMrContent": [
{
"repository": "namespace/repo",
"mergeRequestIid": "1",
"hostname": "gitlab.com"
}
]
}
}> **Critical format rules**: `gitlabMrContent` MUST be an array (not a single object). `mergeRequestIid` MUST be a string (not an integer). Violating either causes immediate task failure with no journal records.
---
Local GitHub/GitLab repo (no PR/MR URL provided — local workspace ONLY)
**MANDATORY**: When the user references a repository or branch without a PR/MR link, you MUST execute every step below in order. Do NOT shortcut by grabbing the remote URL and SHA directly — the review agent needs a pushed branch to read from. Skipping the push step will cause the analysis to fail or produce incomplete results.
1. **Navigate to the repository directory**: `cd` to the repo root (e.g., the clone directory). Ask the user if needed. 2. **Determine the base branch**: Use `main` unless the user specifies a different branch. Verify the remote tracking branch exists:
BASE_BRANCH="main"
if ! git show-ref --verify --quiet refs/remotes/origin/$BASE_BRANCH; then
git fetch origin $BASE_BRANCH
fiIf the fetch fails (e.g., "couldn't find remote ref"), ask the user to specify the base branch and stop. 3. **Check for local changes**: Run `git status --short` and `git rev-list --count origin/$BASE_BRANCH..HEAD` to determine the state and communicate accordingly:
- **Clean AND not ahead**: Inform the user there's nothing new to analyze and stop.
- **Has uncommitted changes (with or without unpushed commits)**:
- If there are one or more unpushed commits (rev-list count >= 1), tell the user:
> "You have uncommitted changes and N unpushed commits. I'll commit your uncommitted changes on top, then push all N+1 commits to a new branch for analysis. All changes will appear as a single diff against the base branch. Shall I proceed?"
- If there are no other unpushed commits (rev-list count = 0), tell the user:
> "I'll commit your uncommitted changes and push them to a new branch for release readiness review. Shall I proceed?"
- **Do NOT proceed until the user approves.** If they decline, stop.
- **Clean but ahead of remote (rev-list count > 0, no uncommitted changes)**:
- If ahead by more than
Help AI coding agents build, deploy, and manage applications on AWS. The Agent Toolkit for AWS gives AI coding agents the tools, knowledge, and guardrails they need to work with AWS services.
Repo: aws/agent-toolkit-for-aws
Other skills on agent-toolkit-for-aws.
- /chatting-with-aws-devops-agent
Have a fast, conversational analysis with the AWS DevOps Agent. Use for cost optimization, architecture review, topology mapping, knowledge / runbook discovery, security audits, dependency questions, and quick diagnostics — anything that needs a 5-30 second answer rather than a
Open skill - /coordinating-multi-space-devops-agent
Coordinate the AWS DevOps Agent across multiple AgentSpaces from one Claude Code session — route questions to the right space (prod vs staging vs knowledge), query several spaces in parallel and synthesize, or compare findings across accounts. Use whenever the user has more than
Open skill - /diff-scanning-with-aws-security-agent
Run a fast AWS Security Agent diff scan on only the changed code since a git ref. Use when the user asks to scan changes, run a diff scan, check what changed for security issues, scan before committing, scan before PR, or any pre-commit/pre-push security check.
Open skill - /investigating-incidents-with-aws-devops-agent
Run a deep root-cause investigation on the AWS DevOps Agent. Use when the user describes an incident, alarm, outage, or unexplained behavior — keywords like "5xx", "503", "OOM", "latency spike", "deployment failure", "rollback", "sev1", "investigate", "root cause", "debug",
Open skill - /pentesting-with-aws-security-agent
Run an AWS Security Agent penetration test against a live web application — registers and verifies the target domain, exercises the supplied endpoints with the managed Security Agent service, and returns verified runtime findings. Use when the user asks to pentest, run a
Open skill - /remediating-with-aws-security-agent
Pull AWS Security Agent findings (penetration tests and code reviews) and drive remediation. Use this whenever the user mentions Security Agent, security findings, pentest or penetration test results, code review findings, vulnerabilities found in their AWS account, "what did
Open skill

