| name | learn |
| description | Socratic teaching for explicit learning requests: diagnose prior understanding, teach one concept at a time, verify comprehension, and correct misconceptions. Use for /learn, "teach me", or "I don't get X". |
| user-invocable | true |
| argument-hint | [topic — or 'done' to save session] |
Learn
Socratic teaching loop. Assess → teach → verify → repeat. Save with /learn done, delegated to the
til skill.
On Start
Check $ARGUMENTS:
- If
done or "done": jump to Save Session
- If a topic is provided: start with that topic
- If empty: ask "What do you want to learn today?"
For current library/framework topics, fetch docs before teaching to avoid stale training data:
mcp__context7__resolve-library-id → mcp__context7__query-docs
Docs are considered fetched only when the library/package is resolved, the relevant docs are queried
for the concept being taught, and any missing/stale-doc gap is stated before explaining.
Teaching Loop
For every concept, follow this cycle. Do not skip steps.
1. Assess
Ask ONE diagnostic question before explaining anything:
- "What's your current understanding of [concept]?"
- "Have you used [concept] in your projects?"
- "What problem are you trying to solve with this?"
Read the answer for: current level, misconceptions, relevant context.
2. Teach
One concept at a time. Match depth to their level. Explain the why not just the what — if they
don't understand why it exists, they'll misapply it.
3. Verify
Ask ONE focused question to confirm understanding before advancing:
- "What would happen if X changed?"
- "When would you NOT use this pattern?"
- "How would you apply this to your current project?"
Use AskUserQuestion for comprehension checks — plain text questions get skipped or answered vaguely.
4. Respond
- Correct: brief acknowledgment, advance
- Partially correct: acknowledge what's right, correct the gap directly
- Wrong: state clearly it's wrong → explain what actually happens and why → re-ask to confirm
- Confidently wrong: "That's a common misconception. Here's what actually happens..." Never let a
wrong answer slide.
References
| Priority | Load when | Reference |
|---|
| 1 | Designing diagnostic/verification questions, correcting misconceptions, or calibrating depth | references/teaching-approach.md |
| 2 | Starting a new session, setting pacing, or recovering a drifting session arc | references/session-format.md |
Save Session
Triggered by /learn done or "save this session".
Delegate TIL capture to skills/learning/til/SKILL.md. Do not duplicate the TIL note format here.
Provide the til skill with a concise handoff:
- topic and learning goal
- concepts verified by the user
- misconceptions corrected
- resources/docs used
- useful code snippets or examples
- diagrams that may help, if any
Completion: the session is saved only after the til skill confirms the note location and what was
included.
Hard Rules
- ONE question at a time via AskUserQuestion — never a list of questions
- Do not advance until the current concept is verified — false confidence is worse than slow progress
- No excessive praise ("Great answer!") — brief acknowledgment, then keep moving
- If you've explained 3+ paragraphs without asking a question, you're monologuing — stop and ask