From explain-changes
Explain git diffs and code changes with educational insights — what changed, why, and what it means. Use this skill whenever a user wants to understand recent modifications to their codebase, whether staged, unstaged, committed, or across branches. This is different from code review — it explains changes rather than judging them. Trigger on phrases like "explain changes", "what did I change", "walk me through the diff", "describe modifications", "summarize what was done", "what happened in this branch". Also trigger when users seem confused about what happened or want to understand someone else's changes.
How this skill is triggered — by the user, by Claude, or both
Slash command
/explain-changes:explain-changesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Transform git diffs into meaningful explanations covering what changed, why, and what it means.
Transform git diffs into meaningful explanations covering what changed, why, and what it means.
When invoked via the /explain command, the command handles argument parsing and git commands. When invoked standalone (e.g., user says "explain what changed" mid-conversation), obtain the diff yourself:
git status --short to see the current stategit diff variant — see references/git-commands.md for the command table, untracked file handling, and binary file guidanceGroup by type:
For each category:
Include ★ Insight blocks when the change demonstrates a non-obvious pattern, makes an interesting trade-off, or teaches something a mid-level developer might not know. Skip insights for routine changes — not every file rename or version bump needs one. One good insight is better than three filler ones.
Good candidates for insights:
The "why" is the hardest and most valuable part of an explanation. Use these strategies in order:
getUser to getUserOrThrow signals error-handling intent)For diffs spanning 20+ files or 500+ lines:
## Changes Explanation
[1-2 sentence summary]
### [Category]: [Title]
**What changed:**
- [Specific change with file/function names]
**Why:**
[Motivation and intent]
`★ Insight ─────────────────────────────────────`
[Educational points about patterns or practices]
`─────────────────────────────────────────────────`
## Summary
[Overall summary and important notes]
For output quality reference, see references/examples.md.
npx claudepluginhub vampik33/claude-plugins --plugin explain-changesReads a git diff and produces a plain-English narration of changes for PR descriptions, code reviews, or self-orientation. Supports three audience modes: --for pr, --for review, and --for self.
Reviews recent git diffs and commits with brutal honesty before PRs, spotting 2am logic flaws, copy-paste artifacts, debug leftovers, hacks, and poor naming.
Displays git diffs with syntax highlighting, split view, and word-level diff in terminal UI or web preview. Supports watching changes, filtering files, comparing branches, and AI-powered code review explanations.