AWS Serverless Eda
zxkane/aws-skills
AWS serverless and event-driven architecture expert based on Well-Architected Framework.
Tests Amazon MWAA workflow execution end-to-end: trigger a run and monitor it to completion for Provisioned (Python DAG, via Airflow REST API) and Serverless (YAML workflow, via StartWorkflowRun).
$ npx skills add aws/agent-toolkit-for-aws --skill testing-mwaa-workflow -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install aws/agent-toolkit-for-aws testing-mwaa-workflow --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/aws/agent-toolkit-for-aws.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/aws-data-analytics/skills/testing-mwaa-workflow .claude/skills/testing-mwaa-workflow && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "testing-mwaa-workflow" agent skill from https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-data-analytics/skills/testing-mwaa-workflow into .claude/skills/testing-mwaa-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-mwaa-workflow", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-data-analytics/skills/testing-mwaa-workflowType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add aws/agent-toolkit-for-aws --skill testing-mwaa-workflow -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install aws/agent-toolkit-for-aws testing-mwaa-workflow --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aws/agent-toolkit-for-aws.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/aws-data-analytics/skills/testing-mwaa-workflow .agents/skills/testing-mwaa-workflow && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "testing-mwaa-workflow" agent skill from https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-data-analytics/skills/testing-mwaa-workflow into .agents/skills/testing-mwaa-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-mwaa-workflow", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aws/agent-toolkit-for-aws --skill testing-mwaa-workflow -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install aws/agent-toolkit-for-aws testing-mwaa-workflow --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aws/agent-toolkit-for-aws.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/aws-data-analytics/skills/testing-mwaa-workflow .cursor/skills/testing-mwaa-workflow && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "testing-mwaa-workflow" agent skill from https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-data-analytics/skills/testing-mwaa-workflow into .cursor/skills/testing-mwaa-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-mwaa-workflow", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/aws/agent-toolkit-for-aws.git --path plugins/aws-data-analytics/skills/testing-mwaa-workflow--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add aws/agent-toolkit-for-aws --skill testing-mwaa-workflow -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install aws/agent-toolkit-for-aws testing-mwaa-workflow --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aws/agent-toolkit-for-aws.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/aws-data-analytics/skills/testing-mwaa-workflow .gemini/skills/testing-mwaa-workflow && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "testing-mwaa-workflow" agent skill from https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-data-analytics/skills/testing-mwaa-workflow into .gemini/skills/testing-mwaa-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-mwaa-workflow", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install aws/agent-toolkit-for-aws testing-mwaa-workflowInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add aws/agent-toolkit-for-aws --skill testing-mwaa-workflow -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/aws/agent-toolkit-for-aws.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/aws-data-analytics/skills/testing-mwaa-workflow .github/skills/testing-mwaa-workflow && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "testing-mwaa-workflow" agent skill from https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-data-analytics/skills/testing-mwaa-workflow into .github/skills/testing-mwaa-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-mwaa-workflow", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add aws/agent-toolkit-for-aws --skill testing-mwaa-workflow -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install aws/agent-toolkit-for-aws testing-mwaa-workflow --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/aws/agent-toolkit-for-aws.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/aws-data-analytics/skills/testing-mwaa-workflow .opencode/skills/testing-mwaa-workflow && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "testing-mwaa-workflow" agent skill from https://github.com/aws/agent-toolkit-for-aws/tree/main/plugins/aws-data-analytics/skills/testing-mwaa-workflow into .opencode/skills/testing-mwaa-workflow/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "testing-mwaa-workflow", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
testing-mwaa-workflowTests Amazon MWAA workflow execution end-to-end: trigger a run and monitor it to completion for Provisioned (Python DAG, via Airflow REST API) and Serverless (YAML workflow, via StartWorkflowRun).
Testing Mwaa Workflow is an agent skill from aws/agent-toolkit-for-aws, published by the product's own GitHub organization. Tests Amazon MWAA workflow execution end-to-end: trigger a run and monitor it to completion for Provisioned (Python DAG, via Airflow REST API) and Serverless (YAML workflow, via StartWorkflowRun). Verifies the artifact is deployed and parse-ready, triggers with confirmation, polls to terminal state, and on failure delegates diagnosis to debugging-mwaa-workflow and artifact/redeploy fixes to authoring-mwaa-workflow, then retests up to a capped number of attempts. Triggers on: test my DAG, test my workflow, run my…
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/provisioned-testing.md` and `references/serverless-testing.md`).
It sits in Backend & APIs, covering Serverless, QA and bug reports and Data pipelines and ETL. It works with Amazon Web Services, Python, Apache Airflow and Model Context Protocol. The repository describes itself as: Official, AWS-supported MCP servers, skills, and plugins to help AI agents build on AWS. The licence is Apache-2.0.
7 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit bd49cc8. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
awsFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
docs.aws.amazon.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Testing Mwaa Workflow loads about 3.8k tokens when it runs, and up to ~6.5k if it reads all its reference files. Until then it costs about 213 tokens; SKILL.md has 1,875 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from aws/agent-toolkit-for-aws at commit bd49cc8, republished under its Apache-2.0 licence (© aws). 1,875 words, ~3,845 tokens.
.claude/skills/testing-mwaa-workflow/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.AWS MCP server (optional but recommended): running the AWS CLI commands in this skill through the AWS MCP server gives sandboxed execution and audit logging. Every command here also works with the plain AWS CLI, so the skill does not require the MCP server or any MCP-only tools.
Test Amazon MWAA workflow execution end-to-end: trigger a run, poll it to a terminal state, and on failure drive a capped debug -> fix -> retest loop. This skill triggers and reads state only; it delegates every diagnosis to debugging-mwaa-workflow and every mutation (artifact edit, redeploy, environment create/update) to authoring-mwaa-workflow. Routes by flavor, then runs one shared spine.
Execution note — poll in discrete steps: whenever you wait for an AWS operation to reach a terminal or ready state, issue one status check per call and decide in your own loop whether to check again. Never block a single command or script on the wait (no
while+sleepuntil done), regardless of the operation or how long it takes.
This skill can be loaded two ways, and they resolve the skill's own bundled files from different places. Determine how the skill was loaded before reading a reference:
retrieve_skill tool: The skill is not
installed on the local filesystem. You MUST fetch each reference via
retrieve_skill with the file parameter (e.g.
file="references/provisioned-testing.md") and read the returned content. Do
NOT file_read these paths locally — they do not exist on disk..kiro/skills/testing-mwaa-workflow/ or
~/.claude/skills/testing-mwaa-workflow/): Read the files from the local
skill directory using relative paths.This distinction applies only to the skill's own packaged files. User data and
session artifacts are always read from and written to the user's working
directory. Never fetch or write customer data through retrieve_skill.
aws mwaa get-environment -> Provisioned.workflow/... ARN or any aws mwaa-serverless context -> Serverless.dag_id, or workflow ARN). Its "deploy and test now?"
approval satisfies the first trigger confirmation only.Confirm the artifact is deployed and parse-ready. Do not trigger blind. This step
is MANDATORY even when you plan to adopt an existing run — the readiness data
(last_parsed_time, is_active, has_import_errors) feeds the freshness gate
in Step 2.
dag_id present with has_import_errors: false,
then apply the version-aware ready check via the /dags collection endpoint.
Determine the poll window from the environment's configured scan interval:
check get-environment -> AirflowConfigurationOptions for
scheduler.dag_dir_list_interval (AF2) or dag_processor.refresh_interval (AF3).
If unset, default to 300s. Poll up to that interval + 30s at 15s intervals
(the per-DAG endpoint can lag). On AF2 (REST API v1) require
is_active: true. On AF3 (REST API v2) the is_active field does not
exist — require is_stale: false instead and never wait on is_active (it
reads as absent/false forever). A DAG that is parsed but not yet ready will
reject trigger attempts with an opaque RestApiClientException. Not ready in
time -> hand to debugging-mwaa-workflow.WorkflowStatus is READY (via get-workflow --workflow-arn). Not ready -> hand to debugging-mwaa-workflow.This readiness window is separate from the Step 3 run timeout. See references/provisioned-testing.md and references/serverless-testing.md for exact commands.
State the resolved target and classify its environment. Unless you are certain
it is a development/test environment (name or tags clearly indicate dev/test),
treat it as production: emit a prod warning and require explicit user
confirmation before triggering. If the target is confirmed production (name or
tags contain prod, prd, or production, or the user says so), require
explicit approval at every state-changing step — each trigger, re-trigger,
and clear/rerun — not just once. For a target you are certain is dev/test,
require explicit user confirmation before the first trigger and each
re-trigger.
This gate is already satisfied when the user has given explicit approval for the action: in delegated mode the authoring "deploy and test now?" approval covers the first trigger, and an explicit pre-authorization to trigger a specific run counts as that confirmation — do not re-ask when approval has already been given.
Before triggering, check for scheduler-created runs (see provisioned-testing reference). Apply the freshness gate before adopting any prior run:
run.start_date against dag.last_parsed_time
read from the /dags collection response the Step 1 readiness check already
fetches (the collection returns last_parsed_time per DAG in both v1 and v2 —
no per-DAG call needed). If start_date < last_parsed_time, the run tested a
prior artifact version — treat as stale, trigger fresh. Only adopt runs where
start_date >= last_parsed_time.For fresh, non-stale runs that pass the gate: if a run already exists for the target interval, adopt it instead of POSTing. Monitor through Step 3.
On a retest, all run identifiers must be fresh (Provisioned: both
dag_run_id and logical_date; Serverless: new start-workflow-run call).
Before re-triggering, confirm every prior run is terminal — a still-running
prior run can block the new one from starting.
See references for exact trigger commands and retest hygiene.
Poll the triggered run until it reaches a terminal state. See references for exact poll commands and error fallbacks.
Timeout handling:
dagrun_timeout set: if elapsed time exceeds
dagrun_timeout and the run is still not terminal, treat as failure -> Step 4.
(dagrun_timeout is a DAG-level Airflow parameter and does not apply to MWAA
Serverless.)TIMEOUT terminal state.dagrun_timeout: there is no DAG- or service-level
deadline, so agree a maximum wait with the user before polling (they know
the DAG's expected runtime; default to 1h if they have no preference). Poll
until terminal OR the maximum wait elapses. On reaching the cap, stop polling
and report — do not silently mark it failed, and do not keep polling
unbounded:Run
<run-id>has not reached a terminal state within the agreed<max-wait>. It may still be running — I have not failed it. Choose: (a) extend the wait, (b) inspect logs / the Airflow UI, or (c) treat this test as inconclusive.
Poll interval scales with elapsed time:
| Elapsed time | Poll interval |
|---|---|
| <= 5 min | 15s |
| > 5-15 min | 30s |
| > 15-30 min | 60s |
| > 30-60 min | 2 min |
| > 60 min | 5 min |
Pass = terminal SUCCESS only; no output-data inspection. On pass -> Step 6.
Hand the run identifiers to debugging-mwaa-workflow. It returns its standard structure (Root Cause / Impact / Immediate Fix / Prevention / Commands). Do not re-diagnose here.
5a. Classify each action item debugging returns into one bucket:
| Bucket | Examples | Handling |
|---|---|---|
| ARTIFACT | wrong operator param, missing import, bad YAML schema/timedelta, wrong task wiring, Serverless code-package fix (missing dep / wrong-platform wheel / bad zip layout) | Delegate to authoring-mwaa-workflow: regenerate the compliant artifact (and rebuild/redeploy the --code package for Serverless), then redeploy. Auto-continue. |
| ENVIRONMENT | requirements.txt dependency, plugins.zip, env config / worker sizing | Delegate to authoring's deploy path (owns env mutation + its own approval). Auto-continue after that gate. |
| HUMAN-GATED | new IAM permission, VPC/networking, missing data asset, quota increase | Cannot be auto-applied. Present exact commands, pause the loop, wait for the user to confirm resolution before any retest. |
Testing never mutates directly.
5b. Re-test. After an auto-fixable bucket is applied and redeployed, loop
back to Step 1 (redeploy triggers a fresh S3-sync/parse) -> Step 2 (re-confirm)
-> Step 3. Apply Step 2's re-trigger hygiene: fresh dag_run_id and
logical_date, and confirm the prior run is terminal (not just still
retry-backing-off) before the new trigger.
5c. Mixed action items in one cycle (parallel). Kick off the auto-fixable fixes (regenerate + redeploy via authoring) and present the human-gated items at the same time; do not fully serialize. Two guardrails: (1) gate the retest on both completing — do not re-trigger until auto-fixes are redeployed and the user confirms the human-gated items; (2) if an auto-fix depends on a human-gated item (the regenerated artifact references a resource/permission the user must create first), sequence them instead of parallelizing.
5d. Loop cap and stop conditions. The cap counts attempts without progress, not raw attempts — default 3 (override "retry up to N"). Define progress as either: a task that failed before now reaches SUCCESS (the pipeline advanced), or debugging reports a different root cause than the prior attempt. An attempt that makes progress resets the counter — a multi-task pipeline that clears one blocker per run is advancing, and a hard raw-count cap would abandon it mid-repair. Stop and summarize when any of: (1) run reaches SUCCESS -> Step 6 pass; (2) the no-progress counter hits the cap; (3) a HUMAN-GATED item -> pause for the user. Two consecutive runs with the same root cause count as one no-progress increment each — that is the counter advancing, not a separate rule.
Test Result: PASS | FAIL | STOPPED (<reason>)
Target: <env-name + dag_id | workflow ARN> [PROD WARNING if applicable]
Attempts: <n>/<cap>
Run History:
Attempt 1: <run_id> -> <state> (<duration>) [-> root cause if failed]
Fixes Applied: <artifact/env fixes auto-applied via authoring, per attempt> | none
Outstanding Action Items: <human-gated items, exact commands> | none
Next Step: <re-invoke to retest after resolving | passed, nothing needed>PASS requires terminal SUCCESS. STOPPED covers cap-reached / no-progress / human-gated-pause, each named explicitly.
| Symptom | Cause | Action |
|---|---|---|
DAG absent from GET /dags | S3-sync lag or import error | Hand to debugging-mwaa-workflow before triggering |
--path rejected / truncated | Path over 64 chars (https://docs.aws.amazon.com/cli/latest/reference/mwaa/invoke-rest-api.html) | Poll the collection path with --query-parameters |
RestApiClientException on poll | Web server unreachable | Fall back to DAGProcessing/Scheduler log groups |
RestApiClientException on dagRuns POST (empty message) | DAG not ready — AF2: is_active=false (activation incomplete); AF3: is_stale=true (is_active does not exist in v2) | Poll /dags collection until ready (AF2 is_active=true / AF3 is_stale=false); do not retry the trigger blind |
Manual run created but stuck in queued, never starts (AF3) | DAG is paused — AF3 does not execute manual runs while paused (AF2 does) | Unpause (PATCH /dags/<dag_id> {"is_paused": false}) then trigger; common right after an upgrade where DAGs are deployed paused |
Serverless get-workflow not READY | Still creating/updating or failed | Wait for READY; if FAILED, hand to debugging |
| Same failure two attempts running | Fix not addressing root cause | Stop at no-progress; summarize; do not burn the cap |
© aws, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in plugins/aws-data-analytics/skills/testing-mwaa-workflow of aws/agent-toolkit-for-aws.
Open the folder on GitHubat commit bd49cc8
Testing Mwaa Workflow next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Testing Mwaa Workflow this skillaws/agent-toolkit-for-aws | 2.8k | — | ~3.8k | Automated safety check: Pass | Apache-2.0 | |
| AWS Serverless Edazxkane/aws-skills | 367 | 4 repos | ~3.2k | Automated safety check: Pass | MIT | |
| AWS Lambda Durable Functionsawslabs/agent-plugins | 912 | — | ~2.3k | Automated safety check: Pass | Apache-2.0 | |
| AWS Cdk Developmentzxkane/aws-skills | 367 | 2 repos | ~2.5k | Automated safety check: Pass | MIT | |
| Dinobase Connector Builderkappa90/dinobase | 263 | — | ~1.9k | Automated safety check: Pass | Custom licence | |
| Modaldavila7/claude-code-templates | 32k | 8 repos | ~2.6k | Automated safety check: Pass | MIT |
zxkane/aws-skills
AWS serverless and event-driven architecture expert based on Well-Architected Framework.
awslabs/agent-plugins
Build resilient, long-running, multi-step applications with AWS Lambda durable functions with automatic state persistence, retry logic, and orchestration for long-running executions.
zxkane/aws-skills
AWS Cloud Development Kit (CDK) expert for building cloud infrastructure with TypeScript/Python.
kappa90/dinobase
Writes a new Dinobase YAML connector for a REST API that has no verified dlt source, covering auth, pagination, read and write endpoints and incremental loading.
davila7/claude-code-templates
Run Python code in the cloud with serverless containers, GPUs, and autoscaling.
BioTender-max/awesome-bio-agent-skills
Cloud computing platform for running Python on GPUs and serverless infrastructure.
aws/agent-toolkit-for-aws
Entry point for AI-agent work on AWS: pick a runtime, plan a migration for existing workloads, and build an executable POC — one phased flow.
aws/agent-toolkit-for-aws
A skill your agent uses to extend an existing agent project with memory, app integration, VPC, multi-agent, migration, model, browser, code interpreter, payments, or resource removal.
aws/agent-toolkit-for-aws
Migrates vibe-coded web applications to AWS. An agent skill from aws/agent-toolkit-for-aws.
aws/agent-toolkit-for-aws
Deploy an event-driven workflow that routes S3 uploads to either Lambda or Fargate via Step Functions based on file size.
aws/agent-toolkit-for-aws
Deploys, queries, and debugs AWS Marketplace usage-based (PAYG) metering — the pipeline (ResolveCustomer, BatchMeterUsage, EventBridge via SAM) and querying/debugging metering records, statuses…
aws/agent-toolkit-for-aws
A skill your agent uses when THIS agent needs to pay for x402-protected content at runtime: hitting a paywall mid-task, settling it via AgentCore Payments, and applying operator-defined spend limits.
Tests Amazon MWAA workflow execution end-to-end: trigger a run and monitor it to completion for Provisioned (Python DAG, via Airflow REST API) and Serverless (YAML workflow, via StartWorkflowRun). Testing Mwaa Workflow is an agent skill from aws/agent-toolkit-for-aws, published by the product's own GitHub organization. Tests Amazon MWAA workflow execution end-to-end: trigger a run and monitor it to completion for Provisioned (Python DAG, via Airflow REST API) and Serverless (YAML workflow, via StartWorkflowRun).
Testing Mwaa Workflow fits situations like: A run and monitor it to completion for Provisioned (Python DAG; via Airflow REST API) and Serverless (YAML workflow; via StartWorkflowRun); with confirmation.
Run `npx skills add aws/agent-toolkit-for-aws --skill testing-mwaa-workflow -a claude-code`. Or copy the skill folder (plugins/aws-data-analytics/skills/testing-mwaa-workflow in aws/agent-toolkit-for-aws) into .claude/skills/testing-mwaa-workflow in your project. Claude Code loads it when a task matches its description.
Run `npx skills add aws/agent-toolkit-for-aws --skill testing-mwaa-workflow -a codex`. Or copy the skill folder (plugins/aws-data-analytics/skills/testing-mwaa-workflow in aws/agent-toolkit-for-aws) into .agents/skills/testing-mwaa-workflow in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aws/agent-toolkit-for-aws --skill testing-mwaa-workflow -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/testing-mwaa-workflow, .gemini/skills/testing-mwaa-workflow, .github/skills/testing-mwaa-workflow and .opencode/skills/testing-mwaa-workflow in your project.
Going by SKILL.md and its folder, Testing Mwaa Workflow needs the command-line tools its instructions call (aws). Our summary lists: Python 3.
SKILL.md names 1 domain. As links in the text: docs.aws.amazon.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Testing Mwaa Workflow is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.6k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Testing Mwaa Workflow: AWS Serverless Eda (zxkane/aws-skills, 367 stars), AWS Lambda Durable Functions (awslabs/agent-plugins, 912 stars), AWS Cdk Development (zxkane/aws-skills, 367 stars) and Dinobase Connector Builder (kappa90/dinobase, 263 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
aws (a GitHub organization, an official publisher) maintains it in aws/agent-toolkit-for-aws, which has 2,816 GitHub stars. The repository holds 138 skills in this directory. The repository was last updated on October 7, 2026.
Source: aws/agent-toolkit-for-aws on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.