Teach Me
teach-me/
An AI teacher that teaches any technical topic through interactive lessons and quizzes, adapts to your level as you go, and builds tutorial courses from repos or docs.

An AI teacher that teaches any technical topic through interactive lessons and quizzes, adapts to your level as you go, and builds tutorial courses from repos or docs.
What it does
- Studies before it teaches. A 6-stage pipeline: study, understand, map, plan, prepare, teach.
- Interactive lessons that adapt to your level as you answer.
- Teaches from anywhere: a topic, a documentation site (
from URL) or a code repository (from this repo). - Quiz mode: say "quiz me" and the roles flip.
- Remembers you. Saves your progress; say "continue" to pick up where you left off.
- Builds courses:
--coursegenerates a full tutorial in Markdown, HTML or a Jekyll site.
Use
/teach-me React hooks
/teach-me Kubernetes from https://kubernetes.io/docs/
/teach-me this codebase from this repo --course --format=html
Install
Download this skill and copy the teach-me folder to .claude/skills/teach-me/ in your project, or to ~/.claude/skills/teach-me/ to use it in every project. Claude Code finds it on its own; you can also call it with /teach-me.
Part of the Teaching bundle.
Source: endorphin-ai/hasbrains-agent-kit. License: MIT.
Files (23)
Files
-
- analysis-schema.md
- course-builder.md
- example.md
- format-github-pages.md
- format-html-interactive.md
- format-markdown.md
- knowledge-store.md
- learning-pipeline.md
- mit-ocw.md
- quiz-mode.md
- roadmap-builder.md
- stage-1-study.md
- stage-2-understand.md
- stage-3-map.md
- stage-4-plan.md
- stage-5-prepare.md
- stage-6-teach.md
- student-model.md
- teaching-examples.md
- workflows.md
- SKILL.md
# Complete Workflow Reference
Every possible path through the /teach-me system, from first command to session end.
## All Entry Points
```
STUDENT SAYS: MODE:
─────────────────────────────────────────────────────
/teach-me quantum physics → Interactive (new topic)
/teach-me quantum physics from URL → Docs-sourced
/teach-me quantum physics from this repo → Repo-sourced
/teach-me quantum physics --course → Course builder
"I don't understand entanglement" → Interactive (implicit)
"continue" / "let's keep going" → Resume previous session
"quiz me" / "test me" → Quiz mode
```
---
## WORKFLOW 1: New Student + New Topic (Full Pipeline)
This is the longest path — everything happens from scratch.
```
Student: "/teach-me quantum physics"
┌─ Stage 0: LOAD ──────────────────────────────────────┐
│ │
│ Check knowledge/quantum-physics/ → NOT FOUND │
│ Check student profile → NOT FOUND │
│ Decision: full pipeline needed │
│ │
└──────────────────────────────────────────────────────┘
↓
┌─ Stage 1: STUDY (silent, 10-15 min) ─────────────────┐
│ │
│ Search 1: "quantum physics official documentation" │
│ Search 2: "site:ocw.mit.edu quantum physics" │
│ → Found MIT 8.04, fetch syllabus │
│ Search 3: "quantum physics key concepts" │
│ Search 4: "quantum physics common misconceptions" │
│ Fetch + deep read: MIT syllabus, lecture notes, │
│ misconceptions article │
│ Size check: LARGE → will generate roadmap │
│ │
└──────────────────────────────────────────────────────┘
↓
┌─ Stages 2-5: UNDERSTAND → MAP → PLAN → PREPARE ─────┐
│ (silent, 5-10 min) │
│ │
│ Build concept map: 13 concepts, 4 modules │
│ Generate roadmap (topic is LARGE) │
│ Plan Module 1 only (this session) │
│ Prepare: analogies, examples, mistakes, checkpoints │
│ Prepare both tracks (conceptual + mathematical) │
│ │
└──────────────────────────────────────────────────────┘
↓
┌─ Stage 6 Phase 1: ORIENT ────────────────────────────┐
│ (FIRST message to student) │
│ │
│ AI: "Quantum physics is a big topic — I've built │
│ you a learning roadmap with 4 modules. Today we'll │
│ start with Module 1: Why Quantum? │
│ │
│ Before we dive in — what's your math background? │
│ Comfortable with calculus, or would you prefer a │
│ concepts-first approach?" │
│ │
│ → Student answers → profile built → track selected │
│ │
└──────────────────────────────────────────────────────┘
↓
┌─ Stage 6 Phase 2: BUILD ─────────────────────────────┐
│ (5-15 messages, interactive) │
│ │
│ Concept 1: Why classical physics breaks │
│ Anchor → Show → Explain → Checkpoint → Bridge │
│ │
│ Concept 2: Wave-particle duality │
│ Anchor → Show → Explain → Checkpoint → Bridge │
│ │
│ Concept 3: Superposition & measurement │
│ Anchor → Show → Explain → Checkpoint → Bridge │
│ │
│ (student can say "quiz me" at any point → Quiz Mode)│
│ (student can say "stop" at any point → End Session) │
│ │
└──────────────────────────────────────────────────────┘
↓
┌─ Stage 6 Phase 3: APPLY ─────────────────────────────┐
│ │
│ Challenge: "Predict what happens in a Mach-Zehnder │
│ interferometer when you block one path." │
│ → Progressive hints if stuck │
│ → Review their answer │
│ → Assign homework │
│ │
└──────────────────────────────────────────────────────┘
↓
┌─ Stage 6 Phase 4: SOLIDIFY ──────────────────────────┐
│ │
│ AI: "Great session! Here's what we covered: │
│ - Classical physics breaks at the atomic scale │
│ - Light and matter are both wave AND particle │
│ - Superposition is a real state, not 'both at once' │
│ │
│ Homework: Watch MIT 8.04 Lecture 1 (17 min). │
│ Predict what 'loss of determinism' means. │
│ │
│ Next time: We'll cover wavefunctions and the │
│ Schrödinger equation — the math that makes │
│ all of this precise. │
│ │
│ You've completed Module 1 Session 1 of 3. │
│ Say 'continue' anytime to pick up where we left off.│
│ Say 'quiz me' to test what you've learned." │
│ │
└──────────────────────────────────────────────────────┘
↓
┌─ Stage 7: SAVE (silent) ─────────────────────────────┐
│ │
│ Save to knowledge/quantum-physics/: │
│ concept-map.md, teaching-notes.md, sources.md │
│ │
│ Save to students/{id}/: │
│ profile.json: {math: "calculus", track: "math"} │
│ progress.json: {concepts: ["classical-breaks", │
│ "wave-particle": mastered, "superposition": │
│ partial]} │
│ session log: what worked, what didn't, next plan │
│ │
└──────────────────────────────────────────────────────┘
```
---
## WORKFLOW 2: Returning Student + Same Topic (Resume)
The most common flow after the first session.
```
Student: "/teach-me quantum physics" or "continue" or "let's keep going"
┌─ Stage 0: LOAD ──────────────────────────────────────┐
│ │
│ Check knowledge/quantum-physics/ → FOUND ✓ │
│ Last refreshed: 2 days ago → FRESH ✓ │
│ → Skip Stages 1-2 entirely │
│ │
│ Check student profile → FOUND ✓ │
│ Last session: covered concepts 1-3 │
│ Current position: Module 1, Session 2 │
│ Struggle: superposition ("both at once" error) │
│ Homework assigned: watch MIT 8.04 Lecture 1 │
│ │
│ Decision: resume from Module 1 Session 2 │
│ Plan: re-address superposition with new analogy, │
│ then teach wavefunctions │
│ │
└──────────────────────────────────────────────────────┘
↓
┌─ Stages 3-5: Quick re-plan for THIS session ─────────┐
│ (silent, 1-2 min — knowledge already stored) │
│ │
│ Load teaching-notes.md → analogies ready │
│ Note: spinning coin analogy didn't work last time │
│ → Prepare polarization filter analogy instead │
│ │
└──────────────────────────────────────────────────────┘
↓
┌─ Stage 6 Phase 1: RESUME ────────────────────────────┐
│ │
│ AI: "Welcome back! Last time we covered the │
│ photoelectric effect and wave-particle duality. │
│ You mentioned superposition was confusing — I've │
│ got a different way to explain it today. │
│ │
│ Did you get a chance to watch the MIT lecture? │
│ Any questions from that before we continue?" │
│ │
└──────────────────────────────────────────────────────┘
↓
(continues with Build → Apply → Solidify → Save)
```
---
## WORKFLOW 3: Known Topic + New Student
Teacher already has materials, just needs to adapt for this learner.
```
Student: "/teach-me quantum physics" (different person)
Stage 0: LOAD
knowledge/quantum-physics/ → FOUND ✓ (skip research)
student profile → NOT FOUND (new student)
Decision: use stored knowledge, build new profile in Orient
Stages 1-2: SKIP (knowledge exists and is fresh)
Stages 3-5: Re-plan for unknown audience (prepare both tracks)
Stage 6: Orient → "What's your background?" → build profile
→ Build → Apply → Solidify
Stage 7: Save new student profile + update teaching notes
```
---
## WORKFLOW 4: Docs-Sourced Teaching
```
Student: "/teach-me testing from https://playwright.dev/docs/intro"
Stage 0: LOAD → check knowledge/playwright/
Stage 1: STUDY (different source strategy)
FIRST: web_fetch https://playwright.dev/docs/intro (OFFICIAL DOCS)
Follow sidebar navigation → crawl all pages
Map docs structure: getting started → guides → API reference
Identify what docs explain well vs poorly
THEN: supplementary searches for misconceptions, comparisons
Save to knowledge/playwright/ with official_docs_url
Stages 2-5: same as Workflow 1, but concept map based on DOCS structure
Stage 6: Teach interactively, referencing specific docs pages
"The official docs show this pattern, but what they don't explain is WHY..."
Stage 7: Save (same as always)
```
---
## WORKFLOW 5: Repo-Sourced Teaching
```
Student: "/teach-me this repo" or "/teach-me this codebase"
Stage 0: LOAD → check if this repo was analyzed before
Stage 1: STUDY (reads code instead of searching web)
Read directory structure → entry points → core files
Trace data flow end-to-end
Identify architecture patterns
THEN: search for frameworks/libraries used (official docs!)
Save to knowledge/{repo-name}/
Stages 2-5: concept map based on CODE architecture
Stage 6: Teach by walking through actual code files
Stage 7: Save
```
---
## WORKFLOW 6: Course Builder Mode
```
Student: "/teach-me quantum physics --course --format=html"
Stages 0-5: SAME as Workflow 1 (full research + planning)
Stage 6: DIFFERENT — no interactive conversation
Instead: generate complete course file(s)
Read references/course-builder.md for pipeline
Read references/format-html-interactive.md for HTML spec
Output: single .html file with all tutorials,
sidebar nav, progress tracking, quiz checkpoints,
dark mode, KaTeX math rendering
Stage 7: Save knowledge (same), no student model to save
AI: "Here's your quantum physics course — 4 modules,
13 tutorials, estimated 8-12 hours total."
[presents the file]
```
---
## WORKFLOW 7: Quiz Mode (Mid-Session Switch)
```
Student: "quiz me" (during any teaching session)
┌─ MODE SWITCH ────────────────────────────────────────┐
│ │
│ Read references/quiz-mode.md │
│ Identify scope: quiz on concepts taught THIS session│
│ (or specify: "quiz me on Module 1") │
│ │
└──────────────────────────────────────────────────────┘
↓
┌─ QUIZ LOOP ──────────────────────────────────────────┐
│ │
│ AI asks question (one at a time) │
│ Student answers │
│ AI evaluates: │
│ ✅ Correct → reinforce + bonus │
│ ✅ Correct + improve → "add this..." │
│ ⚠️ Partial → "right track, reconsider..." │
│ ❌ Incorrect → Error Sandwich │
│ Adapt difficulty up/down based on performance │
│ Repeat for 5-10 questions │
│ │
└──────────────────────────────────────────────────────┘
↓
┌─ QUIZ SUMMARY ───────────────────────────────────────┐
│ │
│ AI: "Results: 7/10 │
│ Strengths: photoelectric effect, wave-particle │
│ Needs work: superposition (still partial) │
│ │
│ Want to review superposition, or continue to │
│ the next topic?" │
│ │
│ → Student chooses → back to teaching or end session │
│ │
└──────────────────────────────────────────────────────┘
↓
Update student model: progress, struggles
```
---
## SESSION MANAGEMENT
### How a Session Ends
A session can end in these ways:
```
EXPLICIT END (student says):
"that's enough for today"
"let's stop"
"end session"
"I need to go"
"thanks, that's all"
"bye"
NATURAL END:
Module milestone reached → suggest stopping
After Phase 4 Solidify → natural ending point
After quiz summary → natural ending point
SUGGESTED END (teacher initiates):
After 30-45 minutes → "We've covered a lot. Want to continue
or save this as a good stopping point?"
After completing a roadmap module → "That's Module 1 complete!
Take a break and let it settle. Ready for Module 2 next time."
When learner seems fatigued (short answers, slower responses)
→ "You seem like you might need a break. Want to pause here?"
```
### What Happens When a Session Ends
```
EVERY session ending triggers Stage 7: SAVE
┌─ CLOSING MESSAGE ────────────────────────────────────┐
│ │
│ AI: "Great session! Quick recap: │
│ │
│ What we covered: │
│ • [concept 1] — remember the [analogy] │
│ • [concept 2] — key insight: [insight] │
│ • [concept 3] — watch out for [common mistake] │
│ │
│ Your progress: Module 1 — 2 of 3 sessions complete │
│ ████████████░░░░░░░ 67% │
│ │
│ Homework: │
│ 📺 Watch MIT 8.04 Lecture 5 (20 min) │
│ 📝 Try to predict what a wavefunction looks like │
│ for a particle bouncing between two walls │
│ │
│ Next session: Wavefunctions + Schrödinger equation │
│ │
│ Come back anytime — just say '/teach-me quantum │
│ physics' or 'continue' and I'll pick up right │
│ where we left off." │
│ │
└──────────────────────────────────────────────────────┘
↓
┌─ Stage 7: SAVE (silent) ─────────────────────────────┐
│ │
│ knowledge/quantum-physics/ │
│ teaching-notes.md → update with what worked │
│ misconceptions.md → add any new ones found │
│ meta.json → bump times_taught │
│ │
│ students/{id}/ │
│ progress.json: │
│ current_module: 1 │
│ current_session: 2 (of 3) │
│ concepts_mastered: [c1, c2] │
│ concepts_partial: [c3 — superposition] │
│ next_topic: "wavefunctions" │
│ struggles.json: │
│ superposition: "still says 'both at once'" │
│ sessions/2026-04-09.json: │
│ concepts_covered: [c1, c2, c3] │
│ checkpoints: {c1: pass, c2: pass, c3: partial} │
│ homework_assigned: "watch lecture 5 + predict" │
│ what_worked: "polarization analogy for superpos"│
│ next_plan: "start with superposition review" │
│ │
└──────────────────────────────────────────────────────┘
```
### How a Student Resumes
```
Student returns later and says ANY of:
"/teach-me quantum physics"
"continue"
"let's keep going"
"where were we?"
"continue quantum physics"
→ Stage 0: LOAD
→ Finds student profile + progress + last session log
→ Knows exactly where they stopped
→ Knows their struggles, what worked, what homework was assigned
→ Stage 6 Phase 1: RESUME (not Orient)
AI: "Welcome back! Last time we finished [X] and you had
homework to [Y]. How did that go?"
→ If they did homework: quick discussion, then continue
→ If they didn't: no judgment, quick recap, then continue
→ If they forgot everything: brief review of key concepts
```
---
## SESSION STATE DIAGRAM
```
/teach-me TOPIC
│
┌────▼────┐
│ LOAD │ ← check knowledge + student
└────┬────┘
│
┌──────────┼──────────┐
│ │ │
new topic known+fresh known+stale
│ │ │
full study skip to refresh
(10-15m) plan (1-2m)
│ │ │
└──────┬───┘──────────┘
│
┌────▼────┐
│ PLAN │ ← map + plan + prepare
│+ PREPARE│
└────┬────┘
│
┌────────▼────────┐
│ ORIENT │ ← first message to student
│ (new or resume)│
└────────┬────────┘
│
┌────────▼────────┐
│ BUILD │←──────────────────────┐
│ (concept loop) │ │
└───┬────┬────┬───┘ │
│ │ │ │
student │ │ │ student │
says │ │ │ says │
"quiz me" │ │ │ "stop" │
│ │ │ │
┌────▼┐ │ ┌─▼──────┐ │
│QUIZ │ │ │ END │ │
│MODE │ │ │SESSION │ │
└──┬──┘ │ └───┬────┘ │
│ │ │ │
back to │ │ │
teaching───┘ │ │
│ │
┌──────▼──────┐ student says │
│ SOLIDIFY │───"more"/"next"───┘
│ + homework │
└──────┬──────┘
│
┌──────▼──────┐
│ SAVE │ ← always happens
│ knowledge + │
│ student │
└──────┬──────┘
│
┌──────▼──────┐
│ DONE │
│ "come back │
│ anytime" │
└─────────────┘
```
---
## COMMANDS REFERENCE (for students)
```
STARTING:
/teach-me [topic] Start learning a topic
/teach-me [topic] from [URL] Learn from specific documentation
/teach-me [topic] --course Generate a downloadable course
DURING SESSION:
"quiz me" / "test me" Switch to quiz mode
"explain that again" Re-explain with different approach
"I don't get it" Triggers simpler explanation
"go deeper" More detail on current concept
"skip this" / "I know this" Move to next concept
"show me an example" Get a concrete example
"what's the roadmap?" See full learning path
ENDING:
"that's enough for today" End session (saves progress)
"let's stop here" End session (saves progress)
"thanks" / "bye" End session (saves progress)
RESUMING:
"continue" Resume from last session
"where were we?" Resume from last session
/teach-me [same topic] Detects returning student, resumes
"quiz me on [topic]" Quiz on previously learned material
PROGRESS:
"what have I learned?" Show progress across all topics
"show my roadmap" Show roadmap with completion status
```