state-machine · owl-listener — скилл для Claude Code: что делает и как установить
Скилл помогает спроектировать поведение интерфейса через конечные автоматы: состояния, переходы, события и гарды. Пригодится, когда в компоненте слишком много флагов.
npx skills add Owl-Listener/designer-skills --skill state-machine -a claude-codeЧто делает state-machine
Скилл переводит логику UI в конечный автомат, чтобы исключить невозможные комбинации вроде одновременного показа загрузки и ошибки. Он разбирает интерфейс на пять элементов: состояния, события, переходы, сайд-эффекты (actions) и условия (guards). По такому принципу описываются формы, загрузка данных, экраны входа или многошаговые сценарии.
Проектирование идёт по шагам: сначала перечисляются все возможные статусы и триггеры, затем задаются правила переходов и блокируются недопустимые комбинации. Инструкция требует начинать с основного сценария без ошибок, следить за отсутствием тупиковых состояний и связывать каждый статус с визуальным представлением. Если вам нужна детальная отдача или анимация конкретной кнопки, этот скилл не подойдёт — автор советует брать micro-interaction-spec.
Какие задачи решает
- Исключить противоречивые состояния интерфейса
- Спроектировать шаги многоэтапной формы или визарда
- Описать правила переходов и гарды для загрузки данных
- Зафиксировать предсказуемую логику поведения для дизайна и кода
Примеры запросов агенту
- Спроектируй стейт-машину для формы авторизации с валидацией и повторными попытками
- Опиши состояния и переходы для многошагового визарда оформления заказа
- Помоги убрать невозможные состояния из логики загрузки таблицы данных
Как установить state-machine
1Через Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill state-machine -a claude-code2Вручную: положить файлы
~/.claude/skills/state-machine/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/state-machine/
1Через Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill state-machine -a codex2Вручную: положить файлы
.agents/skills/state-machine/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill state-machine -a cursor2Вручную: положить файлы
.cursor/skills/state-machine/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Owl-Listener/designer-skills state-machine2Вручную: положить файлы
.github/skills/state-machine/SKILL.md1Через Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill state-machine -a gemini-cli2Командой платформы
gemini skills install https://github.com/Owl-Listener/designer-skills --path interaction-design/skills/state-machineВручную: положить файлы
.devin/skills/state-machine/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Owl-Listener/designer-skills --skill state-machine -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора109
Другие версии state-machine
Похожие
Вопросы о state-machine
Как установить state-machine в Claude Code?
Выполните команду npx skills add Owl-Listener/designer-skills --skill state-machine -a claude-code. Также файл можно разместить вручную по пути ~/.claude/skills/state-machine/SKILL.md.
Что делает скилл state-machine?
Он формализует логику компонента в виде состояний, событий и переходов. Это убирает интерфейсные баги, когда приложение одновременно пытается показывать разные экраны.
В чём разница между state-machine и micro-interaction-spec?
Скилл state-machine отвечает за общую архитектуру состояний компонента и логические переходы. Для проработки отклика, анимаций и ощущений от отдельного взаимодействия автор рекомендует использовать micro-interaction-spec.
Исходный текст
SKILL.md · MIT
--- name: state-machine description: Model component behaviour as explicit states, events, and transitions. Use when a component has many interacting states that must be exhaustive. For the feel and feedback of a single interaction, use `micro-interaction-spec`. --- # State Machine You are an expert in modeling complex UI behavior as finite state machines. ## What You Do You model UI components and flows as state machines to eliminate impossible states and make behavior predictable. ## State Machine Components - **States**: Distinct modes the UI can be in (idle, loading, success, error) - **Events**: Things that cause transitions (click, submit, timeout, response) - **Transitions**: Rules for moving between states (on event X in state A, go to state B) - **Actions**: Side effects during transitions (fetch data, show toast, log event) - **Guards**: Conditions that must be true for a transition (isValid, hasPermission) ## Common UI State Machines ### Form idle -> editing -> validating -> submitting -> success/error -> idle ### Data Fetching idle -> loading -> success/error, error -> retrying -> success/error ### Authentication logged-out -> authenticating -> logged-in -> logging-out -> logged-out ### Multi-Step Wizard step1 -> step2 -> step3 -> review -> submitting -> complete ## Modeling Approach 1. List all possible states 2. List all events/triggers 3. Define valid transitions 4. Identify impossible states to prevent 5. Add guards for conditional transitions 6. Define entry/exit actions per state ## Benefits - Eliminates impossible states (no loading + error simultaneously) - Makes edge cases visible - Shared language between design and engineering - Testable behavior specification ## Best Practices - Start with the happy path, then add error states - Every state should have a way out (no dead ends) - Keep state machines focused (one per concern) - Document with visual diagrams - Map each state to a UI representation
© Owl-Listener · MIT · Owl-Listener/designer-skills