我写了大半年 skill 教 AI 干活,这个 122K 星的技能却反过来教我

哈喽,我是飞飞。
我自己做了一整套基于 Claude Code 的 skill。拉资讯的、查重的、写稿的、配图的、发公众号的,十几个挂在一起,每天就靠它们干活。
所以当我在 mattpocock/skills 这个仓库里看到一个叫 Teach 的技能时,第一反应是「不就又一个 skill 模板嘛」。
结果点进它的 SKILL.md,我愣了一下。
这个 skill 的方向,是反的。
我写 skill 写了大半年,第一次见有人把它用反
先说清楚这仓库是什么。它是 Matt Pocock 的个人 .claude/skills 目录,直接公开出来的。Matt 在 TypeScript 圈子里挺有名,做开发者教育,手上有六万多订阅。
它跟什么官方「Skills 项目」没关系,就是一个工程师把自己每天真在用的工作集,原样摆上了 GitHub。截至昨天,它在 GitHub 上有大概 122K 个星。今年初还只有两万多,几个月就窜成这样。他自己强调,这些 skill 都做得小而能拼,换任何模型都能跑。
我写 skill 的逻辑,跟绝大多数人一样:把一套人的方法论,压进一个 markdown 文件,喂给 agent,让它照着我的规矩去干活。我那十几个 skill 全是这个套路。
Teach 偏不。它干的事,是用 agent 把一门本事教进你脑子里,而不是替你把活干完。
同一套「写个 SKILL.md 喂给 Claude」的地基,盖出来的房子朝向正好掉了个头。就这一下,把我看住了。
它把你的文件夹,变成一间会记你进度的私教工作室
Teach 的玩法,是把你当前这个目录,整个当成一间教学工作室。你跟它学一样东西,不是聊一次就完事的活儿,得分好几次、好几天慢慢学。学到哪了,全记在这个文件夹里。
它靠几类文件撑起这间工作室:
- MISSION.md:记你为什么想学这个。这是地基,所有教学都得扣着它来。你要是说不清为什么学,它会先反过来问你。
- **lessons/**:一节课一个 HTML 文件,只教一件事,要做得漂亮、能很快上完、上完给你一个看得见的小成果。这是它最主要的产出。
- **reference/**:把学过的东西压成速查手册、词汇表、算法卡,做成那种能打印出来、以后随时翻的样子。
- RESOURCES.md:一份高可信资源清单。它的 SKILL.md 里写着一句话,「Never trust your parametric knowledge」,别信你脑子里那点记忆,老老实实去找靠谱出处。
用起来也直白。你开个空目录,跟它说 teach me French,或者 teach me React hooks,甚至 teach me sourdough(教我做酸面包)都行。它会先问你一串:为什么学、现在什么水平、学成什么样算成功、你喜欢怎么被教。问完才开始给你排课。
说白了,它不是给你一坨资料让你自己啃,是真把自己当成一个会因材施教的私教。
最戳我的,是它专门拿一个文件夹记「你学会了什么」
真正让我坐直的,是 learning-records/ 这个目录。
它专门拿一摞文件,记你到底学会了什么。每条编号往上加,0001、0002 这样排。它把这些记录类比成软件工程里的 ADR,也就是架构决策记录。下一节该教你什么、难度给到哪,全靠回头读这些记录来定。
看到这儿我直接联想到自己的流水线。
我那套 skill 里头有一个叫 content-training,专门干一件事:每写完一篇文章,就把这次踩的坑、犯的错提炼成几条经验,追加进一个叫 WRITING_LESSONS.md 的文件。这文件越喂越厚,下次写手动笔前先读一遍,同样的错就少犯。
我写你正在看的这篇之前,开头第一件事就是读它,那会儿它已经更新到第 70 次了。
那里头攒的还不只是写作心得,连一整套防 AI 腔的 grep 规则都在里面,专门揪那些一眼假的句式和措辞。说到底,光把这套规则调教顺手,我前后就搭进去好几个晚上。
你看,Teach 的 learning-records 和我的 WRITING_LESSONS,根本是同一个东西。区别只在朝向:我那份喂给 agent,让机器写得越来越准;Teach 这份记的是人的进度,让它把人教得越来越懂。一个在练 agent,一个在练人,底下是同一套「拿文件当记忆」的机制。
而且这招解决的是个真问题。agent 默认是个金鱼脑,每开一个新会话就失忆,你上次教过的、说过的偏好,它转头就忘,下回还得从零讲。Teach 干脆把状态钉死在磁盘上,谁也跑不掉。
Knowledge、Skills、Wisdom,它把「怎么教人」写成了工程
Teach 的 SKILL.md 里有一段讲它的教学观,我觉得是整个 skill 最有料的地方。
它说一个人想把东西学透,得凑齐三样:Knowledge,从高可信的资料里来;Skills,靠一节节互动课练出来;Wisdom,得到真实世界里跟别人切磋才长得出来。
所以你问它一个需要见识才能答的问题,它会先尽量答,但最后多半把你往一个靠谱社区、论坛或者线下班子引。它知道有些东西课教不会,得人教人。
它还把一个教育学的老概念搬了进来:ZPD,最近发展区。意思是每节课都得让你「跳一跳够得着」,太简单你嫌烦,太难你直接劝退。它就靠读你的 learning-records,加上你的 mission,算出这个刚刚好的点在哪。
这些设计还透着一股克制劲儿。每节课它都要求自己满地放引用链接,方便你顺藤摸瓜,也防它张口胡说。它的 frontmatter 里还写死了 disable-model-invocation,不许模型自己手痒去调用,必须你主动喊一声 /teach 才动。
实话讲,这套东西本质上就是「授人以渔」那句老话的工程版。只不过这回,那个拿着渔竿手把手教的,是个 AI。
AI 都替你把活干了,你还要不要自己学会
不过聊到这,我心里其实是有点拧巴的。
让 agent 替我干活这条路,我走得比谁都欢。就上周,一个跨好几个文件的重构,我一句话丢给 Claude Code,它自己开了个 git worktree,列好计划,一个文件一个文件改,中间自己跑测试,挂了回头修,弄完才喊我看。我去厨房热了个饭,回来活干了一半。这种爽,我太懂了。
可越是这样,Teach 那个反方向就越扎我。
我做 skill,是把我的本事压进文件,喂给机器,让它替我干。这个过程里,本事是从我身上往外搬的。搬得越多,活越省,可那点能耐有没有真长在我自己身上,是要打问号的。
前阵子我盯着自己那条流水线,突然有点恍惚:好多原来得我亲手琢磨的判断,现在全压进 skill 让 agent 替我做了。省是真省,可哪天把这些 skill 抽走,我自己还剩几分手感,心里没底。
Teach 干的恰恰是把这事倒过来。它想方设法,让那门本事重新长回你脑子里。
在 AI 啥都能替你干的当下,「还愿不愿意自己学会一样东西」,慢慢变成一种挺奢侈的选择。
想试的话装起来也简单,一行命令:npx skills add mattpocock/skills --skill teach,挑 Claude Code 装上就行。开个新目录,跟它说你想学啥,剩下的它带你走。
同一块地基,能朝两个方向盖
我会接着盯这个 skill 生态。让我意外的,倒不是 skill 圈又添了个好用工具。它真正点醒我的在另一头:skill 这套地基,除了拿来榨干 agent 的产能,原来还能反过来,把人喂得更聪明。我甚至动了念头,想给自己那条流水线,也补一段专门记「我自己学会了什么」的东西。
我做了大半年 skill 教 AI 干活,Teach 让我看见了同一块地基的另一种盖法。
最后想问问你:在 AI 把活越接越多的现在,有没有什么本事,是你死活要自己学会、不舍得整个交给 agent 的?评论区聊聊。
参考资料
- [[mattpocock-skills-teach]]
相关洞察
- [[teach-skill-用agent教人而非教agent]]