agent-instructions
Use when writing project instructions for a coding agent (CLAUDE.md, AGENTS.md, or equivalent). Covers what belongs in them, what does not, structure, and…
Use when verifying a system's resilience by injecting controlled failure. Covers hypothesis-driven experiments, blast-radius control, failure injection techniques, and running game days safely.
$ npx -y skills add nimadorostkar/Claude-Skills-collection --skill chaos-engineering --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/chaos-engineeringContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when verifying a system's resilience by injecting controlled failure. Covers hypothesis-driven experiments, blast-radius control, failure injection techniques, and running game days safely.
name: chaos-engineering description: Use when verifying a system's resilience by injecting controlled failure. Covers hypothesis-driven experiments, blast-radius control, failure injection techniques, and running game days safely. metadata: category: devops version: 1.0.0 tags: [chaos, resilience, testing, failure-injection, game-day]
Find out whether your resilience mechanisms work before an outage tests them for you. Every fallback, retry, and circuit breaker is a hypothesis until it has been exercised under real failure.
1. **Define steady state** — A measurable metric that says the system is healthy right now. Without it, you cannot tell whether the experiment broke anything. 2. **Form a hypothesis** — "When the pricing service returns 500s, checkout will serve cached prices and the checkout success rate will stay above 99%." Falsifiable, specific, and about a mechanism you believe exists. 3. **Bound the blast radius** — Start with one instance, one percent of traffic, or a staging environment carrying production-shaped load. Never start in production at full scale. 4. **Define the abort criteria first** — And automate the abort. "We'll stop it if it looks bad" is not a control. 5. **Inject the failure and observe** — Watch the steady-state metric and the mechanism you are testing. Does the fallback fire? Does the circuit open? Does the alert page? 6. **Fix what you found, then widen** — Increase the blast radius only after the previous scope passes.
**A well-formed experiment:**
experiment: pricing-service-unavailable
steady_state:
metric: checkout_success_rate
threshold: "> 99%"
measured_over: 5m
hypothesis: >
When the pricing service returns 503 for all requests, checkout serves
cached prices from Redis and the checkout success rate remains above 99%.
The pricing circuit breaker opens within 30 seconds, and a warning (not a
page) is emitted.
blast_radius:
environment: production
scope: 5% of traffic, single availability zone
duration: 10m
abort_if:
- checkout_success_rate < 98% # automatic; no discussion
- p99_checkout_latency > 3s
- any SEV-2 or higher declared
injection:
tool: fault-injection-proxy
target: pricing-service
fault: { type: error, status: 503, percentage: 100 }**The finding this experiment actually produced:**
Result: HYPOTHESIS FALSIFIED. The cache fallback worked. The circuit breaker did not open — it was configured to trip on connection errors, and a 503 is a successful connection with an error status. Checkout latency rose from 180ms to 2.9s because every request waited for the full 3s pricing timeout before falling back. Success rate stayed at 99.4% (the hypothesis' headline claim held), so a naive pass/fail on the steady-state metric alone would have reported success and left a latent latency bomb in place. Fix: trip the breaker on 5xx as well as connection failure; reduce the pricing timeout from 3s to 400ms, which is above p99.9 for that call.
A curated library of 137 production-grade skills for Claude and other AI coding agents. Every skill follows one structure, speaks with one voice, and earns its place by changing what the agent does.
Repo: nimadorostkar/Claude-Skills-collection
Use when writing project instructions for a coding agent (CLAUDE.md, AGENTS.md, or equivalent). Covers what belongs in them, what does not, structure, and…
Use when an agent needs state that survives a session or a context compaction. Covers what to persist, file-based memory, structuring notes for retrieval, and…
Use when automating agent behavior with lifecycle hooks. Covers hook events, deterministic enforcement of rules the model should not be trusted to remember,…
Use when packaging skills, commands, hooks, and MCP servers into a distributable plugin. Covers manifest structure, bundling, versioning, testing, and…
Use when writing a new skill for an AI agent. Covers scoping, description writing for reliable triggering, progressive disclosure, and the difference between a…
Use when reviewing or improving an existing agent skill. Covers triggering accuracy, content quality, redundancy with the base model, and measuring whether the…