
Release Testing
OfficialFreeAutomate your release testing with AWS DevOps Agent.
Free · Opens the source repo
What Release Testing does
The Release Testing skill enables users to run automated release tests for both UI and API applications using the AWS DevOps Agent. By leveraging pre-configured test profiles, this skill allows for seamless validation of multi-step workflows, feature verification, regression checks, and API endpoint testing. Users can initiate tests without needing to manually input target URLs or configurations, as these are predefined in the test profiles created through the AWS DevOps Agent console.
To begin using this skill, users must first select a test profile that contains all necessary parameters, including the target URL, agent type, personas, and credentials. Once the profile is selected, the skill guides users through the process of running tests, polling for results, and presenting detailed reports based on the outcomes of the tests. This structured approach ensures that users can efficiently monitor the testing process and receive timely updates on the status of their testing jobs.
The skill is particularly useful for developers and QA engineers who need to ensure the quality and functionality of their applications before release. By automating the testing process, users can save time and reduce the likelihood of human error, leading to more reliable software delivery. The ability to run both UI and API tests from a single interface makes it a versatile tool for teams working in diverse environments.
However, it is important to note that the skill requires a pre-existing test profile, which must be created outside of this tool. Users looking to create new test profiles will need to do so through the AWS DevOps Agent console or API. Additionally, the skill is designed to work specifically with AWS DevOps Agent and may not be suitable for teams using different testing frameworks or tools.
When to use it
Use this skill when you need to validate application workflows, verify features, or conduct regression tests in a structured manner.
When not to use it
Avoid this skill if you do not have pre-existing test profiles or if you require a testing solution outside of the AWS ecosystem.
What you can build with it
Validating a New Feature
Use this skill to run automated tests on a new feature before deployment, ensuring it meets quality standards.
Conducting Regression Tests
Run regression tests to verify that recent code changes haven't adversely affected existing functionalities.
Testing API Endpoints
Utilize this skill to validate API endpoints against predefined specifications, ensuring they function as expected.
How to install Release Testing
View source1. Install with the skills CLI
npx skills add aws/agent-toolkit-for-aws/running-release-tests --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by awsRelease Testing
AgentSpace routing (SigV4 only): If
list_agent_spacesis available in your tool list and the multi-space orchestration skill has NOT been invoked yet this session, invoke it first to determine whichagent_space_idto use. Then passagent_space_idon all tool calls below. For bearer token auth this is unnecessary — the token is already scoped to one space.
Run automated release testing in the cloud via the AWS DevOps Agent's Release Testing Agent. Supports UI testing (browser-based) and API testing (OpenAPI spec-based). Uses pre-existing test profiles that define target URL, agent type, personas, and credentials.
Input is a test profile — the test profile already contains the target URL, agent type (UI or API), test personas, and credentials. Do NOT ask the user for a URL directly; the URL is defined in the test profile.
Prerequisites
- A pre-existing test profile (Knowledge Item ID like
ki-12345) created from the AWS DevOps Agent console
Gathering test parameters
Before starting any workflow, you MUST gather the following parameters. Do NOT proceed to job creation until answered.
Step 1 — Test profile (required)
Ask the user which test profile to use. The test profile already contains the target URL, agent type (UI or API), test personas, and credentials configuration — these do NOT need to be gathered separately.
Note: A pre-existing test profile is a prerequisite. Test profiles are created using the AWS DevOps Agent console or API, not through this tool. If the user asks whether one can be created here, inform them it must already exist.
Step 2 — Test requirement (optional)
If the user has not already mentioned a test focus, ask:
"Do you have a specific test requirement or focus area? If not, I'll run a full exploratory test."
Wait for the user's response. If they provide one, use it as the test_requirement. If they say no or skip, proceed without it.
IMPORTANT: You MUST wait for the user to respond before proceeding to job creation.
Core workflow
1. Select Agent Space
List available agent spaces:
aws devops-agent list-agent-spaces --region us-east-1
Present the list to the user and ask which agent space they'd like to use. Do NOT proceed until the user has selected one. Use the selected agentSpaceId as SPACE_ID in all subsequent calls.
2. Check tool availability
Verify that the following tools are available: aws_devops_agent__create_release_testing_job, aws_devops_agent__get_task, aws_devops_agent__list_journal_records, aws_devops_agent__get_release_ui_testing_report, aws_devops_agent__get_release_api_testing_report. These tools are NOT deferred/lazy-loaded — if they do not appear in your tool list, they are unavailable. Do NOT search for them via ToolSearch. If any are missing, skip the remaining steps in this section and use the "Fallback (aws-mcp)" path below instead.
3. Start the Job
aws_devops_agent__create_release_testing_job(
test_profile_id="ki-12345",
webhook_event_message="<optional test requirement>"
)
→ {"taskId": "...", "executionId": "...", "status": "started"}
Record the taskId and executionId from the response.
4. Poll for Status
Call aws_devops_agent__get_task(task_id=TASK_ID) every 30 seconds until the status transitions to IN_PROGRESS or a terminal state.
5. Monitor Until Completion
Once IN_PROGRESS, poll for progress in a loop:
- Call
aws_devops_agent__list_journal_records(execution_id=EXEC_ID, order="ASC")to fetch new findings. - Present each record to the user with a friendly progress update.
- Use
next_tokenfrom the response to fetch only new records on subsequent polls. - Wait 20 seconds between each poll iteration.
- Check
aws_devops_agent__get_task(task_id=TASK_ID)periodically — stop when terminal status (COMPLETED,FAILED,CANCELED,TIMED_OUT).
6. Present Results
Once the job reaches a terminal status:
- If
COMPLETED:-
Determine the report type from the test profile's agent type (UI or API). Call
aws_devops_agent__get_release_ui_testing_report(execution_id=EXEC_ID)for UI profiles oraws_devops_agent__get_release_api_testing_report(execution_id=EXEC_ID)for API profiles. -
Write the report contents to a markdown file:
release-testing-report-<YYYY-MM-DD-HHmmss>.md -
Inform the user that the report was saved, including the file path.
-
- If
FAILEDorTIMED_OUT: Present the error information and suggest next steps. - If
CANCELED: Inform the user the job was canceled and no report is available.
Cancelling a job
aws_devops_agent__cancel_release_testing_job(task_id=TASK_ID)
Error handling
- If the task status changes to
FAILED, stop the workflow and report the error. - If the task does not reach
IN_PROGRESSwithin 5 minutes, cancel it usingcancel_release_testing_job. - If any output contains "NoCredentialsError", "ExpiredTokenException", or auth failures, suggest the user refresh their credentials or check the bearer token.
- If throttled (
429orThrottlingException), wait 30 seconds before retrying. After 3 retries, inform the user.
Fallback (aws-mcp)
If the aws-devops-agent remote server is unavailable, use the AWS CLI directly:
Tell the user: "Remote server unavailable — using direct AWS API fallback."
1. Select Agent Space
List available agent spaces:
aws devops-agent list-agent-spaces --region us-east-1
Present the list to the user and ask which agent space they'd like to use. Do NOT proceed until the user has selected one. Use the selected agentSpaceId as SPACE_ID in all subsequent calls.
2. Start the Job
aws devops-agent create-backlog-task \
--agent-space-id SPACE_ID \
--task-type RELEASE_TESTING \
--title 'Release Testing' \
--priority MEDIUM \
--description '{\"testProfileId\": \"<PROFILE_ID>\", \"webhookEventMessage\": \"<REQUIREMENT>\"}' \
--region us-east-1
If the user provided a test requirement, include it as webhookEventMessage. If not, omit the field or leave it empty.
3. Poll for Status
aws devops-agent get-backlog-task \
--agent-space-id SPACE_ID \
--task-id TASK_ID \
--region us-east-1
Poll every 30 seconds until the status transitions to IN_PROGRESS or a terminal state (COMPLETED, FAILED, CANCELED, TIMED_OUT).
4. Monitor Until Completion
Once IN_PROGRESS, poll for progress in a loop:
aws devops-agent list-journal-records \
--agent-space-id SPACE_ID \
--execution-id EXEC_ID \
--order ASC \
--region us-east-1
- Present each record to the user with a friendly progress update.
- Use
next_tokenfrom the response to fetch only new records on subsequent polls. - Wait 20 seconds between each poll iteration.
- Check
get-backlog-taskperiodically — stop when terminal status (COMPLETED,FAILED,CANCELED,TIMED_OUT).
5. Present Results
Once the job reaches a terminal status:
- If
COMPLETED:-
Retrieve the report using the appropriate record type:
- UI testing:
--record-type qa_ui_testing_report - API testing:
--record-type qa_api_testing_report
aws devops-agent list-journal-records \ --agent-space-id SPACE_ID \ --execution-id EXEC_ID \ --record-type qa_ui_testing_report \ --order ASC \ --region us-east-1 - UI testing:
-
Write the report contents to a markdown file:
release-testing-report-<YYYY-MM-DD-HHmmss>.md -
Inform the user that the report was saved, including the file path.
-
- If
FAILEDorTIMED_OUT: Present the error information and suggest next steps. - If
CANCELED: Inform the user the job was canceled and no report is available.
Cancelling (fallback)
aws devops-agent update-backlog-task \
--agent-space-id SPACE_ID \
--task-id TASK_ID \
--task-status CANCELED \
--region us-east-1
Frequently asked questions about Release Testing
Similar skills
Turborepo
Optimized build system for JavaScript/TypeScript monorepos.
Azure Pipelines Validation
Streamline your Azure DevOps pipeline changes locally.
Azure Developer CLI
Streamline your Azure project workflows with best practices.
Azure Container Registry CLI
Manage Azure Container Registry resources with ease.
Aspire
Build and orchestrate polyglot distributed applications seamlessly.
Vercel CLI
Manage and deploy Vercel projects from the command line.
