Teach Enhance
Teach someone a topic over multiple sessions by building them a beautiful, self-hosted HTML
course. Knowledge, skill, and experience are one thing here: each lesson is at once a grounded
pedagogical unit and a finished, polished artifact. The pedagogy is the /teach method (by
Matt Pocock, MIT — read references/teach-method/teach-method.md and its format files first);
this skill is that method, realized in a fixed house style so nothing has to be polished after
the fact.
The teaching workspace
Treat the current directory as a stateful workspace that holds the learner's progress:
MISSION.md — the real reason the user is learning; ground every decision in it. Interview
first if it's unclear (a bad mission is worse than none).
RESOURCES.md — high-trust sources. Draw all knowledge from here; never teach from parametric
guesses, and cite liberally.
lessons/NNNN-slug.html — the lessons (see below).
GLOSSARY.md — the course's controlled vocabulary · reference/*.html — printable cards ·
learning-records/*.md — ADRs for what the learner has learned (drives the next session's
zone of proximal development).
assets/ — the shared design system + components every lesson links, so the course looks like
one thing, not a pile of one-offs.
Pace each lesson to the learner's zone of proximal development from the learning records:
challenged just enough, one tangible win, tied to the mission.
What a lesson is
One short, self-contained HTML file that teaches one tightly-scoped thing in the learner's
ZPD, grounded in RESOURCES.md — and is built to a fixed skeleton that carries the experience,
so the teaching and the polish are the same act. Every lesson has, in order:
masthead · eyebrow (+ phase chip) · h1 · subtitle · lead · TL;DR box · 2–4 sections
(with callouts, a kit diagram, and a labeled Worked example) · a mid-lesson Quick
check quiz + an end Retrieval check quiz · a Recap box · footer (recommended source ·
"Ask your teacher" · cited references · prev/next pager).
By linking the shared assets/, every lesson also inherits — for free, at runtime — a local
neural read-aloud (Kokoro-82M in-browser, with word-highlighting and a voice/speed picker), a
scroll progress bar, a focus mode that dims all but the current line, a ~N min
read-time, glossary tooltips on first term use, mobile-safe table scrolling, an "On this
page" contents on longer lessons, and palette-matched syntax highlighting. The two specs
that define the skeleton and the visuals are references/content-patterns.md (every class the
markup and JS expect) and references/diagram-kit.md (the one inline-SVG kit — gradient tints,
52px boxes, curved connectors, one arrowhead — that themes light/dark automatically).
Workflow
- Mission. Establish/confirm
MISSION.md (interview if needed) and set up the workspace.
- Sources. Populate
RESOURCES.md with high-trust references; ground every claim there.
- Lessons. Build each lesson to the skeleton above — in the learner's ZPD, with the two
quizzes, a worked example, a kit diagram, a TL;DR, and a recap — keeping the glossary,
reference cards, and learning records current as understanding deepens.
- Wire it in. Run
python3 scripts/apply.py <workspace> to copy the components into
assets/, add the <script> includes to every lessons/*.html, and vendor the highlighter.
(If the workspace already had a course.css, merge in this skill's assets/course.css.) Then
tune the glossary tooltips via the DEFS map at the top of assets/content.js.
- Serve over http (not
file://) so the neural voice can fetch its model, e.g.
python3 -m http.server 8137 --directory <workspace>, and open a lesson.
Files
assets/ — course.css (full design system) + quiz.js, speak.js, reading.js,
content.js, code-highlight.js. (highlight.min.js is vendored by apply.py.)
scripts/apply.py — wires the components into a workspace.
references/teach-method/ — the bundled /teach methodology + format files (MIT; see NOTICE).
references/content-patterns.md — the per-lesson skeleton + every class the JS expects.
references/diagram-kit.md — the unified inline-SVG kit (colours/ids the dark mode keys off).
Caveats
- Kokoro read-aloud downloads an ~80 MB model on first use (cached after); best on
Chrome/WebGPU, slower on Safari/WASM; offline or
file:// → it falls back to the OS voice.
- Dark-mode diagrams recolor via CSS attribute selectors keyed to the kit's exact colours/ids
— keep diagrams to
diagram-kit.md or they won't adapt.
- The components are markup-driven; if you rename lesson classes, update the JS selectors.
- This skill is user-invoked (
/teach-enhance); it does not auto-trigger.
1---2name: teach-enhance3description: Teach a topic over multiple sessions AND ship it as a polished, self-hosted HTML course in one command — no separate /teach call. Runs the full teaching methodology (mission-first grounding, a stateful workspace of lessons + glossary + reference cards + learning records, zone-of-proximal-development pacing) and produces every lesson with the enhanced experience baked in: a local neural read-aloud button (Kokoro-82M, in-browser) with word-highlighting and a voice/speed picker, ADHD-friendly reading aids (progress bar, focus mode, read-time, glossary tooltips, mobile-safe tables, on-this-page TOC), offline syntax highlighting, a unified light/dark inline-SVG diagram kit, and content-design patterns (TL;DR box, mid-lesson Quick check + end Retrieval check, labeled Worked examples, Recap box). Triggers: "teach me X", "build a course on X", "I want to learn X over time", "make me lessons on …", plus "enhance / polish my course", "add the read-aloud button / focus mode / TL;DR".4---56# Teach Enhance78Teach someone a topic over multiple sessions by building them a beautiful, self-hosted HTML9course. Knowledge, skill, and experience are one thing here: each lesson is at once a grounded10pedagogical unit *and* a finished, polished artifact. The pedagogy is the `/teach` method (by11Matt Pocock, MIT — read `references/teach-method/teach-method.md` and its format files first);12this skill *is* that method, realized in a fixed house style so nothing has to be polished after13the fact.1415## The teaching workspace16Treat the current directory as a **stateful workspace** that holds the learner's progress:1718- `MISSION.md` — the real reason the user is learning; ground every decision in it. Interview19 first if it's unclear (a bad mission is worse than none).20- `RESOURCES.md` — high-trust sources. Draw all knowledge from here; never teach from parametric21 guesses, and cite liberally.22- `lessons/NNNN-slug.html` — the lessons (see below).23- `GLOSSARY.md` — the course's controlled vocabulary · `reference/*.html` — printable cards ·24 `learning-records/*.md` — ADRs for what the learner has learned (drives the next session's25 zone of proximal development).26- `assets/` — the shared design system + components every lesson links, so the course looks like27 one thing, not a pile of one-offs.2829Pace each lesson to the learner's **zone of proximal development** from the learning records:30challenged just enough, one tangible win, tied to the mission.3132## What a lesson is33One short, self-contained HTML file that teaches **one tightly-scoped thing** in the learner's34ZPD, grounded in `RESOURCES.md` — and is built to a fixed skeleton that carries the experience,35so the teaching and the polish are the same act. Every lesson has, in order:3637> masthead · eyebrow (+ phase chip) · **h1** · subtitle · lead · **TL;DR box** · 2–4 sections38> (with callouts, a kit **diagram**, and a labeled **Worked example**) · a **mid-lesson Quick39> check** quiz + an **end Retrieval check** quiz · a **Recap box** · footer (recommended source ·40> "Ask your teacher" · cited references · prev/next pager).4142By linking the shared `assets/`, every lesson also inherits — for free, at runtime — a **local43neural read-aloud** (Kokoro-82M in-browser, with word-highlighting and a voice/speed picker), a44scroll **progress bar**, a **focus mode** that dims all but the current line, a `~N min`45read-time, **glossary tooltips** on first term use, mobile-safe table scrolling, an "On this46page" contents on longer lessons, and palette-matched **syntax highlighting**. The two specs47that define the skeleton and the visuals are `references/content-patterns.md` (every class the48markup and JS expect) and `references/diagram-kit.md` (the one inline-SVG kit — gradient tints,4952px boxes, curved connectors, one arrowhead — that themes light/dark automatically).5051## Workflow521. **Mission.** Establish/confirm `MISSION.md` (interview if needed) and set up the workspace.532. **Sources.** Populate `RESOURCES.md` with high-trust references; ground every claim there.543. **Lessons.** Build each lesson to the skeleton above — in the learner's ZPD, with the two55 quizzes, a worked example, a kit diagram, a TL;DR, and a recap — keeping the glossary,56 reference cards, and learning records current as understanding deepens.574. **Wire it in.** Run `python3 scripts/apply.py <workspace>` to copy the components into58 `assets/`, add the `<script>` includes to every `lessons/*.html`, and vendor the highlighter.59 (If the workspace already had a `course.css`, merge in this skill's `assets/course.css`.) Then60 tune the glossary tooltips via the `DEFS` map at the top of `assets/content.js`.615. **Serve over http** (not `file://`) so the neural voice can fetch its model, e.g.62 `python3 -m http.server 8137 --directory <workspace>`, and open a lesson.6364## Files65- `assets/` — `course.css` (full design system) + `quiz.js`, `speak.js`, `reading.js`,66 `content.js`, `code-highlight.js`. (`highlight.min.js` is vendored by `apply.py`.)67- `scripts/apply.py` — wires the components into a workspace.68- `references/teach-method/` — the bundled `/teach` methodology + format files (MIT; see NOTICE).69- `references/content-patterns.md` — the per-lesson skeleton + every class the JS expects.70- `references/diagram-kit.md` — the unified inline-SVG kit (colours/ids the dark mode keys off).7172## Caveats73- **Kokoro read-aloud** downloads an ~80 MB model on first use (cached after); best on74 Chrome/WebGPU, slower on Safari/WASM; offline or `file://` → it falls back to the OS voice.75- **Dark-mode diagrams** recolor via CSS attribute selectors keyed to the kit's exact colours/ids76 — keep diagrams to `diagram-kit.md` or they won't adapt.77- The components are markup-driven; if you rename lesson classes, update the JS selectors.78- This skill is **user-invoked** (`/teach-enhance`); it does not auto-trigger.