Use when an entity has a lifecycle, when a status field drives branching, or when a function must ask what state a value is in before acting on it.
Install
npx skills add yutna/functional-design-skills --skill functional-modeling-state-machinesnpx skills add yutna/functional-design-skills --skill functional-modeling-state-machines -a claude-code -gnpx skills add yutna/functional-design-skills --skill functional-modeling-state-machines -a codex -ggemini skills install https://github.com/yutna/functional-design-skills.git --path plugin/skills/functional-modeling-state-machinesgh skill install yutna/functional-design-skills functional-modeling-state-machinesgit clone --depth 1 https://github.com/yutna/functional-design-skills /tmp/yutna__functional-design-skills
mkdir -p ~/.claude/skills ~/.agents/skills
cp -R /tmp/yutna__functional-design-skills/plugin/skills/functional-modeling-state-machines ~/.claude/skills/functional-modeling-state-machines # Claude Code
cp -R /tmp/yutna__functional-design-skills/plugin/skills/functional-modeling-state-machines ~/.agents/skills/functional-modeling-state-machines # Codex, Cursor, Gemini CLI, Copilot, OpenCode