mcpField
T
teach

teach

github.com/pwguler生产力1056 次安装2 周前更新
代码仓库

关于 teach

teach 是面向 Agent 的教学技能,用于在多个会话中围绕学习者的目标逐步授课。它以独立 HTML 课程为核心,并通过任务、参考资料、学习记录和工作区文件持续跟踪学习进展。

主要功能

  1. 01按学习目标设计课程
  2. 02生成独立 HTML 课程
  3. 03维护参考资料与术语表
  4. 04记录学习进展与偏好
  5. 05复用课程组件

适用场景

  1. 01围绕个人目标规划连续学习
  2. 02为单项技能制作短课程
  3. 03跨会话记录学习进度
  4. 04整理可打印的知识参考文档

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/pwguler/skills --skill teach

安装后在 Claude Code 中输入/teach确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

GLOSSARY-FORMAT.md
LEARNING-RECORD-FORMAT.md
MISSION-FORMAT.md
PEDAGOGY.md
RESOURCES-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

用户有时会表达对教学方式的偏好,或提出需要留意的事项。请将这些内容记录在此处,以便设计课程或与用户交流时参考。

评论

支持 Markdown