In a project with a .keep-the-why, or when asked about Keep the Why or to set it up - extract and preserve the reasoning code cannot explain - decisions, rejected alternatives, workarounds, incidents, constraints - plus project setup and maintainer interviews. Not for what changed (see Keep a Changelog) - only why.
Install
npx skills add oliver-zehentleitner/keep-the-why --skill keep-the-whynpx skills add oliver-zehentleitner/keep-the-why --skill keep-the-why -a claude-code -gnpx skills add oliver-zehentleitner/keep-the-why --skill keep-the-why -a codex -ggemini skills install https://github.com/oliver-zehentleitner/keep-the-why.git --path skills/keep-the-whygh skill install oliver-zehentleitner/keep-the-why keep-the-whygit clone --depth 1 https://github.com/oliver-zehentleitner/keep-the-why /tmp/oliver-zehentleitner__keep-the-why
mkdir -p ~/.claude/skills ~/.agents/skills
cp -R /tmp/oliver-zehentleitner__keep-the-why/skills/keep-the-why ~/.claude/skills/keep-the-why # Claude Code
cp -R /tmp/oliver-zehentleitner__keep-the-why/skills/keep-the-why ~/.agents/skills/keep-the-why # Codex, Cursor, Gemini CLI, Copilot, OpenCode