claude-skills/engineering/chaos-engineering
Claude 028dc13b35
feat(tooling): JSON-output sample gate (G9) + --sample fixtures (#654)
Implements issue #654 Option A (embedded-sample convention) plus the
verification harness the issue asked for:

- scripts/smoke_json_output.py — new advisory gate (G9) that discovers
  every tool whose --help advertises JSON output, runs <tool> --sample
  <json-flag>, and asserts the stdout parses as JSON. Tools advertising
  JSON without --sample are reported as 'uncovered' (a backlog, not a
  failure) so the gate can be adopted incrementally; --strict flips that
  to a hard failure once coverage is high. Wired into ci-quality-gate.yml
  alongside G8.
- Added --sample embedded fixtures to the 5 tools named in #654:
  error_budget_calculator, slo_review, blast_radius_calculator,
  audit_log_analyzer, api_linter. Their required args are now optional
  when --sample is passed; missing-arg behavior is unchanged otherwise.
- Fixed 4 tools the new gate surfaced (prompt_rater, coach_tip_classifier,
  cheat_code_filter, redaction_linter): their --sample path printed human
  text and ignored --json; it now honors the JSON flag.
- Synced the 3 dual-published standalone copies (slo-architect x2,
  chaos-engineering) so the drift guard stays green.

Gate now reports 16 tools covered, 16 verified, 0 failures.

https://claude.ai/code/session_01CUWsrUNZP9jpxvAwq67UiT
2026-06-11 15:29:39 +00:00
..
.claude-plugin chore(versioning,docs): normalize stale versions to 2.9.0 + refresh counts 2026-05-27 05:22:59 +00:00
skills/chaos-engineering feat(tooling): JSON-output sample gate (G9) + --sample fixtures (#654) 2026-06-11 15:29:39 +00:00
README.md feat(skills): ship chaos-engineering (Phase 3 — resilience testing discipline) 2026-05-09 21:24:16 +00:00

Chaos Engineering

End-to-end discipline for chaos experiments — design, run, learn — without becoming an outage.

What's inside

  • 3 stdlib Python tools — experiment designer, blast-radius calculator, postmortem generator
  • 4 reference docs — principles, experiment design, attack taxonomy, tooling landscape
  • 2 templates — experiment plan, postmortem
  • /chaos-experiment slash command — interactive design wizard

Install

# Via Claude Code marketplace
/plugin install chaos-engineering

# Or clone the repo
git clone https://github.com/alirezarezvani/claude-skills.git
cd claude-skills/engineering/chaos-engineering

Quick start

SKILL=engineering/chaos-engineering/skills/chaos-engineering

# 1. Design an experiment
python "$SKILL/scripts/experiment_designer.py" \
  --target checkout-svc \
  --hypothesis "p99 < 500ms when payment slows" \
  --attack latency --magnitude "+200ms" \
  --abort-if "p99 > 1000ms OR error_rate > +1pp"

# 2. Calculate blast radius
python "$SKILL/scripts/blast_radius_calculator.py" \
  --traffic-share 0.05 --user-pop 1000000 \
  --duration-min 15

# 3. Generate postmortem after running
python "$SKILL/scripts/experiment_postmortem.py" \
  --plan plan.json --result-log results.txt

Key principles

  1. Build a hypothesis around steady-state behavior — measurable, falsifiable
  2. Vary real-world events — realistic failures only, not astronomy-grade
  3. Run experiments in production — staging never has prod failure modes
  4. Automate experiments to run continuously — single experiment = press release; continuous = engineering
  5. Define abort criteria up front — chaos without abort = outage

The 7 attack types

Attack Tests Magnitude examples
Latency Timeouts, retries, circuit breakers +200ms, +2s
Error Error handling, fallback paths 1%, 50%, 100%
Resource Saturation, autoscaling, OOM 80% CPU, 90% memory, fill /var
Network partition Consensus, leader election, failover drop 100% to peer X
Dependency failure Graceful degradation timeout 100% to dep X
Time skew Clocks, TTLs, retry backoff +5min, +1day
Infrastructure Auto-recovery, replica maintenance kill 1 of N

Composition with other skills

Skill Composition
feature-flags-architect Kill switches there are abort triggers here
kubernetes-operator Operators are common chaos targets
incident-response Chaos that escalates becomes an incident

Skill structure

chaos-engineering/
├── README.md
├── .claude-plugin/plugin.json
└── skills/chaos-engineering/
    ├── SKILL.md
    ├── scripts/
    │   ├── experiment_designer.py
    │   ├── blast_radius_calculator.py
    │   └── experiment_postmortem.py
    ├── references/
    │   ├── chaos_principles.md
    │   ├── experiment_design.md
    │   ├── attack_taxonomy.md
    │   └── tooling_landscape.md
    └── assets/
        ├── experiment_template.md
        └── postmortem_template.md

Verifiable success

A team using this skill should achieve:

  • 100% of chaos experiments have written hypothesis, abort criteria, blast-radius calc
  • Blast radius for any single experiment ≤10% of monthly error budget
  • Mean time between chaos experiments <14 days (continuous, not one-off)
  • Each experiment produces ≥1 follow-up action that gets shipped
  • No chaos experiment escalates to a customer-impacting incident in trailing 90 days

License

MIT — see repo root LICENSE.