Commits usually capture what changed, but the why evaporates when the session ends. This extends Conventional Commits with structured action lines in the body: intent captures what the user wanted, decision explains which approach you picked, rejected documents what you considered and discarded (the highest value type), constraint notes hard limits you hit, and learned preserves gotchas worth remembering. Most commits need one to three action lines, not all types every time. The format is simple: standard subject line, then `action-type(scope): description` in the body. It's designed to preserve the reasoning that shaped the code so the next session doesn't retrace the same ground or re-propose rejected alternatives.
npx skills add https://github.com/berserkdisruptors/contextual-commits --skill contextual-commit