Skip to content
Development
Skill

/chaos

Injects controlled faults for resilience testing on non-prod. Triggers: chaos, fault injection, latency injection, dependency kill, resilience test.

From plugin
ai-toolkit
161111 skills44 agents
Install
$ npx -y skills add softspark/ai-toolkit --skill chaos --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/chaos

Context preview

The summary Claude sees to decide when to auto-load this skill.

Injects controlled faults for resilience testing on non-prod. Triggers: chaos, fault injection, latency injection, dependency kill, resilience test.

SKILL.md

chaos.SKILL.md
name: chaos
description: "Injects controlled faults for resilience testing on non-prod. Triggers: chaos, fault injection, latency injection, dependency kill, resilience test."
effort: medium
disable-model-invocation: true
argument-hint: "[target]"
context: fork
agent: chaos-monkey
allowed-tools: Bash, Read

Chaos Command

$ARGUMENTS

Triggers a controlled resilience experiment.

Usage

/chaos <experiment> [target]
# Example: /chaos latency backend-api
# Example: /chaos kill redis

Protocol

1. **Safety Check**: Verify env != PROD. 2. **Baseline**: Check system health is green. 3. **Inject**: Run the fault injection. 4. **Observe**: Monitor logs/metrics for 60s. 5. **Recover**: Restore system health. 6. **Report**: Did we survive?

Rules

  • **MUST** verify target environment is non-production before injecting
  • **NEVER** run against a system without a healthy baseline
  • **CRITICAL**: abort immediately if recovery does not complete within the observation window
  • **MANDATORY**: log every injected fault with timestamp and scope

Gotchas

  • `NODE_ENV=production` on a developer's machine is common — checking that env var alone is not enough proof of non-prod. Combine with kubeconfig context, cloud account ID, or a project-specific env file check before injecting.
  • `docker stats` reports cached values; the first sample immediately after injection is often pre-fault. Wait at least 5 seconds before reading metrics.
  • Kubernetes liveness probes may self-heal the faulted pod inside the 60s observation window — the report shows green while the workload is still flapping. Check pod restart counters, not just health endpoints.
  • Latency injected with `tc` (Linux traffic control) persists across container restarts on the host and across SIGTERM. Always pair the inject step with an explicit `tc qdisc del dev <iface> root` cleanup in the recover step — the `fork` context will not undo it for you.

When NOT to Use

  • In production without an explicit, written runbook — use `/workflow incident-response` for real incidents
  • When the system has no observability (no metrics, no logs) — fix observability first
  • For load testing — use dedicated load-test tooling, not chaos injection
  • During an active incident — stabilize first with `/panic`, then investigate
Read more
Ships withai-toolkit

Professional-grade AI coding toolkit with multi-platform support. Machine-enforced safety, 109 skills, 44 agents, expanded lifecycle hooks, persona presets, experimental opt-in plugin packs, and benchmark tooling — works with Claude Code, Claude Chat/Cowork,

Get the whole plugin