Teach
cursor/plugins
Explain a body of work plainly so a person actually understands it.
“在这个工作区中教用户一个新技能或概念。”
$ npx skills add vinvcn/mattpocock-skills-zh-CN --skill teach -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install vinvcn/mattpocock-skills-zh-CN teach --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/vinvcn/mattpocock-skills-zh-CN.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/productivity/teach .claude/skills/teach && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "teach" agent skill from https://github.com/vinvcn/mattpocock-skills-zh-CN/tree/main/skills/productivity/teach into .claude/skills/teach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "teach", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/vinvcn/mattpocock-skills-zh-CN/tree/main/skills/productivity/teachType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add vinvcn/mattpocock-skills-zh-CN --skill teach -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install vinvcn/mattpocock-skills-zh-CN teach --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vinvcn/mattpocock-skills-zh-CN.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/productivity/teach .agents/skills/teach && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "teach" agent skill from https://github.com/vinvcn/mattpocock-skills-zh-CN/tree/main/skills/productivity/teach into .agents/skills/teach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "teach", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vinvcn/mattpocock-skills-zh-CN --skill teach -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install vinvcn/mattpocock-skills-zh-CN teach --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vinvcn/mattpocock-skills-zh-CN.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/productivity/teach .cursor/skills/teach && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "teach" agent skill from https://github.com/vinvcn/mattpocock-skills-zh-CN/tree/main/skills/productivity/teach into .cursor/skills/teach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "teach", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/vinvcn/mattpocock-skills-zh-CN.git --path skills/productivity/teach--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add vinvcn/mattpocock-skills-zh-CN --skill teach -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install vinvcn/mattpocock-skills-zh-CN teach --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vinvcn/mattpocock-skills-zh-CN.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/productivity/teach .gemini/skills/teach && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "teach" agent skill from https://github.com/vinvcn/mattpocock-skills-zh-CN/tree/main/skills/productivity/teach into .gemini/skills/teach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "teach", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install vinvcn/mattpocock-skills-zh-CN teachInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add vinvcn/mattpocock-skills-zh-CN --skill teach -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/vinvcn/mattpocock-skills-zh-CN.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/productivity/teach .github/skills/teach && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "teach" agent skill from https://github.com/vinvcn/mattpocock-skills-zh-CN/tree/main/skills/productivity/teach into .github/skills/teach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "teach", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add vinvcn/mattpocock-skills-zh-CN --skill teach -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install vinvcn/mattpocock-skills-zh-CN teach --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/vinvcn/mattpocock-skills-zh-CN.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/productivity/teach .opencode/skills/teach && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "teach" agent skill from https://github.com/vinvcn/mattpocock-skills-zh-CN/tree/main/skills/productivity/teach into .opencode/skills/teach/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "teach", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
teachTeach is a skill in vinvcn/mattpocock-skills-zh-CN (4.7k stars). Its SKILL.md is about 1.4k tokens, with 5 other files in the folder. Licence: MIT.
Read from SKILL.md and the folder at commit 3f92a83. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md.
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Teach loads about 1.4k tokens when it runs. Until then it costs about 6 tokens; SKILL.md has 492 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from vinvcn/mattpocock-skills-zh-CN at commit 3f92a83, republished under its MIT licence (© vinvcn). 492 words, ~1,350 tokens.
.claude/skills/teach/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.用户要求你教他们某件事。这是一个 stateful request:他们打算在多个 sessions 中学习这个 topic。
把当前目录视为 teaching workspace。他们的学习状态保存在这个目录中的几个文件里:
MISSION.md:记录用户为什么对这个 topic 感兴趣。所有教学都应以它为 grounding。使用 MISSION-FORMAT.md 中的格式。./reference/*.html:reference materials 目录。这些是从 lessons 中压缩出的 learnings:cheat sheets、reference algorithms、syntax、yoga poses、glossaries。它们是原始学习单元。它们应该是漂亮的 documents,适合打印,并为 quick reference 设计。RESOURCES.md:可探索的 resources 列表,用来把教学建立在 context knowledge 上,或获取 knowledge 和 wisdom。使用 RESOURCES-FORMAT.md 中的格式。./learning-records/*.md:learning records 目录,记录用户已经学到的东西。它们大致相当于软件开发里的 architectural decision records:捕获非显而易见的 lessons 和 key insights,这些内容可能之后需要修订,或推动未来 sessions。它们应用来计算 zone of proximal development。标题格式为 0001-<dash-case-name>.md,数字每次递增。使用 LEARNING-RECORD-FORMAT.md 中的格式。./lessons/*.html:lessons 目录。一个 lesson 是一个单独、自包含的 HTML output,用来教授一个与 mission 绑定的 tightly-scoped 内容。这是此 workspace 中教学的主要单元。./assets/*:跨 lessons 共享的可复用 components。见 Assets。NOTES.md:scratchpad,用来记下用户偏好或 working notes。要深度学习,用户需要三样东西:
在 RESOURCES.md 还没有充分填充前,你的重点应是寻找能帮助用户获取 knowledge 的高质量 resources。不要相信你的 parametric knowledge。
有些 topics 可能比 knowledge 更需要 skills。学习 theoretical physics 可能更偏 knowledge-based。Yoga 则更偏 skills-based。
你应小心区分两类学习:
Fluency 会给用户一种掌握了的错觉,但 storage strength 才是真正目标。尝试通过 desirable difficulty 设计能建立长期保持的 lessons:
Lesson 是你产出的主要东西,也就是 knowledge 和 skills 触达用户的单元。每个 lesson 都是一个自包含 HTML 文件,保存到 ./lessons/,标题为 0001-<dash-case-name>.html,数字每次递增。
Lesson 应该 漂亮,拥有干净、可读的 typography 和 layout,因为用户之后会回来复习。想想 Tufte。
Lesson 应该很短,并且很快就能完成。Learners 的 working memory 非常小,我们需要待在这个限制之内。但每个 lesson 都应给用户一个可以继续构建的、单一的 tangible win。它应直接绑定 mission,并处在用户的 zone of proximal development 中。
如果可能,通过运行 CLI command 为用户打开 lesson file。
每个 lesson 都应通过 HTML anchors 链接到其他 lessons 和 reference documents。
每个 lesson 都应推荐一个 primary source,供用户阅读或观看。它应该是你在该 topic 上找到的最高质量、最高信任度 resource。
每个 lesson 都应包含提醒:让用户向 agent 提 follow-up questions。Agent 是他们的老师,可以协助任何不清楚的地方。
Lessons 由可复用的 components 构建,这些 components 存放在 ./assets/ 中:stylesheets、quiz widgets、simulators、diagram helpers——任何第二个 lesson 都能复用的东西。
复用是默认,而不是例外。在编写一个 lesson 之前,先读取 ./assets/,并基于已有的 components 构建。当一个 lesson 需要某个新的、可复用的东西时,把它写成 ./assets/ 中的一个 component 并链接过去——绝不要内联一段未来 lesson 会重复的代码。
共享的 stylesheet 是每个 workspace 获得的第一个 component:每个 lesson 都链接它,这样 lessons 看起来像一门一致的课程,而不是一堆一次性产物。随着 workspace 增长,component library 也应随之增长。
每个 lesson 都应绑定到 mission,也就是用户想学习这个 topic 的原因。
如果用户不清楚 mission,或 MISSION.md 尚未填充,你的第一项工作应是询问用户为什么想学这个。
不理解 mission 会导致 knowledge acquisition 无法 grounded in real-world goals。Lessons 会显得太抽象。你也无法判断用户下一步该做什么。
Missions 可能随着用户发展更多 skills 和 knowledge 而变化。这很正常。确保更新 MISSION.md,并添加 learning record 来捕获这次变化。改变 mission 前先和用户确认。
每个 lesson 中,用户都应始终感觉自己被“刚好足够”地挑战。
用户可能指定他们想学的确切内容。如果没有,就通过以下方式判断他们的 zone of proximal development:
learning-recordsLessons 应围绕用户要学习的一项 skill 来设计。Lesson 中的 knowledge 只应包含获得该 skill 所需的内容。你先教 knowledge,然后让用户通过 interactive feedback loop 练习 skills。
Knowledge 应先从 trusted resources 中获取。使用 RESOURCES.md 跟踪它们。Lessons 应该布满 citations,也就是指向 external resources 的 links,用来支持任何 claim。这会提高 lesson 的 trustworthiness。
对 acquiring knowledge 来说,difficulty 是敌人。它会消耗你理解所需的 working memory。
如果 knowledge 关注 acquisition,那么 skills 关注 durability 和 flexibility。让 knowledge stick。
对 skill acquisition 来说,difficulty 是工具。Effortful retrieval 才能建立 storage strength。Skills 应通过 interactive lessons 教授。你有几类工具:
每一种都应基于一个 feedback loop,让用户收到关于自己表现的反馈。这个 feedback loop 应尽可能紧,立即给出反馈,理想情况下自动完成。
对 quizzes 来说,每个答案都应有完全相同的词数(如果可能,字符数也相同)。不要通过 formatting 给用户任何答案线索。
Wisdom 来自真实世界互动,也就是在 learning environment 之外测试 skills。
当用户提出一个看起来需要 wisdom 的问题时,你的默认姿态应是尝试回答,但最终委托给一个 community。
Community 是一个线上或线下场所,用户可以在真实世界中测试 skills。它可能是 forum、subreddit、真实课程(预算允许时)或本地兴趣小组。
你应尝试找到用户可以加入的 high-reputation communities。如果用户表示不想加入 community,尊重这个偏好。
创建 lessons 时,你也应创建 reference documents。Lessons 可以引用这些 documents。它们有助于跟踪跨 lessons 都有用的原始 knowledge units。
Lessons 之后很少会被反复打开,而 reference documents 会。它们应该是 lesson 的 compressed essence,采用为 quick reference 设计的格式。
有些学习 topics 天然适合 reference:
Glossaries 尤其是 essential reference。一旦创建了 glossary,所有 lesson 都应遵守它。
NOTES.md用户有时会表达他们想怎样被教学的偏好,或你应该记住的事情。这里就是记录这些偏好的地方,方便你在设计 lessons 或与用户合作时回头参考。
© vinvcn, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files in skills/productivity/teach of vinvcn/mattpocock-skills-zh-CN.
Open the folder on GitHubat commit 3f92a83
Teach next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Teach this skillvinvcn/mattpocock-skills-zh-CN | 4.7k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Teachcursor/plugins | 10k | 9 repos | ~1.4k | Automated safety check: Pass | None | |
| Teachccplugins/awesome-claude-code-plugins | 968 | — | ~5.9k | Automated safety check: Notes | Apache-2.0 | |
| Teachtrailofbits/skills-curated | 512 | 27 repos | ~2.6k | Automated safety check: Notes | CC-BY-SA-4.0 | |
| Teachstevesolun/ctx | 588 | — | ~300 | Automated safety check: Pass | MIT | |
| Teachvasanthsreeram/Alvarmethod | 162 | — | ~620 | Automated safety check: Pass | MIT |
cursor/plugins
Explain a body of work plainly so a person actually understands it.
ccplugins/awesome-claude-code-plugins
Teaches the Second Brain to recognize a new external data source.
trailofbits/skills-curated
Teaches the user a new skill or concept over multiple sessions, using the current directory as a stateful teaching workspace with lessons, learning records, and reference materials.
stevesolun/ctx
Teach a skill or concept at the user's current level, optionally preserving a lightweight multi-session learning record.
vasanthsreeram/Alvarmethod
One-to-one tutor using the Alvar method — probe the edge of this mind, plan a mermaid DAG, then teach one reasoning step at a time with a lock-in quiz.
entireio/skills
A skill your agent uses when a developer wants a topic-focused guided lesson built from canonical checkpoints, not a whole-repo overview.
vinvcn/mattpocock-skills-zh-CN
设置 Claude Code hooks,在危险 git commands(push、reset --hard、clean、branch -D 等)执行前阻止它们。适用于用户想防止破坏性 git 操作、添加 git safety hooks,或在 Claude Code 中阻止 git push/reset 时。
vinvcn/mattpocock-skills-zh-CN
用于设计深模块的共享词汇。适用于用户想设计或改进模块接口、寻找深化机会、决定 seam 放在哪里、让代码更容易测试或更适合 AI 导航,或其他技能需要深模块词汇时。
vinvcn/mattpocock-skills-zh-CN
面向棘手缺陷和性能回退的诊断循环。适用于用户说 “diagnose” / “debug this”,或报告某些东西 broken、throwing、failing、slow 时。
vinvcn/mattpocock-skills-zh-CN
构建并打磨项目的领域模型。适用于讨论 codebase 术语、编写或编辑 CONTEXT.md,或记录或编辑 ADR. An agent skill from vinvcn/mattpocock-skills-zh-CN.
vinvcn/mattpocock-skills-zh-CN
将测试文件从 as 类型断言迁移到 @total-typescript/shoehorn。适用于用户提到 shoehorn、想替换测试中的 as,或需要局部测试数据时。
vinvcn/mattpocock-skills-zh-CN
用于撰写 PR 正文。适用于用户要求起草、改写或改进 PR 正文,或希望 PR 更便于审阅时. An agent skill from vinvcn/mattpocock-skills-zh-CN.
Run `npx skills add vinvcn/mattpocock-skills-zh-CN --skill teach -a claude-code`. Or copy the skill folder (skills/productivity/teach in vinvcn/mattpocock-skills-zh-CN) into .claude/skills/teach in your project. Claude Code loads it when a task matches its description.
Run `npx skills add vinvcn/mattpocock-skills-zh-CN --skill teach -a codex`. Or copy the skill folder (skills/productivity/teach in vinvcn/mattpocock-skills-zh-CN) into .agents/skills/teach in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add vinvcn/mattpocock-skills-zh-CN --skill teach -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/teach, .gemini/skills/teach, .github/skills/teach and .opencode/skills/teach in your project.
SKILL.md names no scripts, command-line tools or credentials: Teach is instructions for the agent only.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Teach is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Teach: Teach (cursor/plugins, 10k stars), Teach (ccplugins/awesome-claude-code-plugins, 968 stars), Teach (trailofbits/skills-curated, 512 stars) and Teach (stevesolun/ctx, 588 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
vinvcn (a GitHub user) maintains it in vinvcn/mattpocock-skills-zh-CN, which has 4,657 GitHub stars. The repository holds 33 skills in this directory. The repository was last updated on September 28, 2026.
Source: vinvcn/mattpocock-skills-zh-CN on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.