# xstate-v5

Помогает проектировать, писать и чинить машины состояний и стейтчарты на XState v5 в TypeScript. Пригодится, когда логика экрана или процесса перестала помещаться в пару булевых флагов.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 494 установки · ★ 48
- Автор: statelyai
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/statelyai/skills/tree/HEAD/skills/xstate-v5/SKILL.md
- Обновлён: 2026-05-22
- HTML: https://affpapa.org/nevibecode/skills/xstate-v5

## Что делает

Скилл ведёт агента по инженерной части работы с машинами состояний, а корректность API держит на втором месте. Агент выбирает между `xstate` и `@xstate/store`, собирает модель из сырых требований, пишет код в стиле v5 и разбирает существующий. Заодно переводит старые примеры и чужой код, если те отдают v4.

Внутри — набор правил, а не генератор кода. Сначала агент смотрит `package.json` и импорты в проекте, читает соседние машины и адаптеры, и только потом решает, насколько вольно себя вести. Для новой задачи он берёт `setup({...}).createMachine({...})` с именованными `actions`, `guards`, `actors` и `delays`. Для правок в чужом файле сохраняет местную структуру. Для миграции делает минимальный безопасный перевод на v5 и не тащит `setup(...)` с тегами туда, где они не нужны.

Скилл только про v5. Смешивать версии в одном файле он не станет, поэтому в проекте, где часть машин ещё на v4, готовьтесь к постепенному переводу, а не к одному большому коммиту. Если задача слишком простая для машины состояний, агент скажет об этом и предложит `@xstate/store`.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add statelyai/skills --skill xstate-v5 -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/xstate-v5/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/xstate-v5/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add statelyai/skills --skill xstate-v5 -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/xstate-v5/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add statelyai/skills --skill xstate-v5 -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/xstate-v5/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install statelyai/skills xstate-v5
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/xstate-v5/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add statelyai/skills --skill xstate-v5 -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/statelyai/skills --path skills/xstate-v5
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/xstate-v5/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add statelyai/skills --skill xstate-v5 -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/statelyai/skills/tree/HEAD/skills/xstate-v5/SKILL.md

## Когда брать
- спроектировать машину состояний из расплывчатых требований
- перевести старую машину с v4 на v5 без смены семантики
- разложить асинхронный процесс на акторов и отмену
- найти лишние булевы флаги в контексте и заменить их тегами
- связать машину с `@xstate/react` или `@xstate/vue`

## Примеры запросов агенту
- Собери машину состояний для оформления заказа: состояния, события, акторы
- Переведи эту машину на XState v5, структуру сохрани
- Проверь `checkoutMachine.ts`: не пора ли часть контекста вынести в теги

## Похожие
- [frontend-design](https://affpapa.org/nevibecode/skills/frontend-design.md) — скилл · 1025790 установок
- [design-taste-frontend](https://affpapa.org/nevibecode/skills/design-taste-frontend.md) — скилл · 678700 установок
- [prototype](https://affpapa.org/nevibecode/skills/prototype.md) — скилл · 986201 установка
- [hyperframes](https://affpapa.org/nevibecode/skills/heygen-com-hyperframes.md) — скилл · 1200000 установок
- [hyperframes-cli](https://affpapa.org/nevibecode/skills/heygen-com-hyperframes-cli.md) — скилл · 1300000 установок
- [webapp-testing](https://affpapa.org/nevibecode/skills/webapp-testing.md) — скилл · 186758 установок

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
