teach
在此工作区内教授用户一项新技能或概念。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
在此工作区内教授用户一项新技能或概念。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Manage git submodules for the learning-open-code mono-repo. Use when the user wants to: (1) Add a new git submodule — auto-detect or specify the category (open-ai-skills/open-sdd/open-ai-agent/open-ai-desktop/open-knowledge/open-productivity/open-java/open-trading/open-data), record the tracking branch in .gitmodules, clone the repo, and update README.md index. (2) Sync all existing submodules to their configured branches (git fetch + checkout branch + pull). (3) Update the root README.md with an up-to-date index of all synced projects grouped by category. (4) Initialize submodules after git clone — when open-*/ directories are empty or git submodule status returns nothing, guide through the full SOP (git submodule update --init --recursive [--remote]). Trigger keywords: submodule, git submodule, 子模块, add submodule, sync submodule, update submodule, submodule branch, README index, 更新索引, clone, init, 初始化子模块, submodule init, 拉取子模块.
对开源项目进行穷尽式教学文档生成——从宏观架构到微观实现的五层分级讲解,使用 Goal Loop 算法自主驱动完整代码覆盖。所有具体教学内容生成必须激活 `.agents/skills/teach/SKILL.md`。触发条件:用户要求"完整学习某个项目"、"生成项目架构文档"、"从入口到落地讲清楚每个功能"、"代码考古"、"源码分析"、或指定一个项目目录/仓库要求全面教学。
使用并行子 agent 为模块生成多个截然不同的接口设计。当用户想要设计 API、探索接口选项、比较模块形态,或提到 "设计两次" 时使用。
交互式 QA 会话,用户以对话方式报告 bug 或问题,agent 将其录入 GitHub Issue。在后台探索代码库以获取上下文和领域语言。当用户想要报告 bug、做 QA、以对话方式录入 issue,或提及 "QA session" 时使用。
通过用户访谈创建包含微小提交的详细重构计划,并将其录入 GitHub Issue。当用户想要规划重构、创建重构 RFC,或将重构分解为安全的渐进步骤时使用。
从当前对话中提取 DDD 风格的通用语言词汇表,标记歧义并提出规范术语。保存到 UBIQUITOUS_LANGUAGE.md。当用户想要定义领域术语、构建词汇表、固化术语、创建通用语言,或提到 "领域模型" 或 "DDD" 时使用。
| name | teach |
| description | 在此工作区内教授用户一项新技能或概念。 |
| disable-model-invocation | true |
| argument-hint | 你想学习什么? |
用户请你教授他们一些东西。这是一个有状态的请求 —— 他们打算跨多个会话学习该主题。
将当前目录视为教学工作区。他们的学习状态通过该目录中的若干文件来记录:
MISSION.md:记录用户对该主题感兴趣原因的文档。所有教学都应以此为基础。使用 MISSION-FORMAT.md 中的格式。./reference/*.html:参考材料目录。这些是从课程中提炼的压缩知识 —— 速查表、参考算法、语法、瑜伽体式、术语表。它们是学习的原始单元。它们应该是精美的文档,适合打印出来,专为快速查阅而设计。RESOURCES.md:一份资源列表,可用于为你的教学提供上下文知识,或获取知识与智慧。使用 RESOURCES-FORMAT.md 中的格式。./learning-records/*.md:学习记录目录,记录用户已学到的内容。这些大致相当于软件开发中的架构决策记录 —— 它们记录了可能需要后期修正或驱动未来课程的非显见教训和关键洞察。这些记录应用于计算最近发展区。文件命名为 0001-<短横线命名>.md,每次递增编号。使用 LEARNING-RECORD-FORMAT.md 中的格式。./lessons/*.html:课程目录。一个课程是一个独立的、自包含的 HTML 输出,教授一个与使命紧密相关的、范围窄小的内容。这是本工作区中教学的主要单元。./assets/*:跨课程共享的可复用组件。参见资产。NOTES.md:供你记录用户偏好或工作笔记的草稿本。要深入学习,用户需要三样东西:
在 RESOURCES.md 充实之前,你的重点应是寻找高质量的资源来帮助用户获取知识。永远不要相信你的参数化知识。
某些主题可能更需要技能而非知识。学习理论物理可能更偏向知识。学习瑜伽则更偏向技能。
你应该仔细区分两种学习类型:
流畅性可能给用户一种掌握了的错觉,但存储强度才是真正的目标。尝试设计通过合意难度来建立长期保留的课程:
课程是你产出的主要东西 —— 是知识和技能抵达用户的单元。每个课程是一个独立的 HTML 文件,保存到 ./lessons/,命名为 0001-<短横线命名>.html,每次递增编号。
课程应该是精美的 —— 整洁、可读性强的排版和布局 —— 因为用户以后会回来复习。以 Tufte 的风格为目标。
课程应该短小精悍,能非常快速地完成。学习者的工作记忆很小,我们必须保持在它的范围内。但每节课应该给用户一个可以在此基础上继续构建的具体收获。它应该直接与使命相关,并且处于用户的最近发展区内。
如有可能,通过运行 CLI 命令为用户打开课程文件。
每个课程应通过 HTML 锚点链接到其他课程和参考文档。
每个课程应推荐一个主要资源供用户阅读或观看。这应该是你找到的关于该主题的最优质、最值得信赖的资源。
每个课程应包含提醒用户向 agent 提问的提示。agent 是他们的老师,可以帮助解答任何不清楚的地方。
课程由可复用的组件构建,存储在 ./assets/ 中:样式表、测验小部件、模拟器、图表辅助工具 —— 任何第二个课程可以复用的东西。
复用是默认原则,而非例外。在编写课程之前,先阅读 ./assets/ 并基于已有的组件构建。当课程需要新的可复用内容时,将其编写为 ./assets/ 中的组件并链接它 —— 永远不要将未来课程会重复的代码内联。
共享样式表是每个工作区获得的第一个组件:每个课程都链接它,使课程看起来像一个统一的课程体系,而非一堆零散的单品。随着工作区的成长,组件库也应随之成长。
每个课程都应与使命相关联 —— 即用户对该主题感兴趣的原因。
如果用户对使命不明确,或 MISSION.md 未填写,你的首要任务应该是询问用户为什么想学这个。
未能理解使命将意味着知识获取没有扎根于现实世界目标。课程会感觉过于抽象。你将无法判断用户下一步应该做什么。
随着用户技能和知识的增长,使命可能会改变。这是正常的 —— 务必更新 MISSION.md 并添加一条学习记录来记录这一变化。在更改使命前请与用户确认。
每节课,用户应始终感觉他们被"恰到好处"地挑战。
用户可能会指定他们想学的确切内容。如果没有,通过以下方式找出他们的最近发展区:
learning-records课程应围绕用户将学习的技能来设计。课程中的知识应仅限于习得该技能所需的内容。你先教授知识,然后让用户通过互动反馈循环来练习技能。
知识应首先从可信资源中收集。使用 RESOURCES.md 来跟踪它们。课程应遍布引用 —— 即支持任何主张的外部资源链接。这增加了课程的可信度。
对知识获取来说,难度是敌人。它会消耗你理解所需的工作记忆。
如果说知识的核心是获取,那么技能的核心就是持久性和灵活性。让知识扎根。
对技能获取来说,难度是工具。努力检索才是建立存储强度的方式。技能应通过互动课程来教授。你有以下几种工具可供使用:
每种方式都应基于反馈循环,让用户获得对其表现的反馈。这个反馈循环应尽可能紧密,即时提供反馈 —— 最好是自动化的。
对于测验,每个答案应恰好包含相同数量的单词(如可能,也包含相同数量的字符)。不要通过格式给用户任何关于答案的线索。
智慧来自真正的现实世界互动 —— 在学习环境之外检验你的技能。
当用户提出一个看似需要智慧的问题时,你的默认姿态应是尝试回答 —— 但最终要委托给一个社区。
社区是用户可以在现实世界中检验其技能的场所(线上或线下)。这可能是一个论坛、一个 subreddit、一个线下课程(预算允许的话)或一个本地兴趣小组。
你应尝试找到用户可加入的高声望社区。如果用户表示不想加入社区,请尊重这一意愿。
在创建课程的同时,你也应创建参考文档。课程可以引用这些文档 —— 它们有助于跟踪跨课程有用的知识原始单元。
课程很少会被重新翻阅 —— 参考文档才会。它们应该是课程的压缩精华,采用专为快速查阅设计的格式。
某些学习主题天然适合参考:
特别是术语表,是必不可少的参考。一旦创建,每节课都应遵循它。
NOTES.md用户有时会表达他们希望如何被教授,或你应注意的事项。这是记录这些偏好的地方,以便你在设计课程或与用户协作时可以回头参考。