如何用 skills 的 /teach 把当前目录变成跨会话的学习工作区?
2026/9/12 15:52:37 网站建设 项目流程

如何用 skills 的 /teach 把当前目录变成跨会话的学习工作区?

【免费下载链接】skillsSkills for Real Engineers. Straight from my .agents directory.项目地址: https://gitcode.com/GitHub_Trending/skills13/skills

skills(Skills for Real Engineers)里的teach是一个用户手动调用的技能:你在 agent 会话里输入/teach,它会把你当前所在的目录改造成一个有状态的教学工作区,围绕一个主题跨多个会话给你上课。课程、资源、学习记录全部以文件形式落盘在这个目录里,下一个会话从这些文件接着讲,而不是依赖上一次对话的残留上下文。这篇文章走一遍完整路径:建好目录 → 首次调用 → 确认文件落位 → 在新会话中续课,并给出文档中列出的判断标准和已知问题。

准备:安装 skills 并选定一个专用目录

/teach依赖 skills 仓库中的技能文件,先按 README.md 的二选一方式安装一次:

# 方式一:Claude Code 插件,整包只读、随上游自动更新 claude plugins install mattpocock-skills
# 方式二:skills.sh 安装器,把可编辑的技能文件写进你的项目(Codex 及其他 agent 也用这条) npx skills@latest add mattpocock/skills

两种方式装一种即可,文档明确说明两个都装会让每个技能出现两份。

然后选定工作区目录。docs/productivity/teach.md 的前置要求很明确:

  • teach建目录而不是产文件,技能假设一个工作区只承载一个主题(one mission per workspace);
  • 不要放进你正在做的项目里,文档推荐一个单独的 repo,而不是全局~/.learnings/文件夹;单独的 repo 还让课程文件可以 commit,团队之间可以共享课程;
  • 适合"学习本身就是项目"的场景:一门语言、一个框架、刚接手的新代码库、考证等。只在会话里随口解释一个概念的话不需要它,直接问就行。

teachdisable-model-invocation: true(见 skills/productivity/teach/SKILL.md 的 frontmatter)意味着 agent 不会自己想起用它,只有你输入/teach才会触发。

首次调用:先过 mission 访谈,再谈课程

进入选定的空目录后,在 agent 会话中输入:

/teach <你想学的主题>

按 skills/productivity/teach/SKILL.md,如果MISSION.md还不存在或你说不清学习动机,它的第一件事是就"你为什么想学这个"访谈你,而不是直接产出课程——mission 是后面所有教学决策(下一课教什么、引用哪些资源、设计什么练习)的依据,写不好的 mission 比没有 mission 更糟,所以 agent 会追问到底。

这里有两个直接影响能否执行的操作细节:

  1. 开始时显式指定目录名。文档记录了一个仍未修复的已知问题(issue #377):SKILL.md./同时指代两类根目录(技能安装目录和当前目录),有些 agent 会顺着技能安装目录去解析,结果把课程写进~/.claude/skills之类的地方,工作区建在你意料之外的位置。对策就是文档给出的:启动时明确说出目录,不要依赖"当前目录"被正确理解,并且第一节课出来后先检查它落在了哪里,再在上面搭长课程。
  2. 第一次对话里主动说明你已知的内容和空白点。文档指出的最常见实质性抱怨是"它假设我已会很多、用了没定义过的术语":teach没有评估步骤,靠 mission 和学习记录推断你的水平,而第一个会话还没有任何学习记录。把先修知识写进首条消息,是文档给出的缓解手段;显式的知识评估步骤只是未交付的功能请求,不要指望。

工作区里会积累哪些文件

按 docs/productivity/teach.md 的清单,这个目录会逐步长出以下结构,它们就是跨会话记忆的全部载体:

路径内容
MISSION.md你学这个的原因;缺失时teach会先访谈你直到补上
RESOURCES.md教学依据的经过筛选的资源,分 Knowledge 和 Wisdom(社区)两类
lessons/*.html编号课程(0001-<dash-case-name>.html),教学的基本单元,每课一个自包含 HTML
reference/*.html压缩后的速查表、算法、术语表——真正会被反复回看的东西
learning-records/*.md类似 ADR 的学习记录(0001-<dash-case-name>.md递增编号),记录你已证实学会的内容,用来决定下一课教什么
assets/*跨课程复用的组件,首先是共享样式表,让所有课程看起来像同一门课
NOTES.md你表达过的教学偏好

三份格式文档定义了这些文件的写法,值得在工作区里备查:MISSION-FORMAT.md、RESOURCES-FORMAT.md、LEARNING-RECORD-FORMAT.md。要点分别是:mission 模板含 Why / Success looks like / Constraints / Out of scope 四节,且要求具体到"10 月前跑完半马"而不是"变健康";RESOURCES.md只收高信任来源、每条都要附一句用途说明,找不到好资源时写## Gaps一节驱动后续检索;学习记录只需一段话说明"学会了什么/确认了什么先验知识、为什么影响下一次教学",编号方式是指定目录下现存最高编号加一。

跨会话续课:文件夹是连续性,不是对话

这是标题里"跨会话"的核心机制。按文档,三种方式都可行:留在原会话继续、新会话里重新输入/teach、或在同一文件夹里开新会话。每节课都是一次独立调用,文件夹才是课程的连续性所在,对话不是。

文档描述的常见做法是:

/teach next lesson for <主题>

在课程工作区的目录里开一个全新会话,输入上面这句(<主题>换成你的 topic),下一课就接着讲,而不是从头重来。课程选择由 mission + 学习记录共同决定,落在你的"最近发展区":有一定挑战性,但没有远到学不动。

怎么判断工作区真的建起来了

docs/productivity/teach.md 给了明确的"working if"清单,逐项可核对:

  • 在空目录里第一次调用,它先访谈你为什么想学,而不是直接产出课程;
  • RESOURCES.md先于课程被填上,且每课都指名一个值得自己去读的一手资料;
  • 课程里的断言带出站外链接——没有引用的课程就是技能在凭记忆教你,这是文档给出的直接判据;
  • 一课一次会话能学完,学完你能做一件之前做不了的事;
  • 在文件夹里开新会话说"next lesson",课程是续上而不是重开;
  • learning-records/在增长,课程不再重复教你已经证实过的内容;
  • 各课程引用assets/里的共享样式表,而不是各带一套样式。

另外,需要经验判断(wisdom)类的问题,teach的默认行为是先尝试回答,再把你指到一个可以实战检验的社区(论坛、subreddit、线下课)。如果课程因此变得单薄,文档建议先换模型、harness 或提高 reasoning effort,而不是重写 prompt。

已知问题与边界

执行前知道这几条,可以避免把缺陷当成自己的操作失误:

  • 测验正确项总在第一个选项:多个用户在不同模型上确认,至今未修(issue #335)。SKILL.md现在要求所有选项字数相同,消掉的是"正确项是唯一写全推理的那个"这类破绽,但不解决位置问题。文档的结论是:在修复上线前,把选项位置当无意义信息处理;assets/目录归你所有,要求它生成一个渲染时洗牌的组件是文档认可的本地修法。
  • 没有间隔重复,也不可靠地知道何时停:spacing 和 interleaving 是课程设计的指导原则,但没有任何东西安排复习,也没有 Anki 或日历集成;想要复习/刷题而不是新材料,得自己开口要,技能不会主动提出切换。
  • 术语表不会自动出现GLOSSARY-FORMAT.md仍在 skills/productivity/teach/GLOSSARY-FORMAT.md 里,但SKILL.md已不再链接它(issue #559),只有你主动要才会生成。

与其他技能的衔接

docs/productivity/teach.md 把teach定位为独立的、随时可调用的技能,不在任何构建链上。文档给出的一条组合路径是:被grill-me之类的拷问卡住在一个不懂的概念上时,不要中断拷问去学——用/handoff把当前对话交接进一个教学工作区,在那边/teach学会,再回来接上原来的进度;如果你要的是带引用的文档而不是课程和留存,对应的替代是research

【免费下载链接】skillsSkills for Real Engineers. Straight from my .agents directory.项目地址: https://gitcode.com/GitHub_Trending/skills13/skills

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询