OpenClaw首席架构师推明星技能库:dotskills


dotskills 是由 Vincent Koc 创建的一套面向 AI Agent 的“技能库(Skills Library)”。它的目标是给 Claude Code、Codex、OpenCode 等编程 Agent 提供可复用的工作流程模板,让 Agent 在处理特定任务时表现得更稳定、更专业。

简单理解:

  • Prompt = 一句话指令
  • Skill = 一套完整工作方法
  • dotskills = 大量现成的工作方法集合
相当于把资深工程师脑子里的 SOP(标准操作流程)拆出来,做成可以直接安装给 AI Agent 使用的技能包。
核心思想
很多 AI 编程助手的问题并不是代码不会写,而是:
  • 不知道先做什么
  • 不知道该检查什么
  • 不知道什么是最佳实践
  • 不知道如何组织工作流程

dotskills 的思路是:

当用户说:帮我设计一个第三方支付集成

Agent 不直接开始写代码。而是先加载一个专门的 Skill,例如:

  • technical-integrations
然后按照技能中定义的步骤执行:
  1. 调研现有集成模式
  2. 分析接口设计
  3. 输出 RFC
  4. 评估兼容性
  5. 制定上线计划
这样得到的结果会比单纯 Prompt 更系统。


AI干活儿老翻车,不是因为它笨,是缺一本“操作手册”

AI帮你写代码,它“唰”一下就出一大堆。但你仔细一看,有的地方啰嗦得要命,有的地方该干的没干,还有的地方完全跑偏了。你跟它说“帮我接个支付”,它可能直接甩你一段网上随便扒的代码,安全不规范、流程不标准,你改的时间比自己写还长。

这事儿真不能全怪AI。你想啊,一个刚毕业的实习生,你直接跟他说“去,给咱项目接个微信支付”,他是不是也一脸懵?他得先翻文档、找之前的代码参考、问问组长有啥要注意的。AI现在的问题就是,它有劲儿,但它脑子里的“工作流程”是空的。

所以这个叫dotskills干的事儿特简单:把那些资深工程师脑子里的工作习惯,比如“接到支付任务,第一步看啥、第二步检查啥、第三步输出啥”,做成一个一个小包。AI干活前,先把这个包读一遍,然后就靠谱多了。

接下来,咱们就把这个dotskills从头到尾拆一遍。你会看到它里面都藏了哪些好用的“技能包”,每个技能包是咋组织的,以及它到底怎么就让一个愣头青AI变得像老手一样稳重。

为啥AI自己干活总“忘事儿”?因为Prompt就像一句“口号”

咱们平时用AI,最多的方式就是写Prompt。比如“写个登录页面”、“修一下那个bug”、“检查代码性能”。这像啥呢?就像你对着一个非常有才华但没啥经验的实习生喊:“去做个好吃的菜!”他可能冲进厨房,看见西红柿和鸡蛋,就给你炒了一盘。嗯,能吃。但你想要的可能是一个完整的宴席流程:先看看冰箱里有什么、确认客人忌口、设计上菜顺序、最后还要摆盘。

Prompt就是那句“口号”。它太短了,里面装不下太多信息。比如你让AI“设计第三方支付集成”,一个简单的Prompt,AI能做的就是把网上的例子拼一拼给你。它想不到要先调研一下你们公司现有的用户系统是咋样的、想不到要评估一下不同支付厂商的费率区别、想不到要输出一个完整的设计文档让团队评审。

这就是问题所在。一个复杂任务,背后往往有几十个步骤和几十个检查点。你不可能每次都写一篇8000字的说明书给AI。你累,AI也懵。

那dotskills是怎么解决的呢?它把“任务”和“完成这个任务的方法”给拆开了。你只说“帮我设计支付集成”,AI听到后不是直接写代码,而是去加载一个叫做“technical-integrations”的技能包。这个技能包就是一本现成的、写好的工作手册。AI看完手册再干活,那就不一样了。

所以核心改变就是:从给AI一句口号,变成给AI一套标准作业程序。

这个“技能包”里到底装了啥?咱们拿一个来开箱看看

咱们先说那个专门用来做集成的技能包,就叫它“技术集成手册”吧。这个手册是dotskills里面特别实用的一个。它长什么样呢?它不是一段文字,而是一个文件夹。

这个文件夹打开,首先看到一个叫SKILL.md的文件。这个文件就是技能的“说明书”。它里面写着:这个技能叫什么名字、什么时候该用、需要输入什么信息、最后会输出什么东西、中间要分哪几步走。

举个例子。这个“技术集成手册”的说明书会写清楚:当你想要对接支付接口、登录认证(比如那个“使用微信登录”)、或者任何第三方服务的时候,就用我。输入的东西很简单,就是你要接什么服务、你们自己系统大概的技术栈。输出就厉害了:一份架构设计图、一份正式的RFC文档(就是那种“大家来评审一下这个方案”的文档)、一个SDK的设计思路、还有风险评估和上线计划。

你看,这比“写一段代码”要完整太多了。

说明书底下,还会有一个叫“references”的文件夹。这文件夹才是真正的宝藏。里面可能放着好几篇文章,比如“集成的最佳实践”、“详细的工作流程步骤”、“过往的案例参考”、“每一步要检查的清单”。

AI在工作的时候,不是靠记忆力,而是实时把这些文件读一遍,然后照着做。这就像你把一本《厨师长操作手册》放在实习生旁边,他做一步,翻一页。那出错率肯定直线下降。

所以一个技能包的本质,就是把一个优秀工程师脑袋里的“隐性知识”变成了写在纸上的“显性流程”。

光说不练假把式,这个集成技能到底是咋干活的?

咱们就来模拟一下。你是一个AI,你收到了用户的指令:“帮我设计一下接入Stripe支付”。然后你身上已经装好了dotskills。你的第一步不是写代码,而是去技能库里找到了“technical-integrations”这个技能包。

你打开SKILL.md,开始照着做。

第一步,它可能要求你“调研现有集成模式”。你会怎么做?你可能先去搜一下Stripe的官方文档,看看它支持哪几种集成方式(比如直接跳转、弹窗、或者无界面)。然后你还要看看你们自己的系统,用户是怎么下单的、订单状态是怎么流转的。这一步做完,你心里就有底了。

第二步,它会要求你“分析接口设计”。你就要开始想,我们的后端需要提供给前端哪些接口?比如“创建支付意向”、“查询支付结果”、“接收Stripe的Webhook通知”。你甚至要考虑到如果用户付了一半关了页面咋办。

第三步,它要求你“输出RFC”。你就不再是写一段代码了,而是写一份正经的文档。文档里包括:背景、几种方案对比、你推荐的方案、数据表要怎么改、接口定义、安全考虑、失败处理。这份文档直接就可以拿到团队会议上去讨论。

第四步,“评估兼容性”。你会主动去检查,Stripe返回的数据格式,跟你们现有的订单系统能不能对上?如果Stripe某个服务挂了,我们的系统能不能优雅降级?

第五步,“制定上线计划”。你会列出来:先在测试环境跑通、然后让一小部分用户灰度、监控错误率、最后全量发布。

你看,这一套走下来,是不是特别像一个大厂的高级工程师在做技术方案?每一步都不是拍脑袋,而是手册里写好的。AI不需要自己发明流程,它只需要认真执行。

这就是技能包的力量。它把“靠运气”的事,变成了“靠流程”的事。

有的技能是教AI干活,有的技能是给AI“擦屁股”

dotskills里面还有一个特别有意思的技能,叫“technical-deslop”。这个名字起得挺逗,“deslop”就是“去掉稀泥”的意思。干啥用的呢?就是专门清理AI代码里那股子“AI味儿”。

AI写的代码,有时候你一眼就能看出来。比如,注释多得吓人,每一行都恨不得解释一下。再比如,到处都是防御性的if判断,好像什么事都能出错。还有,一个简单的功能,AI能给你绕出三层嵌套逻辑。或者,风格不统一,这里用单引号,那里用双引号,缩进也是乱的。

这个技能就是干这个的。它不会让你从头检查所有代码,那太累了。它会先去分析你这次改了哪些代码。怎么分析呢?它会运行两个命令:一个是git diff --cached(看看你刚才提交到暂存区了哪些改动),另一个是git diff加上一些参数(看看你这次开发分支和主分支比,改了哪些文件)。

拿到改动的范围后,它就只在这个小范围里动刀。它的目标是:保持代码的功能一丁点儿都不变,但是让代码看起来像一个有经验的开发者写的。比如,它会合并重复的逻辑、删掉那些没用的注释、简化过度复杂的写法、统一代码风格。

你可以这样理解:AI像是一个充满了热情但有点毛躁的新手,唰唰唰把功能实现了,但是代码风格惨不忍睹。然后这个“去稀泥”技能就像一个沉稳的代码审查官,默默进来,把乱七八糟的地方捋顺了,然后悄悄退出。最后你看到的代码,干净、利索、专业。

这个技能特别重要,因为它解决了AI编程的一个大痛点:代码能跑,但没法维护。如果每次AI生成的代码都要你花半小时去整理,那效率还不如自己写。有了这个技能,你就能放心让AI先出一版,然后让另一个技能去自动美化它。

怎么知道该造个啥样的新技能?有个专门“找活儿”的技能

dotskills这套东西是活的,它可以一直往里面加新技能。那问题来了:我怎么知道该加个什么技能呢?是“怎么写React Hook”还是“怎么优化数据库查询”?

为了回答这个问题,dotskills里又藏了一个技能叫“technical-skill-finder”,咱们叫它“技能发现器”。这个技能不干活,它专门负责“观察”和“建议”。

它会怎么观察呢?它会去翻AI的历史日志。比如,看看过去的对话里,AI在哪些任务上反复出错。它还会去看错误记录,哪些类型的bug一而再再而三地出现。它甚至会去看Git的操作记录和测试失败的信息。

干完这些“侦查”工作后,它会做统计分析。如果它发现,在过去的一个月里,你们团队每周都要处理两三次OAuth登录配置的错误,每周都有Docker镜像构建失败的问题,每周都有TypeScript类型定义搞不定的情况。那它就会给你提个建议:嘿,兄弟,咱们应该创建一个新的技能包了,名字就叫“OAuth排障流程”或者“Docker构建修复手册”。

这个“技能发现器”特别像一个好的项目管理者。它不自己闷头干活,而是先看看大家天天在为什么事发愁。然后把那些重复出现的、耗费时间的坑,总结成一套标准解决方案,做成一个技能包。这样,下次再掉进同一个坑,AI就能自己爬出来了。

这其实就是知识沉淀。一个团队的经验,不再只存在老员工的脑子里,而是变成了一个个可安装、可重复使用的AI技能包。新人来了(或者新的AI任务来了),直接加载对应的技能包,就能继承之前所有人的智慧。

还有一个“调优”技能,专门帮AI找到“手感”

除了干活的和打扫卫生的,dotskills里还有一类技能是专门用来“训练”AI的。比如有一个叫“opik-optimizer”的。这个名字听起来有点技术,其实它的工作可以理解成一个“自动调参师”。

咱们知道,让AI干一件事,不光是写个Prompt那么简单。你用哪个Prompt模板?让AI用什么角色?调用哪个模型(贵的还是便宜的)?模型的那个“温度”参数调多高(决定AI是更保守还是更有创意)?包括AI在思考过程中调用工具的步骤,这些都是可以调的。

但是调这些东西特别烦,你得试很多次。好比你想煎一个完美的鸡蛋,火候、油量、时间都得试。这个“opik-optimizer”技能就是帮你自动做这个实验的。它里面有好几种优化算法。有的算法像穷举法,你给它几个选项,它都试一遍。有的算法比较聪明,会根据上一次的结果,推测下一次怎么调整更好。

你只需要告诉它,你想优化什么,比如“让AI生成的支付集成方案,评审通过率更高”。然后这个技能就会自动生成很多个变种的Prompt或者Agent配置,放到真实场景里测试,收集结果,最后给你找出那个表现最好的组合。

这个技能的价值在于,它让AI的“调教”过程从“凭感觉”变成了“凭数据”。你不再是拍脑袋改两句话试试,而是让系统自动在大范围里搜索最优解。这对于那些要求特别高的业务场景,比如金融、医疗,或者对于想要节省模型调用成本的公司,特别有用。

说到底,dotskills和现在很火的MCP是啥关系?

你可能会听说过另一个东西叫MCP(模型上下文协议)。这俩经常被放在一起说。简单理解就是:MCP是给AI装上了“手”和“眼睛”,dotskills是给AI装上了“工作习惯”。

MCP长什么样?它是一堆现成的“连接器”。比如,有一个MCP服务器可以让你访问GitHub,AI就能直接去读你的代码仓库、提Issue、建分支。另一个MCP能连上数据库,AI就能执行SQL查数据。还有的能连Slack发消息,连Jira建任务。

所以MCP解决的是“能干什么”的问题。它让AI从只能说话,变成了能干活。AI可以调用GitHub MCP来“把代码推上去”,可以调用Postgres MCP来“查一下昨晚的用户下单量”。

但是,有了工具就够了吗?不够。你知道怎么用一个扳手,但你不知道修车的步骤。你可能会乱用工具。比如AI想查数据库,它可能一上来就执行一个全表扫描的查询,把数据库搞崩。或者它想去GitHub建Issue,但不知道该用什么模板、该贴哪些日志。

这就是dotskills登场的地方。技能包告诉AI的是“什么时候用哪个工具”、“按什么顺序用”、“用完之后怎么分析结果”。比如“技术集成手册”这个技能里,就会写着:“第一步,用你的搜索能力(可能通过某个MCP工具)去查支付厂商的文档。第二步,如果有现成的SDK,用GitHub MCP去clone下来看看例子。第三步,评估风险时,如果涉及到数据库改动,用Postgres MCP去检查一下现有表结构。”

可以这么想:MCP提供了螺丝刀、扳手、电钻。dotskills提供了维修手册。AI拿着维修手册,就知道该先拿起哪个螺丝刀,往哪个方向拧,拧几圈。没有手册,AI可能拿着电钻就去拧螺丝了。

所以这俩是黄金搭档。一个提供行动力,一个提供方法论。

那这个dotskills,到底哪些AI能用?怎么用?

目前这个技能库主要是给一些比较专业的编程Agent用的。比如大伙儿常用的Claude Code,还有OpenAI的Codex,还有开源的OpenCode,以及Cursor编辑器,还有Google的那个Gemini CLI。当然,如果你自己写了一个AI Agent,只要它支持读取文件、能理解Markdown格式的指令,基本也都能用。

用起来也特简单。你不需要去学一门新语言,也不用配复杂的环境。本质就是把这些技能包的文件夹,放到AI能访问到的一个地方。比如放在项目的根目录下的一个文件夹里,或者放在AI的配置目录里。

然后,当你需要AI帮你做一个特定任务时,你可以在Prompt里提一句:“使用technical-integrations技能来帮我设计支付”。或者,有些Agent聪明一点,它会根据你的任务,自己去扫描可用的技能列表,然后自动加载合适的。

甚至更高级的玩法是,你可以让你的Agent在每次对话开始前,先加载那个“技能发现器”,让它分析一下当前这个任务适合用哪几个技能,然后再干活。这就实现了一种“元认知”,AI知道自己有啥工具包,知道该咋用。

所以,你完全可以把dotskills看成是AI的一个外挂“经验库”。你装得越多,你的AI就越像一个在各种项目里摸爬滚打过的老手。

咱们再来捋一捋,dotskills和其他东西到底有啥不一样

市面上有很多Prompt仓库,就是大家分享各种好用的提示词。但dotskills跟它们有本质区别。Prompt仓库是给你一句“话”,dotskills是给你一本“手册”。一句话可能用完就忘了,手册可以反复用、不断改。

还有很多AI框架,比如LangChain、LlamaIndex,它们提供了一堆现成的组件,帮你搭建AI应用。但dotskills不干这个。它不关心你怎么搭建,它只关心一个具体任务的工作流程应该长什么样。它是“内容”,不是“容器”。

还有一些工具平台,比如各个大模型厂商自己的平台,它们主要解决怎么调用模型、怎么监控成本。dotskills也不干这个。它独立于任何平台,任何模型都能用。

dotskills最独特的点在于:它极度工程化。它不是为了聊天好玩,不是为了生成一首诗。它就是为了解决真实的软件开发问题。它里面所有的技能,都强调可重复执行、有检查清单、有标准流程。它关注的是那些让人头疼的真实场景:集成第三方、清理屎山代码、沉淀团队经验。

而且它是个活的系统。今天可能只有十几个技能,明天社区里的人就可以贡献新的。比如有人专门写了个“前端性能优化”的技能,有人写了个“数据库迁移”的技能。慢慢地,它就会变成一本越来越厚的《工程师作战手册》。

最后的最后,咱们用一个比喻把dotskills刻在你脑子里

你把一个AI想象成一个刚毕业、精力无限的年轻人。他脑子转得快,什么编程语言都会一点,但你不敢把重要任务交给他,因为他总是不按规矩来。

MCP是什么?是给他配了一整套顶级工具:德国进口的螺丝刀、激光测距仪、电动扳手。他现在什么都能修了。

但是,他还是不知道怎么修一台复杂的发动机。他可能会把不该拆的拆了,或者漏掉关键的步骤。

dotskills是什么?是你把一本《发动机大修标准作业流程》拍在他桌子上。这本书是厂里所有老师傅几十年经验的总结。里面写着:第一步,断开电源并泄压。第二步,拆卸外围附件,按照1-2-3的顺序。第三步,检查每个零件的磨损标准,对照表格。每一步后面还有一个检查清单。

然后你跟他说:以后修发动机,先翻这本书,照着做。

你会发现,这个年轻人,虽然他经验还是不多,但他干出来的活儿,每一步都对,每一个细节都考虑到了。他不再是个愣头青,他变成了一个“按照标准作业程序执行的专业技师”。

dotskills,就是AI世界里那本不断增厚的《标准作业程序汇编》。它不生产代码,它生产的是“如何不出错地生产代码”的方法。

总结

dotskills是一个为Claude Code、Codex等编程Agent设计的技能库,通过提供标准化的操作流程(SOP)来解决AI在复杂任务中表现不稳定的问题。本文详细解析了项目的核心技能、结构设计及其与MCP的协同关系。

本文深入介绍了dotskills项目,这是一个面向AI编程Agent的技能库。文章从AI编程的常见痛点出发,解释了为何单一的Prompt无法应对复杂任务,并引出了dotskills的核心价值——为AI提供可复用的标准工作流程。

文章详细拆解了dotskills中几个典型的技能包,如:
用于第三方集成的“technical-integrations”、
用于清理AI生成代码的“technical-deslop”、
用于发现知识沉淀需求的“technical-skill-finder”
以及用于自动优化Prompt和参数的“opik-optimizer”。

此外,文章还阐述了每个技能包内部的文件结构(SKILL.md与references目录),以及dotskills与MCP(模型上下文协议)的分工协作关系——MCP提供工具,dotskills提供方法论。

最后,文章介绍了dotskills当前支持的各类AI Agent及其使用方法,并总结了其与普通Prompt仓库、AI框架的本质区别,将其比喻为AI的《工程师作战手册》。

极客辣评

作者:Vincent Koc 是OpenClaw首席架构师

OpenClaw首席架构师使提示词过时了。

  • dotfiles 用于配置您的机器。
  • dotskills 用于配置您的 AI。

为 Codex/Cursor/智能体 提供可重用、版本化、可测试的“技能”,而不是一次性提示。