chaos-engineer
jeffallan/claude-skills
Design chaos experiments, failure injection frameworks, and game day exercises for resilient distributed systems.
What is chaos-engineer?
Chaos Engineer helps you design and execute controlled failure experiments on distributed systems to uncover weaknesses before they cause outages. Use it when planning chaos experiments, implementing failure injection frameworks (Chaos Monkey, Litmus), conducting game days, or building antifragile systems.
- Design chaos experiments with hypothesis, steady state metrics, and blast radius controls
- Create failure injection manifests and scripts for Kubernetes (Litmus Chaos), infrastructure, and network failures
- Generate runbooks, rollback procedures, and automated abort paths (≤30 second recovery)
- Plan and facilitate game day exercises with learning summaries and improvement tracking
- Implement continuous chaos testing in CI/CD pipelines
- Provide monitoring setup, alert configuration, and post-mortem templates
How to install chaos-engineer
npx skills add https://github.com/jeffallan/claude-skills --skill chaos-engineerHow to use chaos-engineer
- 1.Map your system architecture, dependencies, and critical failure modes
- 2.Define a steady state baseline (latency, error rate, throughput) and verify it before any experiment
- 3.Design your chaos experiment with a single variable, hypothesis, and blast radius cap
- 4.Create the failure injection manifest or script (Litmus YAML, toxiproxy config, or Chaos Monkey policy)
- 5.Apply the experiment with automated rollback configured (abort within 30 seconds)
- 6.Monitor metrics and logs during execution; trigger rollback if steady state is violated
- 7.Document findings, root causes, and at least one tracked improvement in your learning summary
Use cases
- Testing pod failure resilience in Kubernetes using Litmus ChaosEngine manifests
- Injecting network latency and packet loss with toxiproxy to validate downstream dependency handling
- Executing Chaos Monkey experiments on cloud instances with blast radius isolation
- Conducting game day exercises to validate incident response procedures and runbooks
- Validating circuit breaker and failover behavior under controlled zone or region failures
- SRE engineers building resilience into production systems
- DevOps engineers implementing continuous chaos testing
- Platform engineers designing failure injection frameworks
- Engineering leaders planning game day exercises and resilience improvements
chaos-engineer FAQ
Start with the smallest possible failure scope (e.g., 33% of pod replicas, single ASG, one proxy) and expand only after validation. This limits customer impact and ensures you can abort quickly without cascading failures.
Define and test an automated abort path before the experiment begins. Rollback must complete in ≤30 seconds via scripted commands (kubectl patch, toxiproxy-cli remove, etc.). Never rely on manual intervention.
Yes, but only with safety nets: circuit breakers, feature flags, canary isolation, or blast radius controls. Always verify steady state first and have a tested rollback procedure.
Write a learning summary including: hypothesis, actual outcome, root causes discovered, metrics during failure, and at least one tracked improvement (code fix, monitoring alert, runbook update).
Use tools like Litmus Chaos, Gremlin, or Chaos Monkey with automated experiment triggers on staging or canary deployments. Fail the pipeline if steady state metrics are violated.
Full instructions (SKILL.md)
Source of truth, from jeffallan/claude-skills.
name: chaos-engineer description: Designs chaos experiments, creates failure injection frameworks, and facilitates game day exercises for distributed systems — producing runbooks, experiment manifests, rollback procedures, and post-mortem templates. Use when designing chaos experiments, implementing failure injection frameworks, or conducting game day exercises. Invoke for chaos experiments, resilience testing, blast radius control, game days, antifragile systems, fault injection, Chaos Monkey, Litmus Chaos. license: MIT metadata: author: https://github.com/Jeffallan version: "1.1.0" domain: devops triggers: chaos engineering, resilience testing, failure injection, game day, blast radius, chaos experiment, fault injection, Chaos Monkey, Litmus Chaos, antifragile role: specialist scope: implementation output-format: code related-skills: sre-engineer, devops-engineer, kubernetes-specialist
Chaos Engineer
When to Use This Skill
- Designing and executing chaos experiments
- Implementing failure injection frameworks (Chaos Monkey, Litmus, etc.)
- Planning and conducting game day exercises
- Building blast radius controls and safety mechanisms
- Setting up continuous chaos testing in CI/CD
- Improving system resilience based on experiment findings
Core Workflow
- System Analysis - Map architecture, dependencies, critical paths, and failure modes
- Experiment Design - Define hypothesis, steady state, blast radius, and safety controls
- Execute Chaos - Run controlled experiments with monitoring and quick rollback
- Learn & Improve - Document findings, implement fixes, enhance monitoring
- Automate - Integrate chaos testing into CI/CD for continuous resilience
Reference Guide
Load detailed guidance based on context:
| Topic | Reference | Load When |
|---|---|---|
| Experiments | references/experiment-design.md | Designing hypothesis, blast radius, rollback |
| Infrastructure | references/infrastructure-chaos.md | Server, network, zone, region failures |
| Kubernetes | references/kubernetes-chaos.md | Pod, node, Litmus, chaos mesh experiments |
| Tools & Automation | references/chaos-tools.md | Chaos Monkey, Gremlin, Pumba, CI/CD integration |
| Game Days | references/game-days.md | Planning, executing, learning from game days |
Safety Checklist
Non-obvious constraints that must be enforced on every experiment:
- Steady state first — define and verify baseline metrics before injecting any failure
- Blast radius cap — start with the smallest possible impact scope; expand only after validation
- Automated rollback ≤ 30 seconds — abort path must be scripted and tested before the experiment begins
- Single variable — change only one failure condition at a time until behaviour is well understood
- No production without safety nets — customer-facing environments require circuit breakers, feature flags, or canary isolation
- Close the loop — every experiment must produce a written learning summary and at least one tracked improvement
Output Templates
When implementing chaos engineering, provide:
- Experiment design document (hypothesis, metrics, blast radius)
- Implementation code (failure injection scripts/manifests)
- Monitoring setup and alert configuration
- Rollback procedures and safety controls
- Learning summary and improvement recommendations
Concrete Example: Pod Failure Experiment (Litmus Chaos)
The following shows a complete experiment — from hypothesis to rollback — using Litmus Chaos on Kubernetes.
Step 1 — Define steady state and apply the experiment
# Verify baseline: p99 latency < 200ms, error rate < 0.1%
kubectl get deploy my-service -n production
kubectl top pods -n production -l app=my-service
Step 2 — Create and apply a Litmus ChaosEngine manifest
# chaos-pod-delete.yaml
apiVersion: litmuschaos.io/v1alpha1
kind: ChaosEngine
metadata:
name: my-service-pod-delete
namespace: production
spec:
appinfo:
appns: production
applabel: "app=my-service"
appkind: deployment
# Limit blast radius: only 1 replica at a time
engineState: active
chaosServiceAccount: litmus-admin
experiments:
- name: pod-delete
spec:
components:
env:
- name: TOTAL_CHAOS_DURATION
value: "60" # seconds
- name: CHAOS_INTERVAL
value: "20" # delete one pod every 20s
- name: FORCE
value: "false"
- name: PODS_AFFECTED_PERC
value: "33" # max 33% of replicas affected
# Apply the experiment
kubectl apply -f chaos-pod-delete.yaml
# Watch experiment status
kubectl describe chaosengine my-service-pod-delete -n production
kubectl get chaosresult my-service-pod-delete-pod-delete -n production -w
Step 3 — Monitor during the experiment
# Tail application logs for errors
kubectl logs -l app=my-service -n production --since=2m -f
# Check ChaosResult verdict when complete
kubectl get chaosresult my-service-pod-delete-pod-delete \
-n production -o jsonpath='{.status.experimentStatus.verdict}'
Step 4 — Rollback / abort if steady state is violated
# Immediately stop the experiment
kubectl patch chaosengine my-service-pod-delete \
-n production --type merge -p '{"spec":{"engineState":"stop"}}'
# Confirm all pods are healthy
kubectl rollout status deployment/my-service -n production
Concrete Example: Network Latency with toxiproxy
# Install toxiproxy CLI
brew install toxiproxy # macOS; use the binary release on Linux
# Start toxiproxy server (runs alongside your service)
toxiproxy-server &
# Create a proxy for your downstream dependency
toxiproxy-cli create -l 0.0.0.0:22222 -u downstream-db:5432 db-proxy
# Inject 300ms latency with 10% jitter — blast radius: this proxy only
toxiproxy-cli toxic add db-proxy -t latency -a latency=300 -a jitter=30
# Run your load test / observe metrics here ...
# Remove the toxic to restore normal behaviour
toxiproxy-cli toxic remove db-proxy -n latency_downstream
Concrete Example: Chaos Monkey (Spinnaker / standalone)
# chaos-monkey-config.yml — restrict to a single ASG
deployment:
enabled: true
regionIndependence: false
chaos:
enabled: true
meanTimeBetweenKillsInWorkDays: 2
minTimeBetweenKillsInWorkDays: 1
grouping: APP # kill one instance per app, not per cluster
exceptions:
- account: production
region: us-east-1
detail: "*-canary" # never kill canary instances
# Apply and trigger a manual kill for testing
chaos-monkey --app my-service --account staging --dry-run false
Related skills
More from jeffallan/claude-skills and the wider catalog.

cli-developer
Build production CLI tools with argument parsing, completions, and interactive prompts across Node.js, Python, and Go.

cloud-architect
Design cloud architectures, migration plans, cost optimization, and disaster recovery across AWS, Azure, and GCP.

code-documenter
Generate and validate technical documentation—docstrings, API specs, JSDoc, and developer guides.

code-reviewer
Analyze code diffs for bugs, security vulnerabilities, and architectural concerns with prioritized, actionable feedback.

cpp-pro
Modern C++20/23 expert for high-performance systems, template metaprogramming, and zero-overhead abstractions.

csharp-developer
Senior C# developer for .NET 8+ APIs, Blazor apps, and Entity Framework solutions.