Use when mapping domain types to JSON, database rows or payloads, when storage shape leaks into the model, or when a read-only screen rebuilds aggregates and a bad row blanks it.
安装
npx skills add yutna/functional-design-skills --skill functional-crossing-io-boundariesnpx skills add yutna/functional-design-skills --skill functional-crossing-io-boundaries -a claude-code -gnpx skills add yutna/functional-design-skills --skill functional-crossing-io-boundaries -a codex -ggemini skills install https://github.com/yutna/functional-design-skills.git --path plugin/skills/functional-crossing-io-boundariesgh skill install yutna/functional-design-skills functional-crossing-io-boundariesgit 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-crossing-io-boundaries ~/.claude/skills/functional-crossing-io-boundaries # Claude Code
cp -R /tmp/yutna__functional-design-skills/plugin/skills/functional-crossing-io-boundaries ~/.agents/skills/functional-crossing-io-boundaries # Codex, Cursor, Gemini CLI, Copilot, OpenCode