最近这个圈子聊得最多的词,除了模型榜单,就是skills。我在Claude Code、Codex、OpenCode里都实测了一圈,GitHub上能翻的热门技能库也基本都翻过,这篇就把我从“会用”到“能写”的全过程捋清楚,包括怎么手动装GitHub上的skills、哪些场景值得直接抄作业、以及怎么从零写一个属于自己的AI Skill。如果你刚接触这个概念,或者已经装了几个skills但觉得“好像也没啥用”,这篇大概率能帮你少走弯路。
先说明白一件事:skills不是一个新工具,也不是某个模型的专属功能。它是一套让AI按固定流程执行复杂任务的“技能包”,本质上是把经验、步骤、规范和约束写成一个标准格式的文件,让模型在遇到对应场景时自动调用,而不是每次都要你从头教一遍。我个人的体验是,用不用skills,同一个模型用起来完全是两种手感——一个像听话的实习生,一个像熟手老员工。
1. 先搞清楚Skills到底是什么:它解决的不是“写提示词”的问题
1.1 从“每次都要教”到“一次定义终身复用”
很多人第一次听说skills,第一反应是“这不就是提示词模板吗”。我一开始也这么想,但用久了会发现完全不是一回事。提示词是每次对话时临时写给模型的指令,一次性、无结构、效果取决于你当时的表达能力。而skills是一个结构化的功能单元,通常包含一个SKILL.md文件,里面藏着触发条件、执行步骤、输出格式、避坑清单,甚至可以附带脚本。
我用一个生活化的类比来理解:提示词像你每次都跟新人解释“咖啡机怎么用、杯子放哪、加多少糖”,skills则是一份贴在咖啡机旁边的标准作业卡,新人看一眼就会做,而且每次做出来的味道都一样。
这也正是skills要解决的核心问题:让AI在特定场景下的表现从“随机发挥”变成“稳定发挥”。它不是让模型变聪明,而是把你的工作方法和行业经验固化下来,让模型在正确的时间用正确的方式执行。
1.2 Skills、MCP、Prompt一顿饭吃明白
如果你已经在接触AI编程工具,大概率还听过另一组名词:MCP、Agent、Prompt模板。它们之间的关系很多人容易搞混,我做成一张速查表:
| 名词 | 本质 | 类比 | 解决的问题 |
|---|---|---|---|
| Prompt | 一次性指令 | 跟同事说“帮我把这个表整理一下” | 单次任务,说清楚就能做 |
| Skills | 可复用的结构化技能包 | 给同事一份“报表模板+填写规范” | 让AI在特定场景稳定输出 |
| MCP | 连接外部工具和数据源的标准协议 | 给同事配电脑、开系统权限 | 让AI能动用外部资源 |
| Agent | 能自主规划并执行的智能体 | 把整个任务交给同事去办 | 让AI自己拆任务、调工具、出结果 |
从这个表里能看出,skills和MCP是互补关系:skills管“该怎么做”,MCP管“能用什么”。在典型的工作流里,Agent负责调度,skills负责指导执行逻辑,MCP负责打通数据或工具,Prompt只是临时补充。所以别再纠结“skills会不会取代MCP”,它们是配合着来的。
1.3 为什么这一轮模型能力提升后Skills突然爆发
Skills这个概念其实不算全新,以前在LangChain、AutoGPT时代就有类似雏形,但那会儿效果很一般。原因很简单:旧模型记不住长上下文,多个skill塞进去之后,模型分不清什么时候该用哪个。现在模型的长上下文能力和指令遵循能力都上来了,skills文件可以完整地放进上下文里,模型也能准确识别触发场景——于是Skills机制才真正变得可用。
另一个爆发原因是AI编程工具的竞争。Claude Code、Codex这类Agent产品都在抢“从代码到上线全流程自动化”的地盘,而skills正好是让Agent在具体项目里“干活像样”的关键一环。所以你会看到GitHub上各种awesome skills仓库、superpower skills、anthropics官方skills库,都在快速膨胀。
2. 动手实操:主流AI编程工具的Skills安装与配置
2.1 Claude Code:手动装GitHub上的Skills,就这几步
先以我日常主力Claude Code举例,因为它的Skills机制目前最完善,也最好排查。Claude Code的skills是放在用户级目录下的,默认路径是~/.claude/skills,每个skill一个子目录,目录里至少要有一个SKILL.md文件。
如果你在GitHub上看到一个skill仓库想手动装上,操作其实很朴素:
# 1. 先确认你的skills目录存在 mkdir -p ~/.claude/skills cd ~/.claude/skills # 2. 从GitHub克隆某个skill仓库 git clone https://github.com/xxx/awesome-skill.git # 3. 看一眼装进来的结构,确认SKILL.md在根目录 ls awesome-skill # 4. 重载Claude Code,然后检查skills是否被识别 claude skills list这里有个新手常踩的坑:克隆下来的仓库如果是一个“合集”,SKILL.md可能藏在子目录里,顶层根本没有。这时候要手动把对应的子目录移出来,变成~/.claude/skills/某个技能名/SKILL.md这种两层结构,否则Claude Code会加载失败。另外,如果仓库的目录名跟命令里暴露的名字不一致,建议改成简洁的kebab-case格式,比如code-review、>--- name:>--- name: code-review-checklist description: 当用户提交代码片段、Pull Request链接或要求进行代码走查、code review、CR时使用。输入需要包含待审查的代码或diff。 --- # 前端代码审查清单 ## 执行步骤 1. 列出本次审查涉及的文件和改动点。 2. 逐项检查以下维度: - 可读性:命名是否清晰、函数是否过长、是否有重复代码。 - 错误处理:网络请求、异步操作、外部输入是否有异常兜底。 - 边界条件:空数据、超长文本、并发操作的处理。 - 性能隐患:不必要的setState、大列表未分页、重渲染。 - 安全:dangerouslySetInnerHTML、用户输入是否经过校验。 - 可访问性:图片alt、键盘操作、对比度。 3. 按严重程度输出问题列表。 ## 输出格式 - 每个问题一行:文件路径 + 痛点描述 + 修改建议 + 严重级别(高/中/低)。 - 最后单独列出“可忽略/风格建议”部分,与“必须修改”分开。
写完之后跑一次试用,AI输出立刻变了,从“整体不错”变成“这里需要加空状态处理、那里接口错误没有catch”,这才叫代码审查。我的体会是:你希望AI按什么标准工作,就把标准原原本本写进去,不要指望它自己会“高级的专业判断”。
4.4 普通用户的学习路径:从拆解到迭代
对于从来没写过skills的人,我建议按这条路径上手:
- 先用再拆:选一个用得顺手的skill,读一遍它的SKILL.md,看它怎么组织内容,尤其注意description怎么写。
- 改一点试试:找个小skill,把输出格式改成你自己偏好的结构,测试改动后的效果差距。
- 写一个最小的:哪怕是“输入文章,输出摘要,要求三段式”这种几十行的小skill,完整走一遍“建目录→写SKILL.md→重启→触发测试”的闭环。
- 放进真实工作流中迭代:用一段时间,记录它没做好的案例,再回头补充负面约束。技能是高频率迭代出来的,不是一次写成的。
5. 常用Skills源网站与筛选思路
5.1 几个值得逛的仓库
现在skills的“货源”还没形成特别标准化的中央市场,主要散落在GitHub和个人博客里。我常逛的地方大概这几个:
- anthropics/skills:Anthropic官方仓库,质量最稳,适合作为学习范本。
- Superpowers项目:英文社区很知名的技能全家桶,你能从中找到各种场景的成熟skill设计。
- GitHub上搜“awesome-claude-skills”、“awesome-codex-skills”:聚合仓库,分类整理了一大批第三方skill,适合按主题浏览。
- 各类AIGC/NLP社区的技术帖和开源合集:有些精品skill会直接在文章里放出下载地址或仓库链接,这类往往更接地气,但需要自己甄别。
5.2 装之前怎么判断一个Skill靠不靠谱
我给自己的判断标准是“三看”:
- 看目录结构和文档完整性:有没有SKILL.md?有没有写清楚触发条件和执行步骤?缺这些基本等于废包。
- 看维护时间:半年没更新的skill,很可能已经跟不上最新模型的行为模式。模型能力集体上升之后,很多早期skill里“防止模型出错”的限制已经多余,反而束缚效果。
- 看使用者的反馈方式:项目README里的示例很好伪造,但Issues区有没有真实的使用反馈更说明问题。有“修不好、没法用”等负面issue还长期不解决的,直接避开。
6. 高频问题与排错实录
6.1 装完不生效:八成是这四个原因
我踩过各种不生效的坑,总结下来就四类:
- 目录层级不对:skill的SKILL.md必须在“技能目录的根目录”里,不能多套一层文件夹。
- 描述触发不了:description里的词跟你的自然表述完全对不上,模型没意识到该用这个技能。
- 没重启进程:很多工具只在启动时加载skills,运行中装好的当然不生效。
- 被其他指令优先级压过了:如果你的系统提示词或者父级配置里有强制性的输出格式,skill里的规范可能被覆盖,表现就是“装了像没装”。
排查顺序就是自上而下:先确认列表里有,再检查触发词,然后重启,最后看看是不是系统提示词在打架。
6.2 清理Skills的正确姿势:不要等变卡了才管
用的skills多了之后,每次对话塞进上下文的内容会越来越大,不仅浪费token,还会让模型“重点失焦”。社区里Tibo有一篇清理方法我实际操作过,思路很实用:
- 定期盘点已装skills:两个月一次,列出清单,标注每个skill最近有没有被触发过。
- 对无用技能“网开一面”但不删除:先移到
~/.claude/skills_disabled/这类禁用目录里,确认一个月内确实用不上再彻底删掉。 - 关注“体积超标”的skill:有些skill里带了大量示例和参考文档,一个SKILL.md几万字,这类是性能杀手,宁可拆成精简版。
- 清理后重新测试核心场景:别只删不改,删完跑一遍最常用的任务,确保缺失某个skill后AI的行为没发生意外劣化。
6.3 上下文膨胀:Skill装太多反而“变笨”
这是最容易被忽视的问题。很多人看到厉害的就装,一口气挂五十个技能,结果模型越来越“犹豫”,每一步都要在各个技能之间纠结。其实大部分Agent工具会把可用的skills列表和关键描述常驻在上下文里,技能数量一多,这个“目录”本身就占不少空间,还会干扰模型对当前任务的判断。
我的经验是:同时可用的活跃skills控制在5到10个为宜,其余全部禁用或移到备份目录。尤其不要同时挂一堆功能重叠的skill,比如已经有“前端代码审查”,又挂一个“通用代码审查”,模型大概率会混淆。想换技能时,用前面的禁用目录方案做切换,比反复卸载安装高效太多。
最后说一点个人的真心话:我自己刚开始折腾skills那会儿,也觉得“不就是把提示词存成文件”,直到某天把一套数学建模处理流程写成skill,比赛现场看着AI按步骤跑完数据清洗、特征工程和建模比选,才真正意识到这玩意的价值不在于“省几行字”,而在于把你自己擅长的方法论,稳定地复制到每一次使用里。如果你现在正处在“听说了但还没试”的阶段,我建议今晚就装一个你场景里最刚需的skill试试。先跑起来,再谈优化。