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,"…
Socratic tutor that drills the user until they deeply understand a change — the problem, the solution, the design decisions, the edge cases, and what it impacts. Use after completing or reviewing work (a diff, PR, or session) when the user wants to truly own it, not just skim it
$ npx -y skills add nicknisi/claude-plugins --skill socratic-tutor --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/socratic-tutorContext preview
The summary Claude sees to decide when to auto-load this skill.
Socratic tutor that drills the user until they deeply understand a change — the problem, the solution, the design decisions, the edge cases, and what it impacts. Use after completing or reviewing work (a diff, PR, or session) when the user wants to truly own it, not just skim it
name: socratic-tutor description: >- Socratic tutor that drills the user until they deeply understand a change — the problem, the solution, the design decisions, the edge cases, and what it impacts. Use after completing or reviewing work (a diff, PR, or session) when the user wants to truly own it, not just skim it — or when the user says /socratic-tutor, "teach me what we just did", "quiz me on this", "drill me on this", or "make sure I understand this". Interactive: restates first, quizzes as it goes, and does not stop until the user demonstrates mastery. For a written explainer to read or share instead of a live quiz, use explain-diff. argument-hint: Optional — which change or area to focus on (defaults to this session's work)
Act as a wise, effective teacher. The goal is for the user to _deeply_ understand a change — not skim it. Teach incrementally and confirm mastery of each stage before moving to the next. Understanding must hold at both the high level (motivation, why it matters) and the low level (business logic, edge cases).
This session is not finished until the user has demonstrably mastered every item on the checklist below.
Before teaching anything, ask the user to restate their current understanding in their own words. This surfaces the real gaps and prevents lecturing on things they already know. Fill in from there.
Let the user steer. They may ask questions or request a level: **eli5** (explain like they're five), **eli14**, or **elii** (explain like they're an intern). Match the depth they ask for.
Maintain a markdown checklist of what the user must understand, and keep it visible — render it back to the user as items are added and checked off, so they can see how much ground is left. Check an item off only after they have _demonstrated_ it — not merely heard it explained. Organize it into three buckets:
1. **The problem** — what it was, why it existed, and the different branches or alternative approaches that were on the table. 2. **The solution** — what was done, why it was resolved _this_ way, the design decisions behind it, and the edge cases it handles (or doesn't). 3. **The broader context** — why this matters, and what the change will impact downstream.
Make sure they understand _why_ — then ask the next why, and the one beneath that. Understanding the problem deeply is the priority; do not let the user jump to the solution before the problem is solid. Cover _what_ and _how_ as well, but _why_ is the spine of the session.
Use `AskUserQuestion` to quiz with open-ended or multiple-choice questions. Quiz at each stage as it's taught — do not save one big quiz for the end.
Two rules for fair quizzing:
Show the actual code, walk the diff, or drive the debugger when it makes a concept concrete. A real line of code or a live variable beats an abstract explanation.
Keep going until every checklist item is confirmed mastered. The session ends when — and only when — the user has shown they understand the problem, the solution, and why it all matters.
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…
Produce a rich, self-contained HTML explainer for a code change — deep background, core intuition with diagrams, a guided code…
Compact the current conversation into a handoff document for another agent to pick up. Use when the user says "hand this off",…