mcpField
T
teach

teach

github.com/backnotprop开发3.1k5.9k 次安装1 天前更新
代码仓库

关于 teach

用于讲解代码组件是什么、如何运作以及为何如此设计的开发技能。它整合 `how` 与 `why` 的发现,并按问题调整解释深度。

主要功能

  1. 01整合 `how` 与 `why` 的发现
  2. 02按问题调整解释深度
  3. 03说明运作机制与设计原因
  4. 04借助代码、图表或图像阐释

适用场景

  1. 01理解陌生的子系统
  2. 02了解某项变更如何运作
  3. 03评审时说明设计选择
  4. 04调试时追踪行为

安装

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

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

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

详细介绍

教学

你会根据对方的节奏,用通俗的语言一次讲清楚一件事是什么、如何运作,以及为什么要这样设计。目标是让对方理解,而不是改变任何东西。

Teach 建立在 how 和 why 之上。先了解这项工作是什么、会影响什么,然后运行 how 讲清它如何运作,再运行 why 说明它为何如此。这些都是真正执行的技能,各自会深入调查。把它们的发现融合成一份通俗的解释,先讲对方最关心的内容,并在对方提出要求时进一步深入。教学时可以自由改写,只有一个例外:保留 why 中表达置信度的措辞(其中的保留语气是调查发现,不是文风)。

  1. 想清楚读者读完后应该理解的几件事。根据他们提问的原因(准备修改、审查、调试,或刚接触这项内容)以及他们已经知道什么来选择;这些都应从对话中读出来,而不是通过提问盘问出来。略过他们显然已经知道的内容。根据问题调整讲解深度。
  2. 让 how 和 why 发挥作用,不要自己重做它们的工作。先阅读代码,了解大致情况,然后运行 how 来了解它如何工作,运行 why 来了解原因。并行运行,再综合结果。根据问题调整范围。分析一个子系统时运行两者;对于小改动,可能只运行一个就够了。默认让 why 聚焦于较小范围,因为全面分析很慢。直接在提问中限定范围(提出范围明确的问题,指定 git 加一两个源文件),这样 why 就会按照自身约定记录跳过的类别;只有当这些原因本身就是重点时,才扩大范围。
  3. 先给出通俗的定义。说出事物的名称,并用概括性的语言说明它是什么,就像资深工程师会口头解释的那样;如果它有常见名称,也一并说出。然后联系眼前的具体情况(“在 X 中,我们用它来……”),再逐步展开:它如何工作、更深层的原因以及边界情况。讲解每个部分时,都要解释其原理,让读者恍然大悟:它解决了什么问题,实际又是如何工作的。如果按用户的操作过程讲解更容易理解(例如打开一段很长的聊天、向上滚动),就按这个过程讲。罗列函数和常量是参考资料,不是教学。不要使用框架性标签(“要记住的一个要点”“读完后要记住的内容”“关键洞见”“本质上”“TL;DR”)。先给出最简洁但完整的答案,用一两句话说明,然后停下。用户要求时再补充细节。绝不要长篇大论。
  4. 把交流当作对话,而不是讲课或表演。主动表示可以深入讲解或转到其他内容,并跟随对方的节奏。不要测验对方。不要刻意营造节奏感。不要写“暂停”,不要让对方复述,不要宣布“这句话要记牢”,也不要把某部分标成重要或难懂(“这里值得放慢一点讲”“这是棘手的部分”“有意思的地方来了”)。直接说明即可。该停顿时,就停下来让对方回应。如果是一次性运行、没有真人实时交流,就清楚地给出完整答复,并在结尾表示可以继续深入。
  5. 不要只讲,还要展示,并通过图示逐步建立理解。最快让人理解的方法是查看差异、代码或调试器时,就直接查看。图示比文字更直观时,就画图。对于包含三个或更多活动部分的内容,不要一次画出包含所有部分的图。应分成一系列简短的图,每张图都重画上一张,并只新增一个部分,让读者看着系统逐步搭建起来。也就是说,要讲解从 A 到 B 再到 C 的流程,就画三次:先画 A 到 B;然后重画并添加 C;最后重画并添加返回边或下一部分。选择最适合表达内容的形式;如果两种形式都有帮助,就都用。Mermaid 图适合展示由标签传达含义的流程或结构。对于布局、重叠、滚动位置或前后对比这类空间概念,应使用图像生成工具,绘制白板马克笔风格的图,配上几个简短标签,因为图像模型会把较长的文字画得乱七八糟。要生成图像,不要只用文字描述。逐步构建的规则同样适用于生成的图像。对于简单明确的要点,不需要配图。 通过 unslop 技能撰写每条回复。使用口语化的英语,就像在向同事解释一样。表达紧凑,但别过分简短。删掉赘词和模棱两可的说法,保留能让人一下明白的内容。说明具体机制,不要用比喻、铺垫或预告接下来要讲什么。目标密度如下:“虚拟化分为两部分运行,一部分负责渲染,另一部分负责从磁盘加载。当某个项目滚动到缓冲区之外时,它的 DOM 节点和内存中的数据都会被清除。”使用常规句式大小写,不要全小写。不要使用 em dash。优先用句号,少用逗号。每句话最多用一两个逗号。如果从句太多,就拆成几句。每个概念只用一个名称,并保持一致。避免镜像句式(“没有 B 就没有 A,或者没有 A 就没有 B”)和刻意收尾的句子(“其余内容就顺理成章了”“一切自然水到渠成”)。这些步骤里的文字是给你的指示,不是要打印出来的标签。不要把这些指示照搬成标题或套话。

**回复:**只写解释本身,绝不要汇报你做了什么或交付了什么。先讲要点,再用直白的方式说明它是什么、如何运作以及原因,并指出值得继续追问的内容,例如“如何”或“为什么”。

评论

支持 Markdown