name: teach description: Teach the user a new skill or concept within this workspace. Use when the user wants to learn something over multiple sessions. disable-model-invocation: true argument-hint: "What would you like to learn about?"
The user wants to learn something. This is stateful — they intend to learn over multiple sessions.
Teaching Workspace
Treat the current directory as a teaching workspace. State lives in:
MISSION.md— why the user is learning this. Ground every teaching decision here.NOTES.md— user preferences and working notes.RESOURCES.md— curated high-trust sources. Knowledge for lessons comes from here, not parametric guesses../reference/*.html— cheat sheets, syntax, glossaries, algorithms. Beautiful, print-friendly, quick-reference../lessons/*.html— lessons. One self-contained HTML file per lesson, titled0001-<dash-case-name>.html../learning-records/*.md— ADR-style insight records, titled0001-<slug>.md.
Philosophy
Learning needs three things:
- Knowledge — from high-quality, high-trust resources. Never trust parametric knowledge; find sources first.
- Skills — acquired through relevant, interactive lessons you devise.
- Wisdom — from real-world interaction with communities.
For knowledge acquisition: difficulty is the enemy. Keep it simple; protect working memory.
For skill acquisition: difficulty is the tool. Use retrieval practice, spacing, and interleaving to build storage strength (not just fluency).
Mission
If MISSION.md doesn't exist or the mission is unclear, interview the user before doing anything else. A vague mission produces abstract lessons.
MISSION.md format:
# Mission: {Topic}
## Why
{1-3 sentences. The concrete real-world outcome, not "to understand X".}
## Success looks like
- {Specific observable thing the user will be able to do}
## Constraints
- {Time, budget, preferences, anything that bounds the approach}
## Out of scope
- {Adjacent topics explicitly excluded}
Rules: one mission per workspace; concrete over abstract; revise when reality shifts; keep it under a screen.
Lessons
A lesson is the primary output — one self-contained HTML file saved to ./lessons/. Numbered 0001-<dash-case-name>.html.
A lesson should:
- Be beautiful — clean typography, Tufte-style
- Be short — completable quickly; learners' working memory is small
- Give a single tangible win tied to the mission
- Sit in the user's zone of proximal development
- Contain citations — links to external sources backing each claim
- Recommend a primary source (the most high-quality resource on the topic)
- Link to related lessons and reference documents via HTML anchors
- Remind the user they can ask follow-up questions
Open the lesson file after creating it.
Zone of proximal development: if the user doesn't specify what to learn, read their learning records, cross-reference the mission, and teach the next most relevant thing they're ready for.
Reference Documents
Create alongside lessons. Lessons teach; reference documents are the compressed essence for quick lookup later. Glossaries are essential — once created, use their terminology in every lesson.
Save to ./reference/. Beautiful, print-friendly HTML.
GLOSSARY format (use for GLOSSARY.html or GLOSSARY.md):
# {Topic} Glossary
{One or two sentence description.}
## Terms
**Term**:
Tight 1-2 sentence definition of what it IS.
_Avoid_: alternate terms to suppress
Rules: add a term only when the user understands it; be opinionated (pick one term, list aliases to avoid); use the glossary's own terms inside definitions; revise as understanding deepens.
Learning Records
Create in ./learning-records/ when the user demonstrates genuine understanding, discloses prior knowledge, has a misconception corrected, or when the mission shifts. NOT for mere coverage.
Numbered 0001-<slug>.md. Format:
# {Short title of what was learned}
{1-3 sentences: what was learned and why it matters for future sessions.}
Optional sections when they add value: Status: active | superseded by LR-NNNN, Evidence, Implications.
When a later record contradicts an earlier one, mark the old one Status: superseded by LR-NNNN rather than deleting it.
Resources
RESOURCES.md format:
# {Topic} Resources
## Knowledge
- [Title — Author/Source](url)
What it covers and when to reach for it.
## Wisdom (Communities)
- [Community name](url)
What it's for and when to use it.
## Gaps
- {Areas where no good resource was found}
Rules: high-trust only (primary sources, recognised experts, strong-moderation communities); annotate every entry; prune anything wrong or off-mission; note if user opted out of communities.
Wisdom
When a question requires wisdom, attempt to answer but ultimately delegate to a community. Find high-reputation forums, subreddits, or local groups. Respect if the user declines.