teach — stateful multi-session teaching
Teach the user a concept over multiple sessions. The current directory is a
stateful teaching workspace — the state of their learning is captured in files
there. Build exercises, check understanding, adapt pace to the learner.
This skill is for learning, not building. If the user wants to build something,
route to grill / plan / build instead.
OWNERSHIP
Owns: the teaching workspace files (MISSION.md, RESOURCES.md, learning-records/,
lessons/, reference/, NOTES.md).
Reads: CONTEXT.md if it exists (for canonical terms in the teaching domain).
MUST NOT write plan artifacts. Teaching workspace is separate from plan artifacts.
WHEN (user-invoked)
- User says "teach me", "I want to learn", "explain over time", "help me
understand", "course on", "tutorial".
- User wants to learn a concept, not build something.
THE TEACHING WORKSPACE
Treat the current directory as a teaching workspace. State is captured in:
MISSION.md — the reason the user is interested in the topic. Grounds all
teaching.
./reference/* — reference materials: compressed learnings, cheat sheets,
reference algorithms, syntax, glossaries. The raw units of learning. Beautiful
documents that print well and are designed for quick reference.
RESOURCES.md — a list of resources to ground teaching in contextual
knowledge, or to acquire knowledge/wisdom.
./learning-records/*.md — learning records, capturing what the user has
learned. Loosely equivalent to ADRs — non-obvious lessons and key insights that
may need revision later, or drive future sessions. Used to calculate the zone of
proximal development. Titled 0001-<slug>.md, incrementing.
./lessons/* — lessons. A lesson is a single, self-contained output that
teaches one tightly-scoped thing tied to the mission. The primary unit of teaching.
NOTES.md — scratchpad for user preferences and working notes.
Create files lazily — only when you have something to write.
PHILOSOPHY
To learn at a deep level, the user needs three things:
- Knowledge, captured from high-quality, high-trust resources.
- Skills, acquired through highly-relevant interactive lessons you devise,
based on the knowledge.
- Wisdom, which comes from interacting with other learners and practitioners.
Before RESOURCES.md is well-populated, your focus is to find high-quality
resources. NEVER trust your parametric knowledge alone — find sources and cite them
(invoke the research loop if external knowledge is needed). Some topics need more
skills than knowledge (theoretical physics = knowledge-heavy; yoga = skills-heavy).
Fluency vs storage strength
Split between two types of learning:
- Fluency strength — in-the-moment retrieval.
- Storage strength — long-term retention.
Fluency gives an illusory sense of mastery, but storage strength is the real goal.
Design lessons that build long-term retention by desirable difficulty:
- Retrieval practice (recall from memory).
- Spacing (distribute practice over time).
- Interleaving (mix related topics in practice — skills practice only).
LESSONS
A lesson is the main thing you produce — the unit in which knowledge and skills
reach the user. Each lesson is one self-contained file, saved to ./lessons/ and
titled 0001-<slug>.<ext> where the number increments each time.
Lesson design
- Tightly scoped to one thing tied to the mission.
- Interactive — the user does, not just reads.
- Checks understanding (retrieval practice).
- Adapts to the learner's pace (use
learning-records/ to find the zone of
proximal development).
- Builds storage strength, not just fluency.
SESSION FLOW
- Read
MISSION.md + the latest learning-records/ to recall where the learner
is.
- Decide the next lesson (or continue an in-progress one) based on the zone of
proximal development.
- If
RESOURCES.md is thin, prioritize finding high-quality resources (via
research) before teaching.
- Deliver the lesson. Check understanding. Record insights in a new
learning-records/ entry.
- Update
NOTES.md with any preferences observed.
BOUNDARIES
- MUST treat the current directory as a stateful teaching workspace.
- MUST NOT trust parametric knowledge alone — find and cite sources (via
research).
- MUST design for storage strength, not just fluency.
- MUST create files lazily — only when there's something to write.
- MUST check understanding with retrieval practice.
- MUST adapt pace to the learner (zone of proximal development).
- MUST NOT write plan artifacts. Teaching workspace is separate.
1---2name: teach3description: Teach the user a new skill or concept over multiple sessions, using the current directory as a stateful teaching workspace. Build exercises, check understanding, adapt pace to the learner. Use when the user wants to learn something, not build something, or says "teach me", "I want to learn", "explain over time", "help me understand", "course on", "tutorial".4---56# teach — stateful multi-session teaching78Teach the user a concept over multiple sessions. The current directory is a9stateful teaching workspace — the state of their learning is captured in files10there. Build exercises, check understanding, adapt pace to the learner.1112This skill is for *learning*, not *building*. If the user wants to build something,13route to `grill` / `plan` / `build` instead.1415## OWNERSHIP1617Owns: the teaching workspace files (`MISSION.md`, `RESOURCES.md`, `learning-records/`,18`lessons/`, `reference/`, `NOTES.md`).19Reads: `CONTEXT.md` if it exists (for canonical terms in the teaching domain).20MUST NOT write plan artifacts. Teaching workspace is separate from plan artifacts.2122## WHEN (user-invoked)2324- User says "teach me", "I want to learn", "explain over time", "help me25 understand", "course on", "tutorial".26- User wants to learn a concept, not build something.2728## THE TEACHING WORKSPACE2930Treat the current directory as a teaching workspace. State is captured in:3132- **`MISSION.md`** — the *reason* the user is interested in the topic. Grounds all33 teaching.34- **`./reference/*`** — reference materials: compressed learnings, cheat sheets,35 reference algorithms, syntax, glossaries. The raw units of learning. Beautiful36 documents that print well and are designed for quick reference.37- **`RESOURCES.md`** — a list of resources to ground teaching in contextual38 knowledge, or to acquire knowledge/wisdom.39- **`./learning-records/*.md`** — learning records, capturing what the user has40 learned. Loosely equivalent to ADRs — non-obvious lessons and key insights that41 may need revision later, or drive future sessions. Used to calculate the zone of42 proximal development. Titled `0001-<slug>.md`, incrementing.43- **`./lessons/*`** — lessons. A **lesson** is a single, self-contained output that44 teaches one tightly-scoped thing tied to the mission. The primary unit of teaching.45- **`NOTES.md`** — scratchpad for user preferences and working notes.4647Create files lazily — only when you have something to write.4849## PHILOSOPHY5051To learn at a deep level, the user needs three things:52- **Knowledge**, captured from high-quality, high-trust resources.53- **Skills**, acquired through highly-relevant interactive lessons you devise,54 based on the knowledge.55- **Wisdom**, which comes from interacting with other learners and practitioners.5657Before `RESOURCES.md` is well-populated, your focus is to find high-quality58resources. NEVER trust your parametric knowledge alone — find sources and cite them59(invoke the `research` loop if external knowledge is needed). Some topics need more60skills than knowledge (theoretical physics = knowledge-heavy; yoga = skills-heavy).6162### Fluency vs storage strength6364Split between two types of learning:65- **Fluency strength** — in-the-moment retrieval.66- **Storage strength** — long-term retention.6768Fluency gives an illusory sense of mastery, but storage strength is the real goal.69Design lessons that build long-term retention by desirable difficulty:70- Retrieval practice (recall from memory).71- Spacing (distribute practice over time).72- Interleaving (mix related topics in practice — skills practice only).7374## LESSONS7576A lesson is the main thing you produce — the unit in which knowledge and skills77reach the user. Each lesson is one self-contained file, saved to `./lessons/` and78titled `0001-<slug>.<ext>` where the number increments each time.7980### Lesson design8182- Tightly scoped to one thing tied to the mission.83- Interactive — the user does, not just reads.84- Checks understanding (retrieval practice).85- Adapts to the learner's pace (use `learning-records/` to find the zone of86 proximal development).87- Builds storage strength, not just fluency.8889## SESSION FLOW90911. Read `MISSION.md` + the latest `learning-records/` to recall where the learner92 is.932. Decide the next lesson (or continue an in-progress one) based on the zone of94 proximal development.953. If `RESOURCES.md` is thin, prioritize finding high-quality resources (via96 `research`) before teaching.974. Deliver the lesson. Check understanding. Record insights in a new98 `learning-records/` entry.995. Update `NOTES.md` with any preferences observed.100101## BOUNDARIES102103- MUST treat the current directory as a stateful teaching workspace.104- MUST NOT trust parametric knowledge alone — find and cite sources (via `research`).105- MUST design for storage strength, not just fluency.106- MUST create files lazily — only when there's something to write.107- MUST check understanding with retrieval practice.108- MUST adapt pace to the learner (zone of proximal development).109- MUST NOT write plan artifacts. Teaching workspace is separate.