---
name: teach-eli5
description: >
  把任何复杂主题拆成「图多、字少、类比先行」的自包含教学 HTML，让零基础的人看图就能懂。
  用户输入 /eli5 <主题> 或要求"用大白话讲清楚""给外行讲明白""做个看图就懂的教学页"时触发。
  采用 mattpocock teach 方法论——以「学习目标(MISSION)」锚定、「最近发展区(ZPD)」选材、
  每课一个自包含可打印的精美 HTML、复用组件库(assets)、沉淀术语表(glossary)与
  学习记录(learning-records)。适用: 概念科普、技术原理给非技术人员、产品/功能讲解、
  知识卡片化教学。触发词: eli5、大白话、给外行讲、小白教程、讲明白、看图就懂、
  explain like I'm 5、teach me simply。
argument-hint: "想搞懂什么？一句话说出你的场景"
user-invocable: true
version: "1.0.0"
---

# teach-eli5 —— 给小白讲明白的教学引擎

## Purpose

把任何复杂主题，拆成「图多、字少、类比先行」的自包含教学 HTML，让零基础的人看图就能懂。技能融合 mattpocock `teach` 的方法论（状态化、以目标锚定、最小可教学单元、复用组件、沉淀术语）与 eli5 的小白约束（不用术语、先类比、后精确）。

> 哲学一句话：**先让用户"啊哈"一下，再让他"记住"。** 前者靠类比和图，后者靠重复和可回看的精美页面。

## When to Use

- 用户要"用大白话 / 给外行讲明白"一个概念或原理。
- 用户要一张看图就懂的教学页、科普页或知识卡片。
- 用户要把技术原理讲给非技术人员（客户、同事、家人）。
- 触发词：`/eli5 <主题>`、eli5、大白话、给外行讲、小白教程、讲明白、看图就懂、explain like I'm 5。

## When NOT to Use

- 用户要正式课程、教学大纲或教案 -> 交给 `curriculum-design`。
- 用户要的是自己的学习路线图或十维认知拆解 -> 交给 `grasp`。
- 用户要一张内容型信息卡片（多模块、带主题配色、非教学向）-> 交给 `infocard`。
- 用户只要一段口头解释、不要可留存页面 -> 直接回答，不建工作区。

## Workflow

工作区就是**当前目录**，状态写入工作区文件；文件清单与作用见 `references/workspace-conventions.md`。

0. **定锚（Mission）** — 若用户没说清为什么想懂、或 `MISSION.md` 不存在，先访谈再动笔；按 `references/mission-format.md` 记录。用户"想搞懂"常是表层，往下挖一层真实诉求。
1. **判定起点（ZPD）** — 读 `learning-records/` 与 `NOTES.md`，判断用户已知什么、当前最该懂的"下一个最小知识点"是什么、它是否直接服务于 MISSION。小白优先用生活类比搭桥，再引入精确概念。
2. **产出一课** — 写 `lessons/000N-<slug>.html`，遵守小白友好硬约束（图多字少、先类比后精确、禁行话、一个可带走的小收获、紧扣 MISSION、页尾留一句"有不懂的随时问"）。版面规范见 `references/lesson-format.md`。环境允许时用 CLI 打开该 HTML。
3. **沉淀** — 每课顺手做三件事：新术语进 `GLOSSARY.md`（格式见 `references/glossary-format.md`）；真理解写成 `learning-records/000N-<slug>.md`（格式见 `references/learning-record-format.md`）；新的可复用部件写进 `assets/` 并链接，不要内联。
4. **难度与复习** — 用「合意困难」设计：回忆练习（合上页复述）、间隔（隔几天再出一题）、交错（相关小主题混着练）。小白场景优先给"一张图带走"的复习页，而非测验。

> 若用户只是随口要一次性讲解（如 `/eli5 黑洞`），可直接进入第 2 步产单课，不强制建全工作区；但仍建议顺手写一句 MISSION。

## Decision Rules

- `MISSION.md` 已存在且目标清晰 -> 直接进入第 1 步。
- 用户目标含糊 -> 先访谈，再写 MISSION；烂目标比没目标更糟。
- 一次性讲解请求 -> 跳过工作区搭建，直接产单课。
- 用户已懂某主题 -> 不再重复教，把"已知前提"记入 learning-record 后前进。
- 需要某个工作区文件的格式 -> 读对应 format 参考文件（见下）。
- 需要新的图示/quiz 组件 -> 先查 `assets/` 是否已有；没有则新增到 `assets/` 并链接。

## Constraints

- **不堆砌术语**：一个概念没用类比搭桥就给精确定义 = 失败。除非该词已进 `GLOSSARY.md`，且本页首次出现时就地用大白话解释。
- **不信参数记忆**：需要事实/数据时优先查高信任来源并标注出处，不凭记忆编造数字。
- **不产长文**：单课控制在"几分钟内能看完"；零基础的工作记忆很小。
- **图优先**：能画图说清的不用段落；SVG 内联，自包含、可离线打开。
- **复用是默认**：`assets/base.css` 是共享样式表，每课都链它，让所有课像"一门课"；绝不把未来会复用的代码内联进单课。
- **中文无乱码**：写入文件禁用 Box Drawing 等 Unicode 装饰字符（防 U+FFFD），用纯 ASCII 替代（树形 `|--`、箭头 `->`）。

## Verification

交付前逐项确认：

- [ ] 本课服务于 `MISSION.md`，并在页内说明"懂这个对你那个目标有什么用"。
- [ ] 核心机制有 SVG 图示；正文克制，每屏只讲一件事。
- [ ] 先类比后精确，且未使用未解释的行话。
- [ ] 结尾有一个可复述的要点。
- [ ] 页面自包含：链 `assets/base.css`，无外部图片/CDN，可离线打开。
- [ ] 新术语、学习记录、新组件已分别沉淀到 `GLOSSARY.md` / `learning-records/` / `assets/`。
- [ ] 文件内无 Box Drawing 等装饰字符，无 U+FFFD。

## Output

- **Outcome**：一个自包含、可打印、可离线打开的教学 HTML（`lessons/000N-<slug>.html`），外加累积的 `MISSION.md`、`GLOSSARY.md`、`learning-records/`、`assets/` 状态。
- **Done when**：本课 HTML 已产出并打开，且通过 Verification 清单；需要沉淀的术语/记录/组件已落盘。
- **Evidence**：页面含内联 SVG 图示与"先类比后精确"两段式；页尾有提问提醒；`GLOSSARY.md` 与 `learning-records/` 出现新课对应的条目。

## References

按需加载，不要预先全读：

- `references/workspace-conventions.md` — 第一次为某个主题开课时读，确认状态文件放哪、各是什么。
- `references/mission-format.md` — 写或修订 `MISSION.md` 时读。
- `references/lesson-format.md` — 写一课 HTML、需要版面与小白硬约束细节时读。
- `references/learning-record-format.md` — 判断该不该写学习记录、以及怎么写时读。
- `references/glossary-format.md` — 往 `GLOSSARY.md` 收录术语、需要条目格式时读。

## Examples

按需加载：

- `examples/0001-what-is-api.html` — 需要看"合格的一课长什么样"（类比段落、内联 SVG 图示、精确段、样式引用）时读；它是本技能自带的样例课，直接链 `../assets/base.css`。

## Related Skills

- `curriculum-design` — 正式课程、教学大纲与教案设计。
- `grasp` — 十维认知框架与学习路线图，用于学习者的系统自学。
- `infocard` — 内容型信息卡片，带主题配色体系，非教学向。
