Use when a type can hold combinations the business forbids, when booleans, flags, or nullable fields encode state like loading and failed, or when code guards impossible values.
安装
npx skills add yutna/functional-design-skills --skill functional-making-illegal-states-unrepresentablenpx skills add yutna/functional-design-skills --skill functional-making-illegal-states-unrepresentable -a claude-code -gnpx skills add yutna/functional-design-skills --skill functional-making-illegal-states-unrepresentable -a codex -ggemini skills install https://github.com/yutna/functional-design-skills.git --path plugin/skills/functional-making-illegal-states-unrepresentablegh skill install yutna/functional-design-skills functional-making-illegal-states-unrepresentablegit 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-making-illegal-states-unrepresentable ~/.claude/skills/functional-making-illegal-states-unrepresentable # Claude Code
cp -R /tmp/yutna__functional-design-skills/plugin/skills/functional-making-illegal-states-unrepresentable ~/.agents/skills/functional-making-illegal-states-unrepresentable # Codex, Cursor, Gemini CLI, Copilot, OpenCode