Design APIs, schemas, types and state machines so misuse cannot be expressed. Use when writing a new interface and someone asks "what should the types look like", "make invalid states unrepresentable", "so callers cannot screw it up", or wants illegal state transitions rejected. Covers branded types, discriminated unions, typestate, parse-don't-validate. For code that already exists use audit.
Install
npx skills add rainmanjam/poka-yoke --skill designnpx skills add rainmanjam/poka-yoke --skill design -a claude-code -gnpx skills add rainmanjam/poka-yoke --skill design -a codex -ggemini skills install https://github.com/rainmanjam/poka-yoke.git --path plugins/poka-yoke/skills/designgh skill install rainmanjam/poka-yoke designgit clone --depth 1 https://github.com/rainmanjam/poka-yoke /tmp/rainmanjam__poka-yoke
mkdir -p ~/.claude/skills ~/.agents/skills
cp -R /tmp/rainmanjam__poka-yoke/plugins/poka-yoke/skills/design ~/.claude/skills/design # Claude Code
cp -R /tmp/rainmanjam__poka-yoke/plugins/poka-yoke/skills/design ~/.agents/skills/design # Codex, Cursor, Gemini CLI, Copilot, OpenCode