| name | Teach |
| description | Stateful multi-session teaching workspace that produces beautiful, self-contained HTML lessons grounded in a learner mission, plus reference documents and learning records. USE WHEN user says teach me, asks for a lesson, wants to learn a topic over multiple sessions, asks to continue learning, next lesson, review my learning, or mentions their teaching workspace, mission, or learning records. |
| disable-model-invocation | true |
| argument-hint | What would you like to learn about? |
Teach
Stateful teaching system. The current directory is a teaching workspace whose files capture the learner's mission, resources, lessons, reference documents, and learning records across sessions.
Customization
Before executing, check for user customizations at:
~/.claude/PAI/USER/SKILLCUSTOMIZATIONS/Teach/
If this directory exists, load and apply any PREFERENCES.md or configuration files found there. These override default behavior. If the directory does not exist, proceed with skill defaults.
Voice Notification
When executing a workflow, do BOTH:
-
Send voice notification:
curl -s -X POST http://localhost:4173/notify \
-H "Content-Type: application/json" \
-d '{"message": "[🎯 focused] Running the Teach workflow to prepare a lesson.", "voice_id": "OqTGHgPzbq47nVmGUnK2", "voice_enabled": true}' \
> /dev/null 2>&1 &
-
Output text notification:
Running the **Teach** workflow in the **Teach** skill to ACTION...
Workflow Routing
| Workflow | Trigger | File |
|---|
| Teach | "teach me X", "next lesson", "continue learning", "what should I learn next" | Workflows/Teach.md |
Examples
Example 1: Start learning a new topic
User: "/teach I want to learn Rust lifetimes"
→ Invokes Teach workflow
→ No MISSION.md found, so interviews the user on why they want to learn this
→ Populates MISSION.md and RESOURCES.md, then produces lessons/0001-borrowing-basics.html and opens it
Example 2: Continue an existing learning track
User: "Next lesson"
→ Invokes Teach workflow
→ Reads MISSION.md, learning-records/, and NOTES.md to find the zone of proximal development
→ Produces the next numbered lesson tied to the mission, updates reference docs and learning records
Quick Reference
- Workspace state:
MISSION.md, RESOURCES.md, GLOSSARY.md, NOTES.md, lessons/, reference/, learning-records/ in the current directory
- Unit of teaching: one short, beautiful, self-contained HTML lesson per session, numbered
0001-<dash-case-name>.html
- Browsable course: every page carries a shared top nav bar,
index.html is the course hub, and the four meta files are mirrored to rendered HTML views (mission.html, resources.html, glossary.html, notes.html) while the .md stays the editable source
- Typeset math: any real notation is rendered with KaTeX (LaTeX in
\( \) / \[ \]); lessons LINK KaTeX from node_modules and stay lean (~10–15 KB), viewed via bun run serve. Inlining self-contained (tools/inline-katex.ts) is an on-demand EXPORT for sharing, reversible with tools/deinline-katex.ts
- Bun toolchain (math/code courses, opt-in): such a course is scaffolded as a bun project (
bun add katex marked); bun run build renders meta views + regenerates index.html + syncs the nav, and bun run serve views it. Non-math courses stay buildless
- Ground everything in the mission; if
MISSION.md is empty, establishing it comes first
- Never trust parametric knowledge; gather high-trust resources into
RESOURCES.md and cite them in lessons
Full Documentation (context files in skill root):
- Teaching principles (knowledge/skills/wisdom, storage strength, ZPD):
TeachingPhilosophy.md
- Formats:
MissionFormat.md, ResourcesFormat.md, GlossaryFormat.md, LearningRecordFormat.md, NavigationFormat.md, MathRenderingFormat.md
- Tools (copy into a workspace
tools/ when a course needs math/code): Tools/build.ts (render meta + index + nav sync + roadmap lesson-link sync), Tools/serve.ts (local viewing server), Tools/inline-katex.ts / Tools/deinline-katex.ts (self-contained export and its inverse), plus Tools/package.template.json and Tools/course.template.json scaffolds