blog-post-writer
Turn Nick Nisi's raw material into a blog post draft in his voice. Use when the user says "write a blog post," "draft a post,"…
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",
$ npx -y skills add nicknisi/claude-plugins --skill explain-diff --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/explain-diffContext preview
The summary Claude sees to decide when to auto-load this skill.
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",
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.
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.
Pin down exactly what to explain before writing anything:
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.
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.
Produce a single self-contained HTML file:
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.
Turn Nick Nisi's raw material into a blog post draft in his voice. Use when the user says "write a blog post," "draft a post,"…
Create conference talk outlines and slide-by-slide content plans using narrative frameworks. Use when the user wants to structure…
This skill should be used when the user asks to "tighten this up", "tighten the prose", "clean up the writing", "check for AI…
Compact the current conversation into a handoff document for another agent to pick up. Use when the user says "hand this off",…
Build a throwaway prototype to answer a design question before committing to real implementation. Generates either a runnable…
Socratic tutor that drills the user until they deeply understand a change — the problem, the solution, the design decisions, the…