你有没有遇到过这种情况:同一个 Coding Agent,有时候写出来的代码像个熟手,思路清晰、一步到位;换个任务就变回实习生,连项目结构都搞不清楚,更别提遵守你团队的代码规范了。我一度以为是模型状态不稳定,后来才发现问题不在模型,而在 Agent 手里没有一套可复用的“专业技能包”。
这里的“专业技能包”,指的就是 Skills。说白了,Skills 是一套让 Coding Agent 按固定流程、固定规范去处理特定任务的指令集合,它能把“会写代码”变成“会按你的方式写代码”。2026 年这个时间点,Claude Code、Codex、OpenCode 这些主流工具都已经原生支持 Skills,社区里也冒出了大量高质量技能,但真正会用、会挑、会避坑的人反而没那么多。这篇文章我就把自己筛选和实测过的 10 个 Skills 整理出来,再把优质来源渠道一并分享,最后附上安装步骤和踩坑经验。不管你是刚接触 Agent 编程的新手,还是已经在生产环境里大批量使用 Coding Agent 的老手,这篇应该都能给你一些直接能抄作业的东西。
1. 先搞懂 Skills 到底是什么:为什么它比“把需求写进提示词”强一个量级
很多人的第一反应是:我直接在对话里把需求描述清楚不就行了,为什么要额外搞一套 Skills?这个疑问很合理。我自己最早也是这个想法,直到有一天在一个大型前端项目里反复让 Agent 修改代码规范,我发现同一个要求我几乎每次都要重新描述一遍,而且描述完它还是会漏掉细节。这时候我才意识到,把知识放在对话里,跟把知识固化到 Skills 里,完全是两种效率级别。
1.1 Skills 与普通提示词的本质区别:从“临场发挥”到“带说明书干活”
普通提示词是一次性的对话上下文。你跟 Agent 说“按团队规范写代码”,它听完就完了,下一次新会话里又什么都不记得。而且提示词写得太长,会占用大量上下文窗口,影响 Agent 处理真实任务的空间。
Skills 则是把一套完整的操作流程、约束规则、示例模板沉淀成文件,放在 Agent 可以读取的固定目录里。当 Agent 遇到匹配的任务时,它会自动加载对应的 Skills,按里面写的步骤来执行。你可以把一次性的“口头交代”理解成给实习生现场安排任务,Skills 则更像发给员工的岗位操作手册:每一步该做什么、标准是什么、遇到问题找谁,全都白纸黑字写清楚了。
最关键的一点是:Skills 是可复用的。我在团队里沉淀了一套代码审查 Skill 之后,不管开多少个新会话、换多少个项目,只要挂上这个 Skill,Agent 的审查标准就永远是同一套。这是纯提示词怎么做都做不到的事。
1.2 Skills 为什么不是“另一个插件体系”:零代码门槛带来的生态爆发
早期 Agent 的能力扩展主要靠插件(Plugin)或者 MCP 服务。插件的问题是它得写代码,得处理生命周期、事件回调、API 对接,维护成本不低,而且一旦 IDE 或者 Agent 工具升级,插件很可能就挂了。MCP 解决了工具调用的标准化问题,但本质上还是偏“函数调用”的维度,对“流程”和“规范”的表达能力很弱。
Skills 的聪明之处在于:它纯粹是文本驱动的。一个 Skill 本质上就是一个目录,里面放一个 Markdown 格式的 SKILL.md 文件(后面我会细讲格式),再加上一些可选的辅助文件。会写 Markdown 的人就能写 Skill,这就把创作门槛打到了地板级别。所以从 2025 年底到 2026 年中,社区里一下子涌现出成千上万个 Skills,覆盖前端开发、测试、文档、数据分析、视频分镜等各个领域。这不是偶然,门槛低,生态自然就爆发。
1.3 什么样的团队和场景最适合引入 Skills
根据我自己的观察,有三类场景用 Skills 收益最明显:
第一类,是团队里有明确的代码规范和流程要求。比如提交信息格式、分支命名规则、前端组件书写习惯、PR 描述模板。把这些做成 Skill,Agent 默认就能遵守,不需要每个人反复口头叮嘱。
第二类,是高度重复、步骤繁琐但规则明确的脏活累活。比如生成单元测试、写变更日志、梳理 API 文档、批量重构。这类任务人类做起来无聊且容易手滑,但 Agent 有了标准流程之后,完成质量非常稳定。
第三类,是需要跨会话保持“记忆”的场景。比如一个长期项目里积累了各种架构决策、技术选型原因、历史踩坑记录。把 memory 类的 Skill 挂上去,Agent 每次开工前先读一遍项目记忆文件,就不会再犯以前犯过的错误。
但我也得泼一盆冷水:如果你的使用场景就是随便问几个问题、写点一次性脚本,那 Skills 反而是过度设计。它最适合的是那种“同一个项目、同一类任务、反复执行”的稳定场景。想清楚这一点,再决定要不要深入折腾,能省掉不少时间。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 精选 10 个 Skills 清单:从最常用到最惊艳
我筛选的标准很朴素:第一,必须在真实项目里经受过检验,不是那种“看起来很酷但一跑就崩”的玩具;第二,覆盖的场景足够高频,装上之后使用率不能太低;第三,安装维护成本低,不会成为新的技术债。基于这三条,我从几十个实测过的 Skills 里挑了下面这 10 个。
| Skill 名称 | 解决什么问题 | 最适合谁 | 主要来源 |
|---|---|---|---|
| superpowers 全家桶 | 集成了文档生成、Git 工作区、调试等多个实用技能 | 全栈开发者、重度 Agent 用户 | Superpowers 仓库 |
| webapp-testing | 浏览器端到端测试与视觉回归 | 前端工程师、测试工程师 | Anthropic 官方 |
| memory | 跨会话项目记忆与上下文恢复 | 长期维护一个项目的团队 | 社区热门仓库 |
| frontend-design | 设计稿还原、UI 风格实现 | 前端、独立开发者 | 社区 |
| code-review | 自动化 PR 代码审查 | 团队协作、开源维护者 | 社区 |
| unit-test-generator | 测试用例生成与覆盖率补全 | 后端、全栈工程师 | 社区 |
| docify | 技术文档、README、架构说明自动生成 | 所有开发者 | Superpowers |
| github-workflow | PR、Issue、CI 流程自动化 | 开源维护者、DevOps | 社区 |
| data-analysis | 数据清洗、统计分析与图表生成 | 数据工程师、业务分析师 | 社区 |
| storyboard(分镜) | 文案转视频分镜与镜头规划 | 内容创作者、视频团队 | 社区/火山引擎生态 |
2.1 superpowers 全家桶:社区热度最高的一站式技能集合
这个我必须放在第一个说,因为它基本是现在社区里配置率最高的 Skill 集合,没有之一。它的作者 Jesse Vincent 是 Perl 社区的老牌开发者,也是 org-mode 的维护者,做出来的东西在工程化程度上确实比一般社区作品高出一截。
superpowers 全家桶里包含了大概十几个独立 Skill,其中最常用的是这几个:
docify:专门用来生成和维护文档。我拿一个维护了两年的老项目试过,它能把散落在代码注释里的信息抽取出来,生成结构还算清晰的模块文档,比想象中靠谱。git-worktree:自动化管理 Git Worktree。以前我手动切换分支经常要 stash 来 stash 去,有了这个 Skill 之后,Agent 会自己判断要不要新建 worktree、怎么并行处理几个分支的改动,多分支并行开发时是真的省心。dbg:系统性调试工具。这个 Skill 的价值在于它把调试流程固化成了一套方法论:先复现、再定位、加日志、验证假设、最后修复。比起让 Agent 直接“乱猜”问题原因,这个流程的定位成功率明显更高。papers:读论文、整理技术调研报告。如果你的工作里有技术预研环节,这个 Skill 能帮你把一篇论文拆成背景、方法、结论、可借鉴点,输出格式非常清爽。
安装 superpowers 的方式也不复杂,官方仓库提供了安装脚本,会把它装到 Claude Code 的 skills 目录里。装完之后,你在对话里提到“写文档”“调试这个 bug”“并行处理分支”之类的需求时,Agent 就会自动调用对应的技能。
2.2 webapp-testing:让 Agent 真正“看见”页面,而不是瞎猜
这个 Skill 我愿称之为前端开发者的刚需。用过 Coding Agent 写前端的人应该都有经验:以前让 Agent 改一个页面,它改完代码就告诉你“应该没问题”,你有没有一种“你也没打开浏览器看过,你怎么知道没问题”的无语感。
webapp-testing 解决的就是这个问题。它让 Agent 能够启动本地开发服务器,用浏览器自动化工具打开页面,执行一系列用户操作,然后截图、对比视觉结果,甚至做回归测试。前端页面的改动效果是“眼见为实”的,Agent 能自己看到页面长什么样,调试效率完全不一样。
我印象最深的一次是,我让 Agent 修复一个响应式布局在移动端溢出屏幕的问题。它先用浏览器工具打开页面,模拟 iPhone 尺寸,截了图,发现横向滚动条确实存在,然后定位到是一个固定宽度容器导致的问题,改完代码之后再截图验证。整个过程没人盯着,最后给我的是一张“修复前”和“修复后”的对比图,非常直观。
这个 Skill 在 Anthropic 官方仓库里就有,属于官方维护、持续更新的那一类,质量有保障。如果你用的是 Claude Code,直接按官方 README 装就行。因为底层的浏览器自动化需要依赖 Playwright,首次运行时要先装好浏览器内核,这个细节我后面在避坑部分会再提。
2.3 memory:给 Agent 装上“跨会话的长期大脑”
这是被很多人低估的一个 Skill,但它恰恰是 Coding Agent 从“玩具”走向“生产力工具”的关键一环。Coding Agent 最大的硬伤就是新开一个会话就失忆,昨天刚定下的架构决策、今天早上刚约定的命名规范,一刷新全没了。
memory 类 Skill 的解决思路很简单:把需要长期记忆的信息写到项目里的一个固定文件(比如 memory.md 或者 AGENTS.md)中,然后在每次会话开始时让 Agent 读取这个文件。这样一来,Agent 虽然模型本身没有记忆,但它通过文件实现了“外部记忆”。
我现在的用法是:每个项目都挂一个 memory Skill,然后在项目根目录维护一份项目备忘,记录技术选型原因、模块边界、已知坑、约定俗成的写法。每次会话开始,我先说一句“读取项目记忆”,Agent 就会把备忘里的关键信息加载进上下文。长期维护下来,你会发现 Agent 犯低级错误的频率显著降低,因为它能“记住”你踩过的坑了。
社区里这类 Skill 非常多,名字也五花八门,有的叫 memory-bank,有的叫 project-memory。选一个 star 数高、更新频率正常的即可,核心逻辑都差不多,不必太纠结选哪个。
2.4 frontend-design:从设计稿到可运行代码的翻译官
这个 Skill 解决的是又一个前端高频痛点:拿到设计稿、或者一个参考截图,让 Agent 照着实现页面。裸模型的问题在于它对“设计还原”这件事缺少系统性的方法论,经常把间距、字号、颜色还原得七七八八,但细节总是差一口气。
frontend-design 类 Skill 通常会内置几个关键能力:分析布局结构、识别设计规范(色值、字体、间距)、选择合理的 CSS 实现方案、处理响应式断点。比纯靠模型“临场发挥”稳定得多。
我拿一张比较复杂的仪表盘设计稿试过一次,Agent 输出页面的视觉还原度至少有九成,之前没用这个 Skill 的时候可能只有七成。这个差异在做 To B 后台、数据可视化大屏这类对细节要求高的场景里非常明显。社区里这类 Skill 很多是围绕 Tailwind、shadcn/ui 这些主流方案写的,你按自己项目的技术栈挑一个就好。
2.5 code-review:不睡觉也不摸鱼的 PR 审查官
代码审查这件事,理论上每个团队都知道该做,实际上总是因为忙而流于形式。code-review 类 Skill 能把这件事的底线给兜住。
它的工作方式大致是:在 PR 创建后,Agent 读取 diff 和相关文件,按预设维度逐项检查,包括但不限于:潜在的逻辑漏洞、边界条件缺失、性能隐患、安全问题(比如硬编码密钥、SQL 注入)、可读性和命名问题、测试覆盖是否合理。最后输出一份结构化的审查意见,标注严重程度和修改建议。
我自己在开源项目里用它审过几次 PR,发现了几个我差点漏掉的隐患。其中一个是在并发场景下的竞态条件——这种问题靠肉眼快速 reading 真的很容易跳过,但 Skill 会把“并发安全”列入检查清单,反而成了最可靠的一环。
使用建议是:别指望它完全替代人工审查,但把它当成一道强制检查关卡非常合适。代码合入主分支前先过一遍 Agent 审查,把低级问题过滤掉,人工 reviewer 只需要关注架构和设计层面,效率能提升一大截。
2.6 unit-test-generator:从“不想写测试”到“测试自动补全”
写单元测试大概是大多数开发者最不喜欢的任务之一,但它又偏偏是保证代码质量不可跳过的一环。unit-test-generator 这类 Skill 的存在意义,就是把这件让人抗拒的事变得不那么痛苦。
它的典型工作流是:你指定一个函数或模块,Agent 会先分析这个代码单元的输入输出、边界条件、异常分支、外部依赖,然后生成对应的测试用例,最后还能帮你跑一遍,把失败的用例标出来。更实用的是覆盖率补全功能:你跑完覆盖率报告之后,把低覆盖率的文件丢给它,它能根据未覆盖的行分行生成补充用例。
我有一次重构一个状态管理模块,几十个函数,手动写测试估计得半天。用这个 Skill 跑了一遍,生成了一大半用例,我再手工补了几个关键业务场景,覆盖率直接到了 85% 以上。这种体验,用过一次就很难再回去了。
2.7 docify:给老项目补文档的救火队员
老项目、遗留代码、文档缺失,这三个词放在一起就是开发者的噩梦。docify 的价值在给这种项目“补课”的时候最明显。
它做的核心事情是:扫描项目目录结构、阅读关键模块的代码、提取出核心逻辑和对外接口,然后生成文档。如果项目里已经有部分注释,它会把这些注释也整合进来,而不是另起炉灶。生成的文档包括但不限于:项目 README、模块结构说明、核心 API 文档、环境变量说明、启动与构建命令。
这个 Skill 有一个特别好的习惯:它在动手之前会先问你一句“这份文档的受众是谁”,然后根据受众调整文档的深度和语气。给非技术 stakeholders 看的概览和给新入职工程师看的开发文档,完全不是一个写法。这个细节很体现功力。
2.8 github-workflow:把 GitHub 日常操作变成一句话指令
如果你的日常工作离不开 GitHub,那你一定会喜欢这个 Skill。它把 GitHub 上那些高频的、重复性的操作整合成了 Agent 可以调用的能力:创建 Issue、分配任务、操作 PR、触发 CI、合并分支、生成 release notes。
最实用的一个功能是自动生成 release notes。以前发版本之前,我总要手动把 PR 列表翻一遍,按类型归类,整理成发布说明。现在只要让 Agent 对比两个 tag 之间的提交记录和 PR,它就能自动生成一份按 feature、fix、docs、refactor 分类的更新日志。虽然偶尔需要人工润色一下措辞,但骨架已经省了我八成的时间。
如果你在维护开源项目,或者团队里用 GitHub 做协作中枢,这个 Skill 至少能把每天点网页的时间省下一半。
2.9 data-analysis:让 Agent 当你的临时数据分析师
数据分析和 Coding Agent 的搭配,可能不如前端开发那么显眼,但实际用起来非常香。data-analysis 类 Skill 通常涵盖数据读取、清洗、统计分析和可视化图表生成。
我之前处理一份几十万行的业务日志,自然语言描述需求,它用 Python 完成数据清洗,筛出异常记录,画了几张趋势图,最后还生成了一段分析结论。整个过程不用我手动切到 Jupyter 或者写独立脚本,在同一个对话流里就完成了。对“临时要看个趋势、拉个指标”的场景来说,这足够高效了。
这类 Skill 通常会约定输出格式:代码、图表、结论三段式,方便你复制图表路径直接贴到文档或周报里。如果你经常处理数据类需求,值得专门配一个。
2.10 storyboard(分镜):从文字脚本到视频画面的桥梁
这个 Skill 之所以入选,是因为它代表了 Coding Agent 能力向非编程领域渗透的趋势。现在做短视频、课程视频、产品宣传片都离不开分镜脚本,但大部分人写分镜全靠经验,没有系统方法论。
storyboard 类 Skill 做的事情是:输入一段文案或者视频脚本,它会按“镜头序号、景别、画面描述、台词/旁白、时长、转场方式”这几个要素,生成一份完整的分镜脚本。你甚至可以选择风格风格模式,比如电影叙事风格、快节奏带货风格、知识口播风格,输出结构完全不同。
我拿一段五分钟的产品介绍文案试过,生成的脚本逻辑顺、镜头切换合理,甚至标注了在哪里插入字幕、在哪里变焦强调重点。创意类团队可以把它当做一个快速出初稿的工具,先让 Agent 搭好骨架,你再往里填血肉,效率高很多。
2.11 怎么按自己和团队情况选型:不是装得越多越好
看完这 10 个 Skills,你可能会产生一种“全都要”的冲动。但我还是要劝你克制一点。我自己的经验是:选型要围绕“最近一个月最头疼的重复性工作是什么”来定。如果你每天都在手动写测试,那 unit-test-generator 就值得装;如果你压根不碰视频,storyboard 再酷也跟你没关系。先解决实际痛点,再考虑锦上添花。
另外一个原则是:优先选官方维护的、star 数高的、最近半年内还有更新的 Skill。一个不维护的 Skill 在 Agent 工具升级之后很可能就悄悄失效了,排查起来非常烦人。我会在下一节专门说优质来源和避坑标准。
3. 优质来源盘点:官方、社区与个人创作者
Skills 的生态发展速度很快,但来源质量参差不齐。找错一个维护糟糕的 Skill,搭进去的调试时间可能比你自己写一个还多。这一节我把目前可信度较高的几个来源渠道梳理一下,方便你少走弯路。
3.1 官方仓库:质量最稳的起点
目前最值得优先关注的官方来源是 Anthropic 的官方 Skills 仓库。它里面收录了一批由官方团队维护的高质量技能,比如前面提到的 webapp-testing,还有处理 PDF、Word、Excel、PPT 这类办公文档的技能。这些技能的特点是非常“克制”,不追求花哨,核心目标是把某件事做扎实。文档和示例也写得很清楚,非常适合新手入门的第一个 Skill。
另外,OpenCode 官方也维护了自己的 Skills 仓库,里面有不少围绕独立开发工作流的技能,和它的命令行工具配合得很好。如果你主用 OpenCode,建议先翻翻它官方仓库里有什么能直接用的。
3.2 GitHub 聚合仓库:一个入口逛遍社区精华
GitHub 上有不少“awesome”系列的聚合仓库,专门收录优秀的 Skills。这类仓库的维护者一般会写清每个 Skill 的用途、特点、安装方式和 star 数,相当于一个经过人工筛选的索引页。我每周会花点时间翻一翻这些聚合列表,看到有意思的再点进去看详情,比自己漫无目的地搜索高效得多。
除了聚合仓库,直接搜 GitHub 的 topics 标签(比如 agent-skills、claude-skills、codex-skills)也是好办法。我建议关注两个筛选条件:一是最近 30 天内有 commit,说明作者还在维护;二是 README 里要有清晰的使用说明和安装步骤,连 README 都懒得写好的 Skill,跑起来大概率也是一堆坑。
3.3 值得关注的人与榜单:社区里的高产出作者
社区里有几个个人作者的作品质量非常稳,值得你单独关注。前面提到的 Jesse Vincent(GitHub 上叫 obra),他的 superpowers 系列基本是社区标杆。另一个是 Matt Pocock,TypeScript 圈子里很出名的开发者,他的 Skills 偏前端与类型安全方向,做 Next.js、TypeScript 项目的人应该会很喜欢。
此外,现在社区里开始出现专门给 Skills 打分的评测榜单,比如我在热搜词里看到的“月老skills打分”这类渠道,会从实用性、稳定性、文档完整度等角度给 Skills 评分。这类打分的引入其实是好事,因为 Skills 生态最大的问题就是鱼龙混杂,有评测体系能帮大家减少筛选成本。我会定期看这种榜单,看看有没有新出现的高分技能。
3.4 中文生态与平台内建的 Skills
国内平台也注意到了 Skills 这个方向。比如火山引擎这类平台在 Agent 编排上也在做类似的能力,把技能挂载和任务规划(plan)结合起来,在 coding plan 里直接调用挂载的技能。对中文用户来说,这类平台的文档和案例更贴近本地开发语境,遇到问题也更好搜解决方案。
值得注意的是,国内生态的 Skills 很多会包含中文的触发词和描述,对中文项目兼容性更好。社区里也有人在搬运和汉化国外优秀的 Skills 到国内平台。我的建议是:中文生态渠道可以作为“本地化补充”,但核心 Skills 还是优先选择官方源或者高 star 的 GitHub 项目,毕竟这些经过了更长时间和更多用户的检验。
4. 安装与启用实操:Claude Code、Codex、OpenCode 三端通吃
看完推荐和来源,最实用的部分来了:怎么装、怎么用。这一节我直接讲通用安装逻辑和三端的具体操作,确保你照做就能跑起来。
4.1 通用目录结构与 SKILL.md 标准格式
首先你得明白,无论哪个工具,一个 Skill 的本质都是一个目录加一个 SKILL.md 文件。目录名就是技能名,目录里可以放辅助资源(比如模板、示例代码、参考文档),但关键文件只有一个,就是 SKILL.md。
标准格式通常包含两部分:
第一部分是 YAML frontmatter,用 --- 包起来,里面定义元信息,核心是 name(技能名)和 description(技能描述)。description 是重中之重,因为 Agent 判断是否该触发这个技能,全靠读 description。用大白话说就是:你得让 Agent 一看描述就知道“哦,这个场景我该上这个技能了”。
第二部分是 Markdown 正文,一般包含:这个技能用来干什么、操作步骤是什么、注意事项有哪些、最好再给一两个示例。Agent 被触发后就是照着这个正文去执行的,所以步骤要写清楚、操作要可执行。
举个例子,一个最简单的测试用例生成 Skill 的 SKILL.md 长得像这样:
code复制---
name: unit-test-generator
description: 当用户需要对某个函数或模块生成单元测试、补充测试用例、提高测试覆盖率时使用。输入是代码文件路径,输出是测试代码和运行结果。
---
# 单元测试生成技能
## 能力范围
- 为指定函数生成含边界值、异常分支的测试用例
- 基于覆盖率报告补充未覆盖分支
- 自动运行测试并反馈结果
## 操作步骤
1. 读取目标文件,分析所有导出函数和输入输出
2. 识别外部依赖和 mock 策略
3. 生成测试文件
4. 运行测试命令,修复失败用例
5. 输出测试报告
## 注意事项
- 测试文件名与目标文件保持相同前缀
- mock 外部服务,不允许真实网络请求
这个格式你记在心里,看任何一款工具的 Skills 文档都会觉得似曾相识,因为底层逻辑已经逐渐成为行业共识了。
4.2 Claude Code 安装流程:个人级与项目级两种范围
Claude Code 是目前对 Skills 支持最成熟、文档最完善的工具之一。它支持两种安装范围:
个人级就是把 Skill 放到全局目录 ~/.claude/skills/ 下,所有项目都能用。适合装那些通用的、跟项目无关的技能,比如 docify、unit-test-generator。安装方式很简单,把下载下来的 Skill 目录整个复制进去就行:
code复制mkdir -p ~/.claude/skills
cp -r ./unit-test-generator ~/.claude/skills/
项目级是把 Skill 放到项目根目录的 .claude/skills/ 下,只有这个项目能用。适合放那些跟项目强相关的技能,比如项目专属的代码规范、测试策略、发布流程。项目级的好处是可以通过 git 跟代码一起提交,团队其他人拉下来就自动生效:
code复制mkdir -p .claude/skills
cp -r ./team-coding-standards .claude/skills/
装好之后,你可以在对话里直接说“有哪些技能可用”,Agent 会列出它当前能感知到的技能清单。如果在清单里看到了你刚装进去的 Skill,说明安装成功。
4.3 Codex 安装演示:命令行时代的新玩法
Codex 作为命令行工作流里的重头戏,对 Skills 的支持也跟了上来。安装逻辑和 Claude Code 类似,目录在 ~/.codex/skills/ 或者项目根目录的 .codex/skills/,怎么选范围看你的需求。
我自己的习惯是:个人开发工具类的放全局,项目相关的放项目里。比如我在全局目录放了 data-analysis,这样不管在哪个项目里处理数据,它都能直接用:
code复制cp -r ./data-analysis ~/.codex/skills/
Codex 有一点做得比较好:它提供了比较明确的命令来管理技能,比如用 /skills 命令可以查看当前已加载的技能列表。装完不放心的时候,敲一下这个命令就知道有没有成功。另外,Codex 对技能的触发是动态的,描述写得好不好直接决定触发率,所以社区里有个说法:Codex 用户花在打磨 description 上的时间,可能比写技能本身的时间还长。
4.4 OpenCode 与更多工具的安装方式:路径不同,逻辑相同
OpenCode 的 Skills 概念和目录结构很像,只是路径换成了 OpenCode 的配置目录(一般在 ~/.config/opencode/skills/ 或者项目 .opencode/skills/)。其他工具的差异也基本只是路径不同,核心的 SKILL.md 结构完全一致。
所以我的建议是:第一次接触一个新工具时,先花五分钟查一下官方文档里 Skills 的推荐目录,然后把 Skill 目录复制过去。绝大多数工具都支持“放目录即可识别”,不需要额外改什么配置文件。这也正是 Skills 这种文本驱动设计的优势,跨工具迁移成本极低。
如果你用的是国内平台,流程也类似,一般是在平台的 Agent 配置或技能管理界面里上传或关联技能目录。有些平台还提供可视化编辑 skills 的功能,照着表单填 description 和内容就行,门槛更低。
4.5 安装之后如何快速验证是不是真的生效了
装完技能最怕什么?最怕你以为装好了,实际 Agent 根本没加载。所以我强烈建议你做一个标准的“触发验证”:在对话里给一个明确的、与该技能描述匹配的任务,看 Agent 是否做出了符合该技能流程的响应。
比如你装了 webapp-testing,你就说“帮我启动项目并跑一遍首页的冒烟测试”。如果 Agent 真的去启动服务、打开浏览器、执行检查并输出截图,那说明技能生效了。如果它只是对着代码干瞪眼、输出一段“我建议你手动测试”的废话,那大概率是没加载到。
另外一个小技巧:很多工具支持手动指定技能,在 prompt 里通过 @技能名 或者类似的语法强制 Agent 使用。验证时用这种方式最明确,绕开了“Agent 判断是否触发”的不确定性,直接看技能本身能不能工作。
5. 我把 Skills 用崩之后总结的避坑经验
最后这部分,我想聊的不是“别人怎么踩坑”,而是我自己这几阶段实测下来真正被坑过的经历。Skills 本身不难,难的是那些“看似没问题但实际就是不对”的细节。
5.1 装了不生效?先查这三个地方
几乎所有 Skills 不生效的问题,最后都能归结到三个原因上,排查顺序也是固定的。
第一个原因:路径放错了。这是最高频的问题。有的工具要求放全局目录,有的放项目目录,还有的仅支持特定子目录。放错地方工具根本不会扫描,Skill 自然“隐身”。排查办法是回到官方文档对照目录,确认路径,同时检查目录层级——有些 Skill 下载下来是嵌套的,比如 xxx/skill-name/SKILL.md,你可能整个外层目录都复制进去了,导致工具找不到 SKILL.md。
第二个原因:SKILL.md 的格式不对。最常见的是 frontmatter 漏了 ---、name 写错、description 为空,或者 frontmatter 与正文之间缺少空行。解析失败时 Agent 可能直接忽略整个 Skill,还不会报错,非常隐蔽。我自己的教训是:写完后用文本编辑器打开看一眼,确认 frontmatter 是完整闭合的,再做验证。
第三个原因:description 写得太模糊,Agent 判断不了该不该触发。比如你只写“Generate tests”,Agent 在具体场景里不一定能把这个描述跟当前任务关联起来。好的描述应该包含触发场景、输入、输出。我改完一个 Skill 的描述之后,触发率从不到一半提升到了八九成,差异就是这么大。
5.2 Skills 不是越多越好:上下文膨胀会反噬你的效率
这是我在一台配置不低的开发机上装了几十个 Skills 之后踩出来的教训。表面上看,多装几个技能无非是多几个文件,没什么坏处。但实际操作里,Agent 在每次任务开始时都需要扫描一遍所有可用 Skills 的描述,来决定要不要触发哪一个。
当技能数量到了几十个量级,每个任务的“决策成本”就明显上升了:响应变慢、token 消耗变多,最坑的是 Agent 偶尔会选错技能——把文档生成任务交给了代码审查技能,输出一团乱麻。这就像给一个员工发了五十本操作手册,他反而不知道该按哪本来。
我的建议是:在单个项目里,核心 Skills 控制在 5 个以内。通用且低频的技能放在全局目录,项目相关的技能放在项目目录,用的时候再挂载,而不是把所有技能一股脑全装进去。
5.3 Skills、Rules 与 AGENTS.md 的职责边界必须分清
这是团队协作时最容易搞混的一件事。很多团队把代码规范、命名约定、架构约束全都塞进 Skill 里,然后发现 Agent 并没有严格遵守,就以为 Skill 失效了。其实不是失效,是职责放错了地方。
简单来说,AGENTS.md 或 Rules 类文件管的是“你在这个项目里是谁、以什么方式和规范干活”,它是常驻的项目上下文;而 Skill 管的是“某个特定任务该怎么一步步完成”,是任务级的方法论。项目规范应该放在 AGENTS.md 里,让它时刻存在;具体到“如何做 code review”这种流程,才应该做成 Skill。
我见过一个团队把编码规范写成一个 Skill,然后发现每次 Agent 处理“写代码”这个通用任务时都不一定能触发它,因为 Skill 触发依赖 description 跟当前任务的匹配度。后来他们把规范挪到 AGENTS.md,把“执行审查的流程”留在 Skill,问题立刻解决了。职责边界理清楚,很多怪问题会自然消失。
5.4 安全边界:第三方 Skills 能执行代码,审查要跟上
Skills 一大特征是能驱动 Agent 执行命令、读写文件、调用工具,这也是它强大的原因。但这也意味着:一个恶意的或者有 bug 的 Skill,能让你的 Agent 做出一些你不想看到的事情,比如删除文件、执行不受信任的脚本,或者把代码推到远程仓库。
所以我给自己定了几条规矩:第一,第三方 Skill 安装之前先读一遍 SKILL.md,确认没有可疑命令;第二,只在沙箱环境或测试分支上试用新 Skill,没问题再纳入正式工作流;第三,跑任何自动化测试或脚本之前,手动确认目标分支和路径,别让 Agent 把测试变更直接推到主分支。尤其对于从网上仓促下载、没仔细看内容的 Skill,第一条尤其重要。
5.5 中英文描述与触发词的本地化问题
中文用户经常会遇到一个尴尬情况:装了一个很棒的英文 Skill,但你在跟 Agent 对话时用的是中文,Agent 常常会把当前任务和英文描述的 Skill 匹配不上,技能触发率很低。这不是技能本身不行,而是触发匹配出了问题。
解决办法有两个:要么主动用英文关键词去触发,要么提前在 SKILL.md 的 description 里补一行中文触发词。比如在一个文档生成 Skill 的描述末尾加一句“当用户需要生成文档、更新 README、整理注释时使用”,匹配率立刻提升。我是建议所有在中文团队里使用的 Skill,都做一遍这个“本地化触发词”处理,收益立竿见影。
最后分享一点我这段时间的实际体会
把 Skills 真正用起来之后,我最大的感受不是 Agent 变聪明了,而是它变得“可预期”了。没有 Skills 的时候,同一个 Agent 的输出质量波动很大,跟开盲盒一样;挂上合适的 Skills 之后,它面对特定任务的行为是稳定的、可复现的,这比一次两次让人惊艳更重要。换句话说,Skills 的作用不是上限突破,而是把下限抬高了,这恰恰是工程上最看重的事情。
另外一个体会是:Skills 生态会越来越像早期 VS Code 的插件市场,好货集中在少数几个高信用作者身上,绝大多数新出的技能都是重复造轮子。我现在挑新技能的时候,已经不会看到 star 数高就盲目装了,而是先看维护活跃度、看 description 质量、再在沙箱里跑一遍验证流程。这套筛选逻辑你也可以直接用。如果你打算给团队铺开用,我更建议维护一个内部的 team-skills 仓库,把项目规范、测试约定、发布流程这些沉淀成自有 Skill,让 Agent 真正成为“懂你团队”的开发伙伴,那才是这套玩法真正值钱的地方。
