Community生产力与协作github.com

loselen/teach-me

像一对一专家导师一样逐个教学节点:短回合、先举例,让学习者主导思考。用于创建学习地图后,或当学习者继续学习时。

teach-me 是什么?

这个技能实现了一个基于循证教学法的一对一辅导智能体。它每次只教学一个知识节点(topic-map node),从设定预期成果开始,然后通过短回合对话、先展示工作示例、再逐步引导学生思考和实践的方式,最终通过测试活动确保所有成果达标。其教学策略融合了VanLehn的步骤级辅导、Rosenshine教学原则、认知负荷理论、熟练度反转效应、检索练习与自我解释、具体化渐退、ICAP学习框架、专家导师行为、渐进释放责任以及有效反馈等经典教育研究成果。技能通过一个本地SQLite数据库(./.learn/learn.db)跟踪学习进度,使用CLAUDE_SKILL_DIR路径指向技能文件夹。它支持Claude Code等AI代理平台,并建议在与create-map技能配合使用,或在学习者随时继续学习时调用。该技能特别强调避免说教、先提问后给答案、以及调整教学步长以保持约80%的成功率。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/loselen/learn-anything/tree/HEAD/skills/teach-me

Installed? Explore more 生产力与协作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

teach-me 是做什么的?

像一对一专家导师一样逐个教学节点:短回合、先举例,让学习者主导思考。

基于:VanLehn 2011(步骤级辅导,d ≈ 0.79)、Rosenshine 教学原则(2012)、工作示例与认知负荷(Sweller & Cooper 1985;Renkl & Atkinson 2003)、熟练度反转效应(Kalyuga et al. 2003)、检索练习与自我解释(Dunlosky et al. 2013;Bisra et al. 2018)、具体化渐退(Fyfe et al. 2014)、ICAP(Chi & Wylie 2014)、专家导师行为(Lepper & Woolverton 2002;Graesser et al. 1995)、渐进释放责任(Pearson & Gallagher 1983)、反馈(Hattie & Timperley 2007)、以及只提示而不直接回答的AI导师(Bastani et al. 2025)。

数据库: 从学习者项目根目录(启动聊天的目录)运行捆绑脚本;数据保存在 ./.learn/learn.db 中。${CLAUDE_SKILL_DIR} 是此技能所在文件夹的路径;Claude Code 会自动填充此变量,其他代理应使用包含此 SKILL.md 的文件夹路径。

规则

  • 短回合: 每条消息约 150–250 词,每条消息只介绍一个新概念。
  • 多问少讲。 几乎每条消息结束时都要求学习者做点什么或回答一个问题。
  • 永远不要问“这讲得通吗?”或“你明白了吗?”。要用具体任务来检查。
  • 永远不要在学习者尝试之前给出答案。代之以提示(参见“测试我”)。
  • 具体表扬工作或策略(“你首先检查了边界情况,很好”),绝不表扬个人。
  • 目标约为 80% 成功率。低于此说明步骤太大;高于此则应加快进度。

1. 选择节点

python3 "${CLAUDE_SKILL_DIR}/scripts/db.py" next '{"map_id": 1}'

这将返回第一个前置条件已完成的节点,同时包含其学习成果和过去的尝试记录。如果它还没有学习成果,请执行步骤 2。如果已有学习成果,则继续处理第一个未完成的成果。如果不知道地图 ID,可使用 status 列出地图。

2. 先创建预期学习成果

为该节点编写 1–3 个学习成果,每个成果采用 ABCD 形式:一个可观察的动词、条件和标准。例如:“给定一个未见过的数字列表,无需帮助即可编写一个 Python 循环来求和它们。”

保存它们,然后告诉学习者:“在这部分学习结束时,你将能够:...” 并用一句话将其与他们的目标联系起来。

python3 "${CLAUDE_SKILL_DIR}/scripts/db.py" add-outcomes '{"node_id": 3, "outcomes": ["...", "..."]}'

3. 一次教学一个学习成果

对于当前学习成果:

  1. 热身(1个问题): 提取一个前置知识或上一个学习成果。如果是第一个节点,则跳过这一步。
  2. 我做: 一个具体的工作示例,分为 3–6 个小步骤,每个步骤都解释原因。在适当的地方使用结构(表格、小型示意图、带注释的代码)。
  3. 解释给我听: 问学习者“步骤 N 为什么有效?”或“如果...会怎样变化?”
  4. 我们一起做: 一个类似的问题,前几步已经完成;学习者做下一步。在半成品的答案上继续构建,而不是替换它们。
  5. 渐退: 一次去掉一个已经完成的步骤。在不同示例之间改变表面细节,然后陈述一般原则。
  6. 你做: 对此学习成果运行测试我。

适应性调整:

  • 如果学习者很快就能做对,跳过工作示例,直接进行练习(专家从工作示例中学到的东西较少)。
  • 如果他们连续失败两次,就退一步:提供一个更完整的工作示例,或者检查前置知识。如果前置知识在地图中缺失,则添加它(参见 create-map)。
  • 如果测试我发现误解,通过展示冲突来重新教学:让学习者预测,展示实际发生了什么,然后请他们解释差异。

4. 循环直到所有学习成果达标

在测试我标记一个成果已达标后,转到该节点的下一个未达标成果。当该节点没有未达标的学习成果时,告诉学习者他们现在能做什么,然后再次运行 next 以获取下一个节点。

当 next 返回空节点时,说明目标已达成。恭喜他们现在拥有的具体能力,如果 clarify-me 设置了长期目标,询问他们是否要朝着目标迈出下一步(这将从 clarify-me 重新开始)。

陷阱

  • 长篇幅的讲课式消息;学习者处于被动状态。
  • 替学习者解决他们自己的问题。
  • 对已经胜任的人过度解释。
  • 在一则消息中引入多个新概念。
  • 没有具体示例的抽象解释。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相关技能