godot-state-machine-advanced — скилл для Claude Code: HSM
Скилл для иерархических конечных автоматов и pushdown-автоматов в Godot: готовые скрипты для вложенных состояний, стеков и валидации переходов.
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-state-machine-advanced -a claude-codeЧто делает godot-state-machine-advanced
Скилл даёт набор GDScript-скриптов для сложного поведения персонажей и ИИ в Godot. Внутри — база иерархического автомата с пробросом физики и ввода в подсостояния, pushdown-стек для прерывающих оверлеев вроде паузы или меню, объект контекста для передачи данных между состояниями, guard для блокировки недопустимых переходов, синхронизатор с AnimationTree, параллельные автоматы, загрузчик состояний из .tres, логгер истории переходов и таймер автоперехода.
Есть дерево решений: плоский FSM, HSM, pushdown, параллельные состояния или utility-выбор по стоимости. Скрипты объявлены источником истины — копировать примеры из документации не советуют, потому что прошлая версия дважды вызывала exit() и игнорировала сообщения о возобновлении. Для иерархии, pushdown и guard нужно читать hsm_hierarchical_base.gd, hsm_pushdown_stack.gd и hsm_transition_guard.gd.
Главное ограничение — глубина. Больше трёх уровней вложенности авторы называют «спагетти состояний» и предлагают вместо этого behavior tree или utility AI. У каждого push_state должен быть парный pop_state, иначе стек переполнится. Скилл лежит под LGPL-3.0, так что для закрытого проекта это повод проверить условия лицензии до того, как код уедет в релиз.
Какие задачи решает
- разложить движение персонажа на вложенные состояния Move/Air/Attack
- поставить паузу или диалог поверх текущего состояния и вернуться к нему
- запретить переход, который ломает логику анимации или таймеров
- передать здоровье и параметры между состояниями без глобальных синглтонов
- синхронизировать логику состояний с AnimationTree
Примеры запросов агенту
- Собери HSM для персонажа: базовое состояние, подсостояния Move, Air и Attack, проброс физики в детей
- Добавь pushdown-стек, чтобы меню ставилось на паузу поверх боя и потом возвращалось с флагом is_resume
- Настрой guard, который блокирует переход в Dash, пока идёт Stun
Как установить godot-state-machine-advanced
1Через Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-state-machine-advanced -a claude-code2Вручную: положить файлы
~/.claude/skills/godot-state-machine-advanced/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/godot-state-machine-advanced/
1Через Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-state-machine-advanced -a codex2Вручную: положить файлы
.agents/skills/godot-state-machine-advanced/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-state-machine-advanced -a cursor2Вручную: положить файлы
.cursor/skills/godot-state-machine-advanced/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install thedivergentai/Game-Dev-Agentic-Skills godot-state-machine-advanced2Вручную: положить файлы
.github/skills/godot-state-machine-advanced/SKILL.md1Через Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-state-machine-advanced -a gemini-cli2Командой платформы
gemini skills install https://github.com/thedivergentai/Game-Dev-Agentic-Skills --path skills/godot-state-machine-advancedВручную: положить файлы
.devin/skills/godot-state-machine-advanced/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-state-machine-advanced -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора50
Похожие
Рядом в теме «Геймдев и 3D: Unity, Unreal, Godot, Blender»
Всё по теме «Геймдев и 3D: Unity, Unreal, Godot, Blender» →Вопросы о godot-state-machine-advanced
Как установить godot-state-machine-advanced в Claude?
Выполните npx skills add thedivergentai/Game-Dev-Agentic-Skills --skill godot-state-machine-advanced -a claude-code. Скилл появится в ~/.claude/skills/godot-state-machine-advanced/SKILL.md.
Что делает godot-state-machine-advanced?
Даёт скрипты для иерархических конечных автоматов и pushdown-автоматов в Godot: вложенные состояния, стек прерываний, валидация переходов и передача контекста.
Чем pushdown-автомат отличается от обычного FSM?
Он кладёт прерывающее состояние в стек и возвращается к предыдущему через pop_state, а не сбрасывает автомат. Для возобновления используется сообщение с флагом is_resume.