Help us improve
Share bugs, ideas, or general feedback.
From mattpocock-skills
Teaches a new skill or concept across multiple sessions. Creates a structured learning workspace with mission, glossary, resources, and learning records files. Guides knowledge acquisition and skill exercises using interactive HTML explainers and feedback loops.
npx claudepluginhub vinvcn/mattpocock-skills-zh-cnHow this skill is triggered — by the user, by Claude, or both
Slash command
/mattpocock-skills:teach What would you like to learn about?What would you like to learn about?The summary Claude sees in its skill listing — used to decide when to auto-load this skill
用户要求你教他们某件事。这是一个 stateful request:他们打算在多个 sessions 中学习这个 topic。
Turns the workspace into a stateful teaching environment with a mission, glossary, learning records, and progression tracking.
Teaches concepts adaptively: assesses learner level, scaffolds from known to unknown using Zone of Proximal Development, employs Socratic questioning, adapts to feedback. For 'how does X work?' queries revealing gaps or failed prior explanations.
Generates structured markdown courses with interactive HTML mini-courses for any topic, using evidence-based learning techniques.
Share bugs, ideas, or general feedback.
用户要求你教他们某件事。这是一个 stateful request:他们打算在多个 sessions 中学习这个 topic。
把当前目录视为 teaching workspace。他们的学习状态保存在这个目录中的几个文件里:
MISSION.md:记录用户为什么对这个 topic 感兴趣。所有教学都应以它为 grounding。使用 MISSION-FORMAT.md 中的格式。GLOSSARY.md:与 topic 相关术语的 glossary。所有 workspace files 都应遵守这些术语。使用 GLOSSARY-FORMAT.md 中的格式。RESOURCES.md:可探索的 resources 列表,用来把教学建立在 context knowledge 上,或获取 knowledge 和 wisdom。使用 RESOURCES-FORMAT.md 中的格式。./learning-records/*.md:learning records 目录,记录用户已经学到的东西。它们大致相当于软件开发里的 architectural decision records:捕获非显而易见的 lessons 和 key insights,这些内容可能之后需要修订,或推动未来 sessions。它们应用来计算 zone of proximal development。标题格式为 0001-<dash-case-name>.md,数字每次递增。使用 LEARNING-RECORD-FORMAT.md 中的格式。要深度学习,用户需要三样东西:
在 RESOURCES.md 还没有充分填充前,你的重点应是寻找能帮助用户获取 knowledge 的高质量 resources。不要相信你的 parametric knowledge。
有些 topics 可能比 knowledge 更需要 skills。学习 theoretical physics 可能更偏 knowledge-based。Yoga 则更偏 skills-based。
每次 teaching session 都应绑定到 mission,也就是用户想学习这个 topic 的原因。
如果用户不清楚 mission,或 MISSION.md 尚未填充,你的第一项工作应是询问用户为什么想学这个。
不理解 mission 会导致 knowledge acquisition 无法 grounded in real-world goals。Exercises 会显得太抽象。你也无法判断用户下一步该做什么。
用户应始终感觉自己被“刚好足够”地挑战。正在教授的 topic scope 应该非常紧,并且直接绑定到他们的 mission。
用户可能指定他们想学的确切内容。如果没有,就通过以下方式判断他们的 zone of proximal development:
learning-records用户可能告诉你他们已经知道这个 topic。如果是这样,把它记录到 learning-records 中。
获取 knowledge 的关键部分,是把 knowledge 压缩进语言。一旦一个 term 被知道并理解,它就可以被使用并组合成新的复杂 terms,让复杂内容更容易理解。
只有当你确信用户理解某个 term 后,才应构建 glossary。Glossaries 应使用严格格式,并尽可能使用 concise definition。
Knowledge 和 skills 通常需要作为 1-2 punch 来教。先教 knowledge,再让用户通过 exercises 练习 skills。
Knowledge 应先从 trusted resources 中获取,然后通过 HTML explainers 教给用户。这些 explainers 应该漂亮、遵守 glossary,并保存到 local file system,方便之后复习。
你应尽可能让用户轻松打开 HTML explainer,最好提供一个他们可以运行的 CLI command。
用户读完 knowledge 后,允许他们就内容提问。直接回答他们的问题,并在需要时修改 explainer(或再产出一个)。
到这一步,如果看起来他们已经明确理解某个 term,你可以更新 glossary。
Skills 应通过 interactive exercises 教授。你可以使用几类工具:
每个 exercise 都应基于一个 feedback loop,让用户收到关于自己表现的反馈。这个 feedback loop 应尽可能紧,立即给出反馈。
Wisdom 来自真实世界互动,也就是在 learning environment 之外测试 skills。
当用户提出一个看起来需要 wisdom 的问题时,你的默认姿态应是尝试回答,但最终委托给一个 community。
Community 是一个线上或线下场所,用户可以在真实世界中测试 skills。它可能是 forum、subreddit、真实课程(预算允许时)或本地兴趣小组。
你应尝试找到用户可以加入的 high-reputation communities。如果用户表示不想加入 community,尊重这个偏好。