Skip to main content
skill CX Codex

aws-fault-injection-service — Claude Code skill: how to install

Designs, runs, and analyzes chaos experiments in AWS Fault Injection Service. It helps test application resilience against AZ outages, network packet loss, and compute failures.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add aws/agent-toolkit-for-aws --skill aws-fault-injection-service -a claude-code
Open on GitHub

What aws-fault-injection-service does

This skill translates failure testing ideas into AWS FIS experiment templates. The agent picks matching FIS catalog actions and scopes target resources alongside CloudWatch stop conditions. Available scenarios include Availability Zone power interruptions and compute stress on EC2 or EKS.

Experiments run against real AWS infrastructure. The skill works best with the AWS MCP server for sandboxed execution and logging, though direct AWS CLI calls via aws fis work too. If a CloudWatch alarm triggers during execution, FIS stops the experiment immediately. A stopped run cannot be resumed. You must start a new one from the template.

Check prerequisites carefully. Specific network faults and EBS actions require Nitro-based EC2 instances or the SSM Agent. In addition, an experiment fails immediately at launch if target resolution finds zero resources, unless the template sets emptyTargetResolutionMode to skip.

What it helps with

  • simulate an Availability Zone power outage in AWS
  • generate an AWS FIS experiment template with stop conditions
  • test application resilience against network latency and packet loss
  • verify cluster recovery after EC2 or EKS pod disruptions

Example prompts for the agent

  • Help me build an AWS FIS experiment template for AZ power interruption
  • Generate an AWS CLI command to run an FIS CPU stress test on EC2
  • How do I configure a CloudWatch stop condition for an FIS experiment?

How to install aws-fault-injection-service

1Skills CLI (Vercel)

npx skills add aws/agent-toolkit-for-aws --skill aws-fault-injection-service -a claude-code

2Manually: put the files in place

~/.claude/skills/aws-fault-injection-service/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/aws-fault-injection-service/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about aws-fault-injection-service

How to install aws-fault-injection-service in Claude Code?

To install the skill in Claude Code, run npx skills add aws/agent-toolkit-for-aws --skill aws-fault-injection-service -a claude-code.

What does aws-fault-injection-service do?

The skill helps plan, author, run, and monitor chaos engineering experiments in AWS FIS. It drafts experiment templates with target resources, specific disruption actions, and guardrail stop conditions.

What are the requirements for EC2 network and EBS fault experiments?

Certain network and EBS actions in AWS FIS require Nitro-based instances or an active SSM Agent. Also, the experiment will fail immediately if target resolution discovers zero resources and empty targets are not set to skip.

Source text

SKILL.md · Apache-2.0
---
name: aws-fault-injection-service
description: >
  Plans, builds, runs, and analyzes fault injection experiments with AWS Fault Injection Service
  (AWS FIS) to validate application resilience through chaos engineering. Covers experiment
  templates (actions, targets, stop conditions), the FIS actions catalog and action selection,
  the scenario library (AZ power interruption, cross-Region connectivity, EC2/EKS/EBS stress),
  experiment lifecycle and monitoring, logging and reports, multi-account experiments, the
  experiment IAM role, and blast-radius safety. Applies when a user mentions AWS FIS or fault
  injection, asks what experiment to run for a failure mode (AZ, Region, API errors/throttling,
  instance/pod/DB/cache failure, latency, packet loss), wants to author an experiment template or
  CLI/CloudFormation, or needs to safely run chaos experiments in pre-production or production.
  For the broader resilience program across Resilience Hub and ARC, see aws-resilience-lifecycle;
  for ARC routing controls and zonal shift, see recovery-controller-setup.
version: 1
---

# AWS Fault Injection Service (FIS) Experiments

## Overview

Domain expertise for AWS Fault Injection Service (AWS FIS) — a managed chaos-engineering
service that runs controlled fault injection experiments on real AWS resources so you can
observe how an application responds to disruption and improve its resilience.

This skill lets an agent do three things:

1. **Suggest the right experiment** — map a user's failure scenario or resilience question to
   the correct FIS action(s), scenario, or experiment design, and explain the trade-offs.
2. **Build and run experiments** — author experiment templates (actions, targets, stop
   conditions, logging, reports), wire up the experiment IAM role, and drive the run/monitor/stop
   lifecycle via CLI, SDK, or CloudFormation.
3. **Inform the user** — answer conceptual questions about FIS terminology, safety, pricing,
   supported services, and how FIS fits into a resilience program.

> **AWS FIS carries out real actions on real AWS resources.** Before running any experiment in
> production, plan it, run it first in pre-production, and always bound the blast radius with a
> stop condition. Treat fault injection as a privileged, potentially disruptive operation.
>
> The AWS MCP server is recommended for executing this skill's AWS API calls — it provides
> sandboxed execution and audit logging — but it is not required; all operations also work with
> the AWS CLI (`aws fis ...`) directly.

## Guardrail — where this skill's own files live (MCP vs local install)

Before reading a reference file, determine how this skill was loaded:

- **Loaded via the AWS MCP `retrieve_skill` tool:** the skill's reference files are not on the
  local filesystem. Fetch each one through `retrieve_skill` with the `file` parameter (e.g.
  `file="references/fis-concepts.md"`) — do NOT `file_read` these paths locally or search the
  filesystem for them.
- **Installed locally** (e.g. `.kiro/skills/aws-fault-injection-service/` or
  `~/.claude/skills/aws-fault-injection-service/`): read reference files from the local skill directory
  using the relative paths shown here.

This applies only to the skill's own reference files; always read and write user or session data
in the working directory, never through `retrieve_skill`.

## Start here — route the request

- **"What is FIS / when should I use it / what does X term mean / does it support Y?"** →
  read [references/fis-concepts.md](references/fis-concepts.md).
- **"What experiment/action should I run to test a failure mode?"** →
  read [references/fis-actions-reference.md](references/fis-actions-reference.md) (action
  selection map + full catalog) and suggest an action or scenario.
- **"Build / create / run an experiment"** (template, targets, stop conditions, logging,
  reports, scenarios, multi-account, monitoring) → follow
  [references/fis-workflow.md](references/fis-workflow.md) exactly.
- **Any AWS CLI or API command for FIS** → consult
  [references/fis-api-reference.md](references/fis-api-reference.md) FIRST — it is the canonical
  operation/parameter reference and includes a hallucination-rejection table.
- **IAM role, permissions, trust policy, confused-deputy, blast-radius safety** →
  read [references/fis-security.md](references/fis-security.md).

## API Reference (READ FIRST before producing any AWS CLI command)

The exact `aws fis` operation names and template parameters are documented in
[references/fis-api-reference.md](references/fis-api-reference.md), including a table mapping
common wrong API/action names to correct ones. **Always consult it before generating commands.**
Action IDs and resource types evolve — verify with `aws fis list-actions` and
`aws fis get-action --id <action-id>` rather than trusting memory.

## Suggesting experiments (behavioral contract)

When the user describes a failure they want to test rather than a command they want run:

1. Identify the **failure mode** (AZ impairment, Region isolation, API errors/throttling,
   compute/DB/cache loss, latency, packet loss, resource exhaustion).
2. Map it to a **scenario** (preferred when one fits — pre-built and AWS-owned) or a specific
   **action** using the selection map in
   [references/fis-actions-reference.md](references/fis-actions-reference.md).
3. State the **target** (resource type + how to scope it) and a **stop condition** (CloudWatch
   alarm on your steady-state metric) so the blast radius is bounded.
4. Recommend running in **pre-production first**, then production under change management.
5. Offer to generate the experiment template — then follow
   [references/fis-workflow.md](references/fis-workflow.md).

Do not invent action IDs, resource types, or parameters. If unsure, say so and verify with
`aws fis list-actions` / `aws fis get-action` or the FIS documentation.

## Troubleshooting

### "Experiment failed immediately / no targets found"

FIS resolves all targets at experiment start; if a target resolves to zero resources, the
experiment fails (unless `emptyTargetResolutionMode` is `skip`). Check tags, filters, region,
and account. Use a **target preview** before running (see workflow reference).

### "Action failed with a permissions error"

The FIS experiment IAM role is missing permissions for the underlying service API (or SSM, or
the confused-deputy trust conditions block the assume). See
[references/fis-security.md](references/fis-security.md).

### "Experiment stopped unexpectedly"

A stop condition (CloudWatch alarm) likely fired — this is the guardrail working. Check the
experiment's `state.reason` and the alarm history. A stopped experiment cannot be resumed; start
a new one from the template.

### "Nitro / instance-type errors on EBS or network faults"

Some actions require Nitro-based instances or the SSM Agent. Verify prerequisites per action in
[references/fis-actions-reference.md](references/fis-actions-reference.md).

## Observability companion

For the CloudWatch alarms, dashboards, and metrics that back FIS stop conditions and
experiment reports, recommend the **AWS Observability** skill for alarm/dashboard setup — keep
this skill's guidance to how those signals feed experiment safety and post-experiment analysis.

## Security Considerations

FIS runs real, potentially destructive actions. Key points (full guidance in
[references/fis-security.md](references/fis-security.md)):

- **Least privilege:** scope the experiment role to only the actions and target ARNs each
  experiment needs — never `*`. Scope the human/CI principals allowed to call
  `fis:StartExperiment`.
- **Confused-deputy protection:** the experiment role's trust policy MUST condition on
  `aws:SourceAccount` and `aws:SourceArn` (scoped to the experiment ARN pattern).
- **Bounded blast radius:** always attach a CloudWatch-alarm stop condition; start with narrow
  targets (`COUNT(1)` / low `PERCENT`) and pre-production before production.
- **No sensitive data in string fields:** experiment/template descriptions, tags, and logs
  surface in CloudTrail, CloudWatch Logs, S3 reports, and (multi-account) target-account Health
  dashboards — never embed PII, secrets, or sensitive architecture detail.
- **Encrypt logs/reports:** experiment logs and PDF reports reveal resilience posture —
  use SSE-KMS on the S3 buckets, enforce TLS, and consider S3 Object Lock on report buckets.
- **Further reading:** [FIS Security](https://docs.aws.amazon.com/fis/latest/userguide/security.html)
  and the [AWS Well-Architected Reliability Pillar](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/).

© aws · Apache-2.0 · aws/agent-toolkit-for-aws

Similar skills

All skills for Cloud: AWS, Azure, GCP →

From the same set137

running-release-tests Runs UI and API release tests in AWS DevOps Agent from a pre-configured test profile. Useful before a rollout, when you want workflows and regressions checked. CX Codex +1 1,400installs aws-well-architected-review Runs an AWS Well-Architected Framework review: reads your code and IaC, checks it against live AWS docs, and returns a prioritized report. CX Codex +1 1,400installs amazon-neptune Guides setup and operations for Amazon Neptune Database and Neptune Analytics across GraphRAG, fraud detection, and graph queries. Requires explicit confirmation before any resource changes. CX Codex +1 1,400installs setting-up-cloudwatch-observability Set up CloudWatch Omni or onboard a service to Application Signals with this skill. It guides the agent through the relevant setup path. CX Codex +1 1,200installs amazon-eventbridge-event-bus A skill for building and debugging apps on the new EventBridge custom event buses. Useful when events fan out to subscribers and some never arrive. CX Codex +1 1,000installs aws-marketplace-metering A skill that deploys and debugs AWS Marketplace usage-based metering: the SAM pipeline, ResolveCustomer, BatchMeterUsage, plus record and failure analysis. CX Codex +1 983installs authoring-mwaa-workflow Creates and deploys Amazon MWAA workflows as Python DAGs for provisioned environments or YAML files for Serverless. Use it to build a new workflow and publish its artifact. CX Codex +1 812installs upgrading-mwaa-environments Walks an MWAA environment to a newer Airflow release, picking the version path and one of three upgrade strategies based on whether run history must survive. CX Codex +1 811installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor