Skip to content
Skills Library
Programming · Learning & explanation

explain-diff

/explain-diff

Produce a rich, self-contained HTML explainer for a code change — deep background, core intuition with diagrams, a guided code walkthrough, and an interactive quiz. Use whenever the user asks to explain or deeply understand a diff, PR, branch, or commit — "explain this PR", "walk me through this change", "what does this diff actually do", "make an explainer for this branch" — or wants a shareable document that teaches someone else what changed and why. Output is an HTML file opened in the browser, not a chat reply.

Licence
MIT
Last repository change
10.08.2026

Assessment and security

100/ 100Class: good
Format25 / 25
Frontmatter with name and description, valid name, description up to 1,024 characters, name matching the folder.
Discoverability25 / 25
Description explains when to use the skill, has a reasonable length and uses third person.
Content35 / 35
At least 150 words and at most 500 lines, headings, step lists, examples or code.
Hygiene15 / 15
No placeholders such as TODO, no Windows paths, with a licence.
Riskno signals detected in the scan
Files in this package
1
Scripts
0
HTML comments
0
URLs in SKILL.md
0
Deprecation

No signals detected. Repository changed on 10.08.2026, without references to retired models or APIs.

Licence

MIT, open: use and modify while retaining author attribution.

What it does and when to use it

Produce a rich, self-contained HTML explainer for a code change — deep background, core intuition with diagrams, a guided code walkthrough, and an interactive quiz. Use whenever the user asks to explain or deeply understand a diff, PR, branch, or commit — "explain this PR", "walk me through this change", "what does this diff actually do", "make an explainer for this branch" — or wants a shareable document that teaches someone else what changed and why. Output is an HTML file opened in the browser, not a chat reply.

Triggers from the description

explain this PRwalk me through this changewhat does this diff actually domake an explainer for this branch
Original author description

Produce a rich, self-contained HTML explainer for a code change — deep background, core intuition with diagrams, a guided code walkthrough, and an interactive quiz. Use whenever the user asks to explain or deeply understand a diff, PR, branch, or commit — "explain this PR", "walk me through this change", "what does this diff actually do", "make an explainer for this branch" — or wants a shareable document that teaches someone else what changed and why. Output is an HTML file opened in the browser, not a chat reply.

How it works

  1. Resolve the change
  2. Sections
  3. Output format
  4. Writing style
  5. Diagrams
Original SKILL.md headings · 50 lines, 598 words
SKILL.md preview
---
name: explain-diff
description: >-
  Produce a rich, self-contained HTML explainer for a code change — deep
  background, core intuition with diagrams, a guided code walkthrough, and an
  interactive quiz. Use whenever the user asks to explain or deeply understand
  a diff, PR, branch, or commit — "explain this PR", "walk me through this
  change", "what does this diff actually do", "make an explainer for this
  branch" — or wants a shareable document that teaches someone else what
  changed and why. Output is an HTML file opened in the browser, not a chat
  reply.
---

# Explain Diff

Create a rich, interactive HTML explanation of a code change. The reader may be a teammate encountering the codebase for the first time or the author checking their own understanding — the document should serve both.

## Resolve the change

Pin down exactly what to explain before writing anything:

- **PR number or URL** — `gh pr diff <number>` for the diff, `gh pr view <number>` for the title, description, and discussion
- **Branch** — `git diff <base>...<branch>` against the repo's default branch
- **Commit** — `git show <sha>`
- **Nothing specified** — the working tree (`git diff HEAD`); if clean, the current branch against the default branch

Then explore beyond the diff: read the touched files in full, their callers, and the subsystem they belong to. The Background section lives or dies on your understanding of the surrounding system, not just the delta.

## Sections

The explanation has four sections, in this order:

1. **Background** — Explain the existing system this change slots into. The reader's familiarity is unknown, so layer it: a deep background for beginners (marked as skippable for readers who already know the system), then a narrower background directly relevant to the change.

2. **Intuition** — Explain the core idea of the change: what problem existed, what insight the change embodies, why this approach. Focus on the essence, not the full details. Use concrete examples with toy data, and use figures and diagrams liberally.

3. **Code** — A high-level walkthrough of the changes. Group and order them for understanding — by concept or data flow — not by file order in the diff.

4. **Quiz** — Five interactive multiple-choice questions testing whether the reader understood the substance. Medium difficulty: answerable only by someone who actually understood the change, but no gotchas. On click, reveal whether the answer was correct with a short explanation either way — the feedback is where the learning happens.

## Output format

Produce a single self-contained HTML file:

- All CSS and JavaScript inline, no external requests (CDNs, fonts, images) — the file is opened locally and must work offline.
- One long page with section headers and a table of contents. Don't use tabs for the top-level structure.
- Basic responsive styling so it reads well on a phone.
- Save it outside the repo so it stays out of version control, with the filename starting with today's date so the files stay time-sorted: `/tmp/YYYY-MM-DD-explanation-<slug>.html`.
- When done, open it in the browser (`open <path>` on macOS) and tell the user the path.

## Writing style

Write with the clarity and flow of Martin Kleppmann — engaging, classic style, with smooth transitions between sections. Use callouts for key concepts, definitions, and important edge cases.

## Diagrams

- Pick a small number of diagram families and reuse them throughout to explain different cases — a repeated visual form makes each new instance easier to parse. Useful families:
  - A simplified version of the UI the user sees in the app, for explaining UI changes.
  - A system diagram showing data flow or communication between components — always populated with example data.
- Build diagrams from simple HTML and CSS, and lists from HTML lists. Never use ASCII art — it breaks under responsive layouts and proportional fonts.
- Use `<pre>` tags for code blocks. If a custom-styled div is used instead, its CSS **must** include `white-space: pre` or `pre-wrap`, or the browser will collapse every newline into a single line. Before saving the file, scan each code block in the HTML source and confirm its whitespace handling.

Versions

RepositoryScoreLicence
This page · nicknisi/claude-plugins100MIT
chanmuzi/git-claw100MIT
checkpickerupper/skills100MIT
thettwe/nyann100MIT
filip-podstavec/claude-leverage100MIT

Database snapshot: 13.11.2026 · package version e32658b1e4dc (SHA-256 digest of the entire package)

Downloads in the last 30 days: 0 · ranking

Report a problem with this skill: harmful content, incorrect descriptions or an author’s removal request.

Similar skills

  • 95explain-diff-html
    Produce a rich, interactive, self-contained HTML explanation of a diff, branch, or pull request, with Background, Intuition, Code walkthrough, and a Quiz, written as one dated file to a code-explanations folder in the user's home directory, outside the repo. Triggers on "explain…
  • 96explain-diff-html
    Use when the user asks for a rich explanation of a code change, diff, branch, or PR. Produces HTML output.
  • 91explain-diff-html
    Use when the user asks for a rich explanation of a code change, diff, branch, or PR. Produces HTML output.
  • 100pr-explainer-quiz
    Explain a pull request, diff, commit range or branch to a human reviewer — what changed, why, how data/control flows now, with a Mermaid diagram — then run a short interactive quiz to check they actually understood it before approving. Use whenever someone asks "explain this…
  • 100diff-visual
    Catch up on a git change before you review it: background on the system it lands in, the idea behind it, a literate diff of the real code, and a five-question quiz. Use when the user wants to understand, explain, walk through, get up to speed on, or visualize a diff, branch,…
  • 100change-brief
    Turn a pull request into a concise, self-contained HTML decision brief with business logic, diagrams when useful, conditional UI/mobile screenshots, API cURL request/response evidence, risks, verification, and representative before/after code. Use when the user asks to "explain…

Feedback and reports

Your message goes to Bartosz Sokoliński. An email address is needed only for a reply. See the privacy policy.