chaos-runner

Run chaos engineering experiments using Chaos Monkey, Litmus, or Gremlin

509 stars

Best use case

chaos-runner is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Run chaos engineering experiments using Chaos Monkey, Litmus, or Gremlin

Teams using chaos-runner should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/chaos-runner/SKILL.md --create-dirs "https://raw.githubusercontent.com/a5c-ai/babysitter/main/library/specializations/software-architecture/skills/chaos-runner/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/chaos-runner/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How chaos-runner Compares

Feature / Agentchaos-runnerStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Run chaos engineering experiments using Chaos Monkey, Litmus, or Gremlin

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Chaos Engineering Runner Skill

## Overview

Runs chaos engineering experiments using Chaos Monkey, Litmus, or Gremlin including failure injection scenarios, blast radius control, and experiment analysis.

## Capabilities

- Run Chaos Monkey experiments
- Litmus chaos execution
- Gremlin integration
- Failure injection scenarios
- Blast radius control
- Steady state validation
- Experiment rollback
- Results analysis

## Target Processes

- resilience-patterns

## Input Schema

```json
{
  "type": "object",
  "required": ["experiment"],
  "properties": {
    "experiment": {
      "type": "object",
      "properties": {
        "name": { "type": "string" },
        "type": {
          "type": "string",
          "enum": ["pod-kill", "network-latency", "cpu-stress", "memory-stress", "disk-fill", "node-drain"]
        },
        "target": {
          "type": "object",
          "properties": {
            "namespace": { "type": "string" },
            "labelSelector": { "type": "object" },
            "percentage": { "type": "number" }
          }
        },
        "duration": { "type": "string" }
      }
    },
    "framework": {
      "type": "string",
      "enum": ["litmus", "gremlin", "chaos-monkey", "toxiproxy"],
      "default": "litmus"
    },
    "steadyState": {
      "type": "object",
      "properties": {
        "probes": { "type": "array" },
        "assertions": { "type": "array" }
      }
    },
    "options": {
      "type": "object",
      "properties": {
        "dryRun": {
          "type": "boolean",
          "default": true
        },
        "autoRollback": {
          "type": "boolean",
          "default": true
        },
        "notifyOnFailure": {
          "type": "boolean",
          "default": true
        }
      }
    }
  }
}
```

## Output Schema

```json
{
  "type": "object",
  "properties": {
    "experimentId": {
      "type": "string"
    },
    "status": {
      "type": "string",
      "enum": ["passed", "failed", "aborted"]
    },
    "steadyStateValidation": {
      "type": "object",
      "properties": {
        "before": { "type": "boolean" },
        "during": { "type": "boolean" },
        "after": { "type": "boolean" }
      }
    },
    "metrics": {
      "type": "object",
      "properties": {
        "affectedPods": { "type": "number" },
        "recoveryTime": { "type": "string" },
        "errorRate": { "type": "number" }
      }
    },
    "findings": {
      "type": "array"
    },
    "recommendations": {
      "type": "array"
    }
  }
}
```

## Usage Example

```javascript
{
  kind: 'skill',
  skill: {
    name: 'chaos-runner',
    context: {
      experiment: {
        name: 'pod-failure-test',
        type: 'pod-kill',
        target: {
          namespace: 'production',
          labelSelector: { app: 'api-service' },
          percentage: 50
        },
        duration: '5m'
      },
      framework: 'litmus',
      steadyState: {
        probes: [{ type: 'http', endpoint: '/health' }],
        assertions: [{ metric: 'error_rate', operator: '<', value: 0.01 }]
      },
      options: {
        dryRun: false,
        autoRollback: true
      }
    }
  }
}
```

Related Skills

static-analysis-runner

509
from a5c-ai/babysitter

Run static analysis tools including SonarQube, ESLint, and multi-language linters

unreal-chaos

509
from a5c-ai/babysitter

Unreal Engine Chaos physics skill for destruction, vehicle simulation, and cloth physics.

quantum-espresso-runner

509
from a5c-ai/babysitter

Quantum ESPRESSO DFT skill for plane-wave pseudopotential calculations and materials simulation

gromacs-biosim-runner

509
from a5c-ai/babysitter

GROMACS molecular dynamics skill specialized for biomolecular systems, protein simulations, and free energy calculations

polynomial-chaos-expansion

509
from a5c-ai/babysitter

Polynomial chaos for uncertainty propagation

accessibility-test-runner

509
from a5c-ai/babysitter

Run accessibility audits with axe-core and screen reader testing for desktop applications

process-builder

509
from a5c-ai/babysitter

Scaffold new babysitter process definitions following SDK patterns, proper structure, and best practices. Guides the 3-phase workflow from research to implementation.

Workflow & Productivity

babysitter

509
from a5c-ai/babysitter

Orchestrate via @babysitter. Use this skill when asked to babysit a run, orchestrate a process or whenever it is called explicitly. (babysit, babysitter, orchestrate, orchestrate a run, workflow, etc.)

yolo

509
from a5c-ai/babysitter

Run Babysitter autonomously with minimal manual interruption.

user-install

509
from a5c-ai/babysitter

Install the user-level Babysitter Codex setup.

team-install

509
from a5c-ai/babysitter

Install the team-pinned Babysitter Codex workspace setup.

retrospect

509
from a5c-ai/babysitter

Summarize or retrospect on a completed Babysitter run.