plugins/essentials/skills/socratic-tutor/SKILL.md
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", "walk me through this change", or "make sure I understand this". Restates-first, quizzes, and does not stop until the user demonstrates mastery.
npx skillsauth add nicknisi/claude-plugins socratic-tutorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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:
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.
tools
Generate a /goal command to execute an ideation project's specs autonomously. Reads the contract, builds a goal prompt with phase ordering and spec paths, copies it to clipboard, and prints it. The user pastes the /goal command to start autonomous execution. Use when the user says 'goal', 'run as goal', 'get goal prompt', 'goal prompt', or wants to execute specs via /goal instead of /ideation:autopilot.
development
Go up a layer of abstraction and map the surrounding architecture. Use when the user is unfamiliar with an area of code, asks "how does this fit in", "what calls this", "give me the big picture", "where am I", "map this out", "I'm lost", "explain this area", or needs to understand how a file, module, or function connects to the rest of the system. Also use when the user says /zoom-out or "zoom out" mid-conversation — even without a specific file reference, orient them based on whatever code is currently in context.
development
Build a throwaway prototype to answer a design question before committing to real implementation. Generates either a runnable terminal app (for state machines, data models, business logic) or several radically different UI variations on one route (for visual/layout decisions). Use when the user wants to prototype, spike, POC, sanity-check a data model, mock up a UI, explore design options, or says "prototype this", "spike this out", "let me play with it", "try a few designs", "sketch this in code", "I want to try something before building it for real", "quick and dirty version", or "validate this approach" — even if they don't use the word "prototype."
development
Comprehensive, codebase-wide quality sweep that dispatches parallel subagents to find and fix structural issues. Covers deduplication, type consolidation, dead code removal, circular dependencies, weak types, defensive try/catch, deprecated paths, and AI slop. Primary support for JS/TS projects (knip, madge, TypeScript types); other languages get grep-based analysis. Use when the user asks to "deep clean the whole repo", "run a full codebase audit", "nuclear cleanup", "deslop everything", or "sweep the entire codebase for quality issues". Do NOT use for single-file fixes, branch-scoped diffs (use de-slopify instead), or targeted refactors.