← ClaudeAtlas

explain-difflisted

Generate a self-contained interactive HTML explainer for a code diff, commit, branch, or PR so the developer genuinely understands the change before sharing or merging it. TRIGGER when: user asks to explain a diff/PR/commit/changes or wants an understanding document (e.g., "diff 설명해줘", "이 변경 이해하게 해줘", "explain this PR", "변경사항 설명 문서 만들어줘"). DO NOT TRIGGER when: user wants defect findings or a review verdict (use code-review), is committing or creating PRs, or asks a quick question about a specific line that a direct answer serves better.
chanmuzi/git-claw · ★ 7 · Code & Development · score 78
Install: claude install-skill chanmuzi/git-claw
## The One Principle **Build genuine understanding first, then explain it.** The document exists so the reader can pass a quiz about the change without opening the files — and honestly could not before reading it. Inspired by Geoffrey Litt's explain-diff: understanding, not correctness, is the bottleneck of agent-written code. The default reader is the **author-practitioner**: someone who works on this codebase and is about to review, merge, or defend this change. Skip beginner background; include behavior deltas, failure modes, and design rationale. Honesty rules apply throughout: - Never present a suspicion as a confirmed bug — frame it as an attention pointer. - Distinguish stated intent (commit messages, PR body) from your inferred interpretation. - Quote code **verbatim only** — never paraphrase, re-indent, or reconstruct from memory. Every quoted block must survive comparison against the actual file. - Do not invent content for a section with nothing to say — omit the section. ## Parse Arguments | Argument | Type | Description | |----------|------|-------------| | (none) | — | Explain the working diff: `git diff HEAD` plus branch commits vs the default branch | | PR number | e.g. `42` | Explain that PR via `gh pr view` / `gh pr diff` | | commit / range | e.g. `a1b2c3d`, `main..feat/x` | Explain that commit or range | | path | e.g. `src/auth/` | Restrict the diff to this path | ## Step 1: Acquire the Diff Resolve the target and gather, in one pass: ```bash git d