WHEEL OF MISFORTUNE

Open-source SRE game platform

Incident training, теперь как настоящая игра.

Wheel of Misfortune — колесо случайно выбирает инцидент, команда разбирает его в реальном времени. Тренируй навыки on-call, управление инцидентами и координацию в SRE-стиле.

Как играть

01AUTH

Зарегистрируйся или войди

Создай аккаунт — email + пароль. Никакого OAuth, никаких внешних зависимостей. Или войди под demo / demo1234, чтобы попробовать сразу.

02SETUP

Открой или создай game pack

Перейди в галерею — там уже есть публичный Starter Pack. Или создай свой pack в "Мои игры" и наполни его сценариями вручную или через JSON-импорт.

03GM

Режим ведущего: выбери кейсы

В Leader Console отметь, какие сценарии участвуют в сегодняшней сессии. Можно оставить все или выбрать под уровень команды.

04SPIN

Крути колесо — получай инцидент

Нажми «Крутить колесо 🎰» — колесо случайно выбирает сценарий. Команда видит название и summary инцидента. Таймер пошёл.

05PLAY

Выбирай действия и снижай панику

Каждый раунд — 4 варианта действий (DBG / COM / OPS / IC). Выбор влияет на Panic level, Service Health и Score. Игра — 10 раундов.

06SOLO

Режим игрока: соло-тренировка

Для самостоятельной отработки. Сценарии идут по очереди, panic растёт с каждым раундом. В конце — ранг: On-call / IC / Master SRE.

Загрузка сценариев

agent-skill/wom-incident-to-json/SKILL.md

Agent skill для Claude

AI

В репозитории есть готовый агентный скилл для Claude Code. Он конвертирует описание любого реального инцидента, runbook или заметки в валидный JSON для импорта — автоматически заполняет все поля по контексту.

Как использовать

  1. 1.Установи Claude Code в своём репозитории
  2. 2.Скопируй agent-skill/wom-incident-to-json/SKILL.md в свой проект
  3. 3.Скажи агенту: «Сделай JSON для импорта в WOM» и опиши инцидент
  4. 4.Вставь результат в форму импорта на странице pack
📄Полный текст SKILL.md — скопируй в свой репозиторий
# WOM Incident To JSON

Convert incident descriptions, markdown runbooks, and rough notes into import-ready JSON for WOM Platform.

## Output Contract

- Always output **valid JSON**.
- Root object must match `schemas/wom.scenario.v1.json`.
- Use uppercase enum for difficulty: `JUNIOR`, `MIDDLE`, `SENIOR`.
- Keep `durationMin` realistic: `15-30` for typical training rounds.

## Prompt Template For Agent

When the user says: "Сделай JSON для импорта в WOM", produce:

1. `scenarios[]` with one object per incident.
2. Fill:
   - `title`: short incident name
   - `summary`: one-sentence game framing
   - `type`: stack area, e.g. `DNS, NetworkPolicy`
   - `difficulty`: inferred from blast radius and ambiguity
   - `durationMin`: expected game length
   - `contextJson`: infra/services/setup/time
   - `eventsJson`: timeline-style events with `t`, `type`, `title`, `body`
   - `hintsJson`: coaching hints
   - `actionsJson`: candidate player actions
   - `gmScriptJson`: optional pressure/checkpoints/beats

## Example

```json
{
  "scenarios": [
    {
      "title": "Потерянные в DNS",
      "summary": "Сервис периодически не резолвит внутренние имена.",
      "type": "DNS, CoreDNS",
      "difficulty": "MIDDLE",
      "durationMin": 20,
      "contextJson": {
        "infra": "Kubernetes 1.34",
        "services": ["frontend", "backend", "coredns"],
        "setup": "После сетевого hardening появились интервальные timeout.",
        "time": "Четверг, 11:00"
      },
      "eventsJson": [],
      "hintsJson": [],
      "actionsJson": [],
      "gmScriptJson": null
    }
  ]
}
```

POST /api/import

JSON-импорт вручную

JSON

Открой нужный pack → форма «Импорт JSON» внизу страницы. Вставь объект с массивом scenarios — все сценарии добавятся сразу. Можно импортировать до 100 сценариев за раз.

Минимальный формат

{
  "scenarios": [
    {
      "title": "Потерянные в DNS",
      "summary": "Сервис не резолвит внутренние имена.",
      "type": "DNS, CoreDNS",
      "difficulty": "MIDDLE",
      "durationMin": 20,
      "contextJson": { "infra": "Kubernetes 1.34" },
      "eventsJson": [],
      "hintsJson": [],
      "actionsJson": [],
      "gmScriptJson": null
    }
  ]
}

Обязательные поля: title, summary, type, difficulty, durationMin. Полная схема — schemas/wom.scenario.v1.json в репозитории.

Быстрый старт

Хочешь попробовать прямо сейчас? Войди под demo / demo1234, открой Starter Pack в галерее и переключись в Режим ведущего. Первый инцидент — через 30 секунд.