explain-diff

Explains git diffs interactively through topic, file, and commit walkthroughs.

9|Updated Jul 8, 2026
One-click install
npx skills add https://github.com/jerrylin96/dotgemini --skill explain-diff-jerrylin96
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: explain-diff
Source: https://github.com/jerrylin96/dotgemini/tree/main/skills/explain-diff
Command: npx skills add https://github.com/jerrylin96/dotgemini --skill explain-diff-jerrylin96

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Understanding a large branch, pull request, or commit range by reading raw git diff output is slow and error-prone, especially when changes span many files, renames, binaries, and multiple commits. This Skill turns any changeset into a structured, neutral explanation with verbatim hunks and interactive navigation. ## Core Features & Use Cases - Three Context Modes: Explain a specific commit or range, a pull/merge request (including fork PRs), or a branch compared against its merge base using a shared branch resolver. - Tri-Lens Walkthroughs: Navigate the changeset by semantic topic clusters, by individual file, or commit-by-commit, with drill-down Q&A on callers, prior behavior via git log/blame, and related hunks. - Rigorous Diff Accounting: Reconciles hunk counts, line additions/deletions, renames, copies, binaries, submodules, symlinks, and mode changes against numstat output so no change is silently dropped. - Use Case: A reviewer opens a 12-commit PR touching 40 files and asks for an explanation; the Skill produces an overall summary with a commit timeline, clusters hunks into functional topics, and lets the reviewer step through each topic with verbatim diff hunks. ## Quick Start Explain the changes on my current branch compared to main, starting with an overall summary and then walking me through it topic by topic.

Frequently Asked Questions about explain-diff

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I get an explanation of a git diff between two branches?

Provide a branch name or no target at all, and the Skill resolves the merge base, extracts the full diff into scratch files, and presents an overall summary plus a navigation menu. You can then walk through changes by topic, by file, or commit by commit.

How to explain a pull request diff including fork PRs?

Pass the PR number or URL and the resolver fetches the PR head ref from the remote, so fork PRs work without a local branch. It optionally uses gh pr view for the PR description to improve the summary, but gh is never required.

Does this diff explanation tool modify my working tree?

No, it is strictly read-only. It only reads files via the worktree or git show, writes temporary diff artifacts to the conversation scratch directory, and cleans up only those generated scratch files.

Can it handle large diffs with renames, binaries, and submodules?

Yes. It uses explicit --find-renames --find-copies flags, NUL-delimited name-status and numstat streams parsed as raw bytes, and metadata tags for binaries, renames, copies, submodules, symlinks, and mode changes, with totals reconciled against numstat.

When should I not use diff explanation for a changeset?

Do not use it to find bugs or quality issues, since it is deliberately neutral and descriptive rather than adversarial. For defect hunting, the documentation directs you to the adversarial-review skill instead.