Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Design chaos engineering experiments to test system resilience with controlled failure injection, hypothesis formulation, and blast radius control.
.claude/skills/williamzujkowski-chaos-engineering-experiment-designer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 84% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 76% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 88% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 138% | 0% |
| case-08 | ✗→✓ | ▲ Improved | 104% | 0% |
Trigger conditions:
Use this skill to:
Do NOT use for:
Time normalization:
NOW_ET = 2025-10-25T21:30:36-04:00Required inputs validation:
system_architecture includes component diagram with dependenciesresilience_goals specify quantitative targets (e.g., 99.9% availability)experiment_scope defines clear boundaries (services, environments, regions)existing_monitoring lists available metrics, dashboards, and alertingSource freshness checks:
Abort conditions:
system_architecture lacks dependency information → request clarificationFast path for common scenarios:
yaml experiment_name: "<service>-<failure-type>-v1" hypothesis: "<steady-state-assertion>" scope: "<service-name> in <environment>" blast_radius: "<percentage> of instances" duration: "5m" abort_conditions: "<steady-state-threshold>"
T1 deliverable: Minimal experiment specification ready for review.
Extended validation with tool-specific configuration:
For Kubernetes + Chaos Mesh:
For Kubernetes + LitmusChaos:
For AWS + Chaos Monkey:
chaos_experiment_duration_secondschaos_steady_state_deviation_percentchaos_blast_radius_instances_affectedT2 deliverable: Production-ready experiment with tool configs, safety controls, and monitoring integration.
T2 sources:
Comprehensive resilience validation (use only when explicitly requested):
T3 deliverable: Enterprise-scale chaos engineering program with automation, metrics, and cultural integration.
Experiment scope selection:
Tool selection:
Safety thresholds:
Ambiguity handling:
Primary output: experiment_plan (JSON)
json{ "experiment_id": "string (unique identifier)", "hypothesis": { "steady_state": "string (measurable assertion)", "metrics": [ { "name": "string (e.g., p95_latency_ms)", "baseline": "number (historical average)", "threshold": "number (max acceptable deviation)" } ] }, "failure_injection": { "type": "string (pod-kill|network-delay|cpu-stress|region-failure)", "target": "string (service/component name)", "parameters": "object (tool-specific config)" }, "blast_radius": { "scope": "string (service|AZ|region)", "percentage": "number (1-100)", "max_instances": "number" }, "duration": "string (ISO 8601 duration, e.g., PT5M)", "abort_conditions": [ "string (condition triggering experiment termination)" ], "rollback_procedure": "string (steps to restore normal state)" }
Secondary output: implementation_config (tool-specific YAML/JSON)
Tertiary output: safety_controls (checklist)
Required fields: All JSON schema fields above are mandatory. Missing fields → skill emits TODO and stops.
Example: Pod termination experiment for payment service
yaml# Input system_architecture: "Payment service (3 replicas) → Database (RDS)" resilience_goals: "99.9% availability, P95 latency <200ms" experiment_scope: "Payment service pods in staging, 1 pod max" existing_monitoring: "Prometheus + Grafana, payment_request_duration_ms" # Output (Chaos Mesh PodChaos) apiVersion: chaos-mesh.org/v1alpha1 kind: PodChaos metadata: name: payment-pod-kill-exp namespace: staging spec: action: pod-kill mode: one selector: namespaces: - staging labelSelectors: app: payment-service duration: 5m scheduler: cron: "@every 1h" # Automated GameDay
Token budgets (enforced):
Safety requirements:
Auditability:
Determinism:
Quality checklist:
Official documentation:
Templates and examples:
resources/experiment-template.yaml for full experiment specificationresources/blast-radius-config.json for safety boundary examplesRelated skills:
cloud-native-deployment-orchestrator - for understanding Kubernetes deployment topologydevops-pipeline-architect - for CI/CD integration of chaos experimentsobservability-slo-calculator - for defining steady-state thresholds aligned with SLOs| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 13,720 | 7,829 | -43% | 1 | 1 | 0% | 2,809 | 5,157 | +84% | 0 | 0 | — |
case-02 | fail→pass | 15,441 | 11,611 | -25% | 1 | 1 | 0% | 3,384 | 5,946 | +76% | 0 | 0 | — |
case-03 | fail→pass | 14,994 | 10,979 | -27% | 1 | 1 | 0% | 3,161 | 5,957 | +88% | 0 | 0 | — |
case-04 | fail→fail | 11,421 | 8,313 | -27% | 1 | 1 | 0% | 2,445 | 5,265 | +115% | 0 | 0 | — |
case-05 | pass→pass | 8,530 | 14,227 | +67% | 1 | 1 | 0% | 767 | 5,075 | +562% | 0 | 0 | — |
case-06 | fail→fail | 6,351 | 7,056 | +11% | 1 | 1 | 0% | 1,197 | 4,880 | +308% | 0 | 0 | — |
case-07 | fail→pass | 13,692 | 12,665 | -8% | 1 | 1 | 0% | 2,505 | 5,974 | +138% | 0 | 0 | — |
case-08 | fail→pass | 10,830 | 6,732 | -38% | 1 | 1 | 0% | 2,353 | 4,799 | +104% | 0 | 0 | — |
case-09 | fail→pass | 14,901 | 9,387 | -37% | 1 | 1 | 0% | 3,230 | 5,316 | +65% | 0 | 0 | — |
case-15 | fail→pass | 11,064 | 9,775 | -12% | 1 | 1 | 0% | 2,180 | 5,225 | +140% | 0 | 0 | — |
case-10 | fail→fail | 9,095 | 8,769 | -4% | 1 | 1 | 0% | 1,994 | 5,388 | +170% | 0 | 0 | — |
case-11 | fail→pass | 14,261 | 11,601 | -19% | 1 | 1 | 0% | 2,641 | 5,673 | +115% | 0 | 0 | — |
case-12 | pass→pass | 8,416 | 8,844 | +5% | 1 | 1 | 0% | 1,574 | 5,255 | +234% | 0 | 0 | — |
case-13 | fail→pass | 21,375 | 9,065 | -58% | 1 | 1 | 0% | 1,077 | 5,324 | +394% | 0 | 0 | — |
case-14 | fail→pass | 12,852 | 4,865 | -62% | 1 | 1 | 0% | 2,090 | 4,347 | +108% | 0 | 0 | — |
case-16 | fail→pass | 13,385 | 9,599 | -28% | 1 | 1 | 0% | 3,010 | 5,385 | +79% | 0 | 0 | — |
case-17 | fail→pass | 14,083 | 11,063 | -21% | 1 | 1 | 0% | 3,455 | 5,765 | +67% | 0 | 0 | — |
case-18 | pass→pass | 11,351 | 10,826 | -5% | 1 | 1 | 0% | 2,531 | 5,890 | +133% | 0 | 0 | — |
case-19 | fail→fail | 11,891 | 5,921 | -50% | 1 | 1 | 0% | 2,078 | 4,694 | +126% | 0 | 0 | — |
case-20 | pass→pass | 13,655 | 11,291 | -17% | 1 | 1 | 0% | 2,791 | 5,813 | +108% | 0 | 0 | — |
case-21 | pass→pass | 20,270 | 21,678 | +7% | 1 | 1 | 0% | 4,805 | 7,983 | +66% | 0 | 0 | — |
case-22 | fail→pass | 4,194 | 8,507 | +103% | 1 | 1 | 0% | 746 | 5,021 | +573% | 0 | 0 | — |
case-23 | fail→pass | 12,254 | 7,385 | -40% | 1 | 1 | 0% | 2,744 | 5,168 | +88% | 0 | 0 | — |
case-24 | fail→pass | 7,861 | 6,654 | -15% | 1 | 1 | 0% | 1,817 | 4,900 | +170% | 0 | 0 | — |
case-25 | fail→pass | 15,145 | 11,910 | -21% | 1 | 1 | 0% | 3,106 | 5,949 | +92% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 25 cases were attempted, and 24 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +64 percentage points is the difference between those two pass rates over the 24 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.