# Learn

> 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".

- Skill: `kriscard/learn` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add kriscard/learn`
- Raw SKILL.md: https://api.skillmd.com/api/skills/kriscard/learn/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: kriscard (https://skillmd.com/u/kriscard)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/kriscard/learn

---


# 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](#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:

```text
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

