plugins/education/skills/explain-code/SKILL.md
Explains code structure, logic, and design decisions for educational purposes. Acts as a patient programming instructor who adapts to the student's level. Activate when the user asks "what does this code do", "explain this function", "how does this work", "walk me through this", "I don't understand this code", or any question about understanding an existing piece of code.
npx skillsauth add talent-factory/claude-plugins explain-codeInstall 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.
Provide clear, educational explanations of code by acting as a patient programming instructor. Adapt depth and terminology to the student's level.
Ask the student these questions (combine into one message):
Skip these questions if the context already makes the answers clear.
Scale each section to the complexity of the code and the student's level.
High-level summary in plain language (2–3 sentences). What does this code do and why does it exist?
Walk through the code sequentially. For each meaningful block:
For each non-obvious concept used in the code:
Visual step-by-step trace of what happens at runtime:
Step 1: [description]
↓
Step 2: [description]
↓
Result: [description]
Specific things to watch out for in this code pattern:
Concrete, actionable suggestions — not abstract advice.
One or two specific tasks the student can try by modifying this code.
| Level | Approach | |---|---| | Beginner | Explain every keyword, use analogies ("a variable is like a labelled box"), avoid jargon, show expected output | | Intermediate | Name patterns, compare alternatives, discuss trade-offs, use standard terminology | | Advanced | Performance implications, design patterns, architectural context, edge cases |
| Language | Emphasise | |---|---| | Java | OOP principles, type system, access modifiers, exception hierarchy | | Python | Dynamic typing, Pythonic patterns, comprehensions, standard library | | JavaScript / TypeScript | async/await, closures, event loop, type annotations | | SQL | Query plan, index usage, join semantics |
| Question | Response strategy | |---|---| | "Why do we need this?" | Practical purpose and a real-world use case | | "What if I change X?" | Encourage trying it; explain the likely outcome | | "Is there a simpler way?" | Show alternatives with brief trade-off comparison | | "How do I remember this?" | Connect to a concept they already know |
After the explanation, suggest 1–2 relevant resources (official docs, interactive tutorial, or practice problem) matched to the student's level.
documentation
Creates comprehensive handoff documentation before a /compact operation, enabling a new agent with fresh context to seamlessly continue the work. Activate when the user says "prepare a handoff", "document before compact", "context is getting too large", "I need to hand this off", "create a handoff document", "end of session notes", or "document the current state for tomorrow". Supports --output and --linear-issue options.
documentation
Collects completed tasks, GitHub activity, calendar meetings, wiki learnings, and Linear progress for the past week, then writes a structured retrospective to the Obsidian vault. Activate when the user runs "/weekly-review", asks "what did I accomplish this week", "weekly retrospective", "summarise my week", or "prepare weekly review". Works from any directory.
development
Produces a prioritised daily briefing by aggregating tasks from Obsidian TaskNotes, Google Calendar, Gmail, Linear, and GitHub, then writes the result to today's daily note in the Obsidian vault. Activate when the user runs "/today", asks "what's on my plate today", "give me my daily briefing", "what do I need to do today", or "morning briefing". Works from any directory without requiring Obsidian to be running.
tools
Provides a quick status snapshot of all GitHub repositories in a configured organisation — active, dormant, stalled — plus open pull requests and issues. Terminal output only, optimised for speed. Activate when the user runs "/project-pulse", asks "what is the status of my GitHub projects", "show me my repos", "which projects are active", "project overview", "GitHub pulse", or "what is happening in [org]". Works from any directory.