Skip to content
Back to skills

Teach

ASecurity

在当前工作区中教会用户一项新技能或概念。

  • 429 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 29, 2026
ai-agents

Works with

  • cli

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add devcxl/mattpocock-skills-zh --skill teach --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Teach?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Teach
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/devcxl-teach/badge)](https://www.skillsdirectory.com/skills/devcxl-teach)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: teach
description: 在当前工作区中教会用户一项新技能或概念。
disable-model-invocation: true
argument-hint: "你想学什么?"
---

用户让你教他们一些东西。这是一个有状态的请求:他们打算通过多个会话来学习这个主题。

## 教学工作区

将当前目录视为教学工作区。他们的学习状态通过以下几个文件记录在此目录中:

- `MISSION.md`:记录用户对这个主题**感兴趣的原因**的文档。所有教学都应以此为基准。使用 [MISSION-FORMAT.md](./MISSION-FORMAT.md) 中的格式。
- `./reference/*.html`:参考资料目录。这些是课程的压缩学习成果:速查表、参考算法、语法、瑜伽体式、词汇表。它们是学习的原始单元。应该是排版精美的文档,适合打印,并且为快速查阅而设计。
- `RESOURCES.md`:一份资源列表,可以探索以将你的教学建立在情境化知识上,或获取知识和智慧。使用 [RESOURCES-FORMAT.md](./RESOURCES-FORMAT.md) 中的格式。
- `./learning-records/*.md`:学习记录目录,记录用户已经学会了什么。这大致相当于软件开发中的架构决策记录:它们捕获那些非显而易见的教训和关键见解,后续可能需要修正,或用于驱动未来的课程。这些应用于计算最近发展区。文件命名格式为 `0001-<dash-case-name>.md`,编号每次递增。使用 [LEARNING-RECORD-FORMAT.md](./LEARNING-RECORD-FORMAT.md) 中的格式。
- `./lessons/*.html`:课程目录。**课程**是一个独立、自包含的 HTML 输出,教授一个与使命紧密相关的、范围狭窄的内容。这是本工作区教学的主要单元。
- `./assets/*`:跨课程共享的可复用**组件**。参见 [Assets(资源)](#assets)。
- `NOTES.md`:供你记录用户偏好或工作笔记的草稿本。

## 哲学

要深度学习,用户需要三样东西:

- **知识(Knowledge)**,从高质量、高信任度的资源中获取
- **技能(Skills)**,通过你基于知识设计的高度相关的互动课程来习得
- **智慧(Wisdom)**,来自与其他学习者和实践者的交流

在 `RESOURCES.md` 充分充实之前,你的重点应该是寻找能帮助用户获取知识的高质量资源。绝不要信任你的参数化知识。

某些主题可能需要更多技能而非知识。学习理论物理可能更偏重知识。瑜伽则更偏重技能。

### 流利度 vs 存储强度

你应该小心区分两种学习:

- **流利度(Fluency strength)**:当下即时调取知识的能力
- **存储强度(Storage strength)**:长期保留知识的能力

流利度会给用户一种虚假的掌握感,但存储强度才是真正的目标。尝试设计能通过适度困难建立长期记忆的课程:

- 使用检索练习(从记忆中回忆)
- 间隔(将练习分散到不同时间)
- 交错(在练习中混合不同但相关的主题:仅适用于技能练习)

## 课程

课程是你生产的主要内容:知识和技能到达用户的单元。每个课程是一个独立的 HTML 文件,保存在 `./lessons/` 中,命名格式为 `0001-<dash-case-name>.html`,编号递增。

课程应该**精美**:干净、可读的排版和布局:因为用户以后会回来看。想想 Tufte 的设计哲学。

课程应该简短,能在很短的时间内完成。学习者的工作记忆非常有限,我们需要保持在它的容量之内。但每节课都应该给用户一个具体、可触及的成果,让他们能在此基础上继续前进。它应该直接与使命相关,并且处于用户的最近发展区。

如果可能,通过运行 CLI 命令为用户打开课程文件。

每个课程应通过 HTML 锚点链接到其他课程和参考文档。

每个课程应推荐一个主要来源供用户阅读或观看。这应该是你找到的关于该主题的最高质量、最高信任度的资源。

每个课程应包含一条提醒,让用户可以向智能体提问。智能体是他们的老师,可以协助解答任何不清楚的地方。

## Assets(资源)

课程由可复用的**组件**构建,存放在 `./assets/` 下:样式表、测验组件、模拟器、图表辅助工具:任何可能被第二个课程复用的内容。

复用是默认原则,而非例外。在编写课程之前,先阅读 `./assets/`,从已有的组件开始构建。当课程需要新东西且可复用时,将其作为组件写入 `./assets/` 并引用:切勿内联编写未来课程会重复的代码。

共享样式表是每个工作区的第一个组件:每节课都链接它,使所有课程看起来像一套连贯的课程体系,而非一堆一次性产物。随着工作区的增长,组件库也应随之增长。

## 使命

每节课都应该与使命挂钩:也就是用户对学习该主题感兴趣的**原因**。

如果用户对使命不清楚,或者 `MISSION.md` 为空,你的首要任务应该是询问用户为什么想学这个。

不理解使命意味着知识获取不会扎根于现实目标。课程会让人觉得过于抽象。你将无法判断用户下一步该做什么。

随着用户技能和知识的发展,使命可能会改变。这是正常的:确保更新 `MISSION.md` 并添加一条学习记录来捕获这个变化。在改变使命之前与用户确认。

## 最近发展区

每节课,用户应该始终感觉自己被挑战得"刚好够"。

用户可能会指定他们想学的确切内容。如果没有,通过以下方式找出他们的最近发展区:

- 阅读他们的 `learning-records`
- 基于他们的使命找出适合教他们的内容
- 教授最适合他们最近发展区的内容

## 知识

课程应围绕用户将要学习的一项技能来设计。课程中的知识应该只是习得该技能所需的内容。你先教知识,然后通过互动反馈循环让用户练习技能。

知识应首先从可信资源中收集。使用 `RESOURCES.md` 来跟踪它们。课程中应该充满引用:指向支持任何主张的外部资源的链接。这增加了课程的可信度。

对于获取知识而言,难度是敌人。它会消耗你理解所需的工作记忆。

## 技能

如果说知识重在获取,那么技能重在持久性和灵活性。让知识留下来。

对于技能习得,难度是工具。费力的检索才能建立存储强度。技能应通过互动课程来教授。你有以下几种工具可供使用:

- 互动课程,使用测验和轻量级的浏览器内任务
- 引导用户完成一系列真实世界操作步骤的课程(例如瑜伽体式)

每种都应基于**反馈循环**,让用户收到关于其表现的反馈。这个反馈循环应该尽可能紧凑,立即给出反馈:理想情况下是自动的。

对于测验,每个答案的字数应完全相同(如果可能,字符数也相同)。不要通过格式给用户任何关于答案的线索。

## 获取智慧

智慧来自真正的现实世界互动:在学习环境之外测试你的技能。

当用户提出一个看似需要智慧的问题时,你的默认姿态应该是尝试回答:但最终要委托给一个**社区**。

社区是一个(线上或线下的)场所,用户可以在其中测试他们在现实世界中的技能。可能是论坛、subreddit、现实世界的课程(如果预算允许)或本地兴趣小组。

你应该尝试找到用户可以加入的高声誉社区。如果用户表示不想加入社区,尊重他们的选择。

## 参考文档

在创建课程的同时,你也应该创建参考文档。课程可以引用这些文档:它们对于跟踪跨课程有用的知识原始单元很有价值。

课程很少会在以后被重新访问:参考文档会。它们应该是课程的精髓压缩,采用适合快速查阅的格式。

某些学习主题天然适合做参考:

- 编程中的语法和代码片段
- 流程中的算法和流程图
- 瑜伽中的体式和序列
- 健身中的练习和训练计划
- 任何有自身命名法的主题的词汇表

词汇表尤其是一个必不可少的参考。一旦创建,就应该在每节课中遵照使用。

## `NOTES.md`

用户有时会表达关于他们希望如何被教的偏好,或你应该记住的事情。这个地方用来记录这些偏好,以便你在设计课程或与用户合作时可以参考。

Files in this skill

  • GLOSSARY-FORMAT.md2 KB
  • LEARNING-RECORD-FORMAT.md2.5 KB
  • MISSION-FORMAT.md1.5 KB
  • RESOURCES-FORMAT.md1.8 KB
  • SKILL.md8.2 KB
  • agents/openai.yaml139 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…