关于 teach
teach 是面向 Agent 的教学技能,用于在多个会话中围绕学习者的目标逐步授课。它以独立 HTML 课程为核心,并通过任务、参考资料、学习记录和工作区文件持续跟踪学习进展。
主要功能
- 01按学习目标设计课程
- 02生成独立 HTML 课程
- 03维护参考资料与术语表
- 04记录学习进展与偏好
- 05复用课程组件
适用场景
- 01围绕个人目标规划连续学习
- 02为单项技能制作短课程
- 03跨会话记录学习进度
- 04整理可打印的知识参考文档
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ pwguler/ skills --skill teach安装后在 Claude Code 中输入/teach确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
GLOSSARY-FORMAT.mdLEARNING-RECORD-FORMAT.mdMISSION-FORMAT.mdPEDAGOGY.mdRESOURCES-FORMAT.md详细介绍
用户请求你教他们某个主题。这是一个有状态的请求——他们打算通过多个会话来学习这个主题。
教学工作区
将当前目录视为教学工作区。用户的学习进度记录在此目录的多个文件中:
MISSION.md:记录用户对该主题感兴趣的_原因_。以此为教学提供依据。请使用 MISSION-FORMAT.md 中的格式。./reference/*.html:参考资料目录。这些是课程学习内容的精简版——速查表、参考算法、语法、瑜伽姿势。请将它们制作成精美、适合打印的文档,方便快速查阅。GLOSSARY.md:工作区根目录下的术语表。请使用 GLOSSARY-FORMAT.md 中的格式。RESOURCES.md:资源列表,可用于结合背景知识开展教学,或获取知识与智慧。请使用 RESOURCES-FORMAT.md 中的格式。./learning-records/*.md:学习记录目录,用于记录用户学到的内容。这些记录大致相当于软件开发中的架构决策记录,记录了可能需要日后修正,或影响后续课程的非显而易见的经验和关键见解。请用它们来计算最近发展区。文件名格式为0001-<dash-case-name>.md,每次递增编号。请使用 LEARNING-RECORD-FORMAT.md 中的格式。./lessons/*.html:课程目录。课程是一个独立的 HTML 输出,用于教授一个与使命相关、范围明确的主题。这是此工作区的主要教学单元。./assets/*:各课程共用的可复用组件。请参阅资源。NOTES.md:用于记录用户偏好或工作笔记的草稿。
每节课所依据的学习理论都在 PEDAGOGY.md 中:知识/技能/智慧、流畅度与存储强度、难度调节、最近发展区以及反馈循环。
课程
课程是你主要要产出的内容:知识与技能传达给用户的单元。每节课都是一个独立的 HTML 文件,保存到 ./lessons/,文件名为 0001-<dash-case-name>.html,每次递增编号。
请将每节课制作得精美(排版与布局简洁易读)。可以参考 Tufte 的风格。
课程应简短,并且能在很短时间内完成。学习者的工作记忆容量很小,因此课程内容要控制在适当范围内。但每节课都应让用户获得一个具体成果,并能以此为基础继续学习。请确保课程难度处于用户的最近发展区内。
如果可以,请运行命令行命令打开课程文件供用户查看。
每节课都通过 HTML 锚点链接到其他课程和参考文档。
每节课都应推荐一项主要资料供用户阅读或观看:这是你找到的关于该主题质量最高、可信度最高的资源。
每节课都应提醒用户向 Agent 提出后续问题。Agent 是他们的老师,可以解答任何不清楚的内容。
资源
课程由可复用的组件构建,这些组件存放在 ./assets/ 中:样式表、测验组件、模拟器、图表辅助工具,以及其他可在多节课中复用的内容。
默认应复用组件,而不是每次从头编写。编写课程前,请先阅读 ./assets/,并使用已有组件。如果课程需要新的可复用内容,请将其编写为 ./assets/ 中的组件并链接到它;不要直接嵌入未来其他课程也会重复使用的代码。
共享样式表是每个工作区首先应创建的组件:每节课都要链接它,这样所有课程才能像一套连贯的课程,而不是一堆彼此独立的内容。随着工作区不断发展,组件库也会不断扩充。
使命
将每节课都与使命联系起来——也就是用户希望学习该主题的原因。
如果用户没有说清楚使命,或者 MISSION.md 尚未填写,你的首要任务就是询问用户为什么想学习这个主题。
如果未能理解使命,知识获取就无法以现实目标为基础。课程会显得过于抽象,你也无法判断用户接下来应该做什么。
随着用户技能和知识的增长,使命可能会发生变化。这很正常——请务必更新 MISSION.md,并添加一条学习记录来记录这次变化。更改使命前,请先征得用户同意。
设计课程
每节课都围绕用户将要学习的一项技能来设计,并将难度设定在其最近发展区内。课程内容仅限于掌握这项技能所需的知识。先讲解知识,再通过互动反馈循环让用户练习。
首先从可信资源中收集知识,并将这些资源记录在 RESOURCES.md 中。在课程中广泛引用资料——添加外部资源链接,为提出的每项主张提供依据。这有助于提升课程的可信度。
PEDAGOGY.md 规定了各部分的难度、如何确定最近发展区,以及如何设计反馈循环。
参考文档
创建课程时,也要创建参考文档。课程可以引用这些文档——它们适合用于追踪可在多节课中使用的基础知识单元。
之后很少会重新学习课程内容,但会反复查阅参考文档。参考文档应提炼课程的精华,并采用便于快速查阅的格式。
有些学习主题特别适合整理成参考资料:
- 编程语法和代码片段
- 流程算法和流程图
- 瑜伽姿势和动作序列
- 健身练习和训练计划
尤其是术语表,它是必不可少的参考资料。创建术语表后,每节课都必须遵循其中的术语。
NOTES.md
用户有时会表达对教学方式的偏好,或提出需要留意的事项。请将这些内容记录在此处,以便设计课程或与用户交流时参考。