← 返回首页

Claude Code Skills
Anthropic 内部几百个 skill 沉淀下来的 7 条铁律

来源:小林coding · 2026年6月18日 · Anthropic 官方博客深度解读

📂
认知升级:skill 是文件夹,不是文件
🗂️
掌握 9 类 skill 分类
🎯
学会 写 Claude 会主动触发的 skill
⚠️
理解 坑点清单的含金量
7 问
深度拆解
9 类
Skill 分类
文件夹
不是 markdown
懒加载
触发机制

Q1:skill 不就是一份 markdown 吗?

这是最大的误解。

很多人以为 skill 就是一个写了操作步骤的 markdown 文件,Claude 需要的时候会去读。Anthropic 在博客里点名说了,这是最常见的误解。

skill 是什么?官方定义:一个文件夹。里面除了 SKILL.md,还可以放脚本、参考资料、数据文件、输出模板。Claude 能自己发现、探索和使用这些东西。
deploy-service/ ├── SKILL.md # 唯一必需 ├── references/ │ ├── api.md │ └── troubleshooting.md ├── scripts/ │ ├── smoke_test.sh │ └── rollback.sh └── assets/ └── release_note.md

子文件不会一股脑塞给 Claude,而是它干活干到哪一步,才自己去文件夹里翻。markdown 文件版 = 发微信说流程。文件夹版 = 一个完整工位:桌上有手册,抽屉有工具,墙上有便利贴。

skill 是文件夹,不是文件。这是用好它的第一步。

Q2:几百个 skill 最后只归成了 9 类

1. 库和 API 参考 2. 产品验证 3. 数据查询分析 4. 业务流程自动化 5. 代码脚手架 6. 代码质量与审查 7. CI/CD 与部署 8. Runbook 排障手册 9. 基础设施运维
按"这个活重复几次了"判断:干过两三次就值得做成 skill。

如果 9 类只能先做一类,官方给出了最掷地有声的结论:

第一优先级永远是验证。原话甚至说:值得让一个工程师花一整周,什么都不干,把验证类 skill 打磨到极致。
—— Anthropic 官方

Q3:为什么你写的 skill Claude 从来不触发?

因为 Claude 启动时根本不会读你的 skill。

Claude 只有在碰到代码操作、遇到不清楚的问题、或者觉得当前对话内容好像和某个 skill 描述相关时,才会去扫一眼文件夹名和 description。
—— Anthropic

触发关键:description 要精准覆盖真实痛点触发词要具体

skill 是被 Claude 主动拉取的,不是被动推送的。别把它当配置,要当它是一份简历。

Q4:含金量最高的是「坑点清单」

把发生过的事故、踩过的坑、翻过的车写进去,比任何正式文档都管用。
—— Anthropic
## 坑点清单 - ⚠️ YAML 缩进用了 tab,部署报 500 且日志不显示行号 - ⚠️ 数据库迁移脚本不能并行跑,会死锁 - ⚠️ 清理缓存前先确认没人在用,否则丢数据

好的坑点:有具体症状、有根因、有时序。

Q5:skill 还能有记忆、带脚本、挂临时 hook?

记忆(Active Memory)

skill 可以把关键信息写到项目根目录,跨对话读取。

脚本(scripts/)

现成工具包,Claude 执行时自动探索运行。

临时 hook

注册只在 skill 运行期间生效的 hook(拦截 git commit、deploy 后冒烟测试、对话结束时汇总日志)。

Q6:从本地走向团队

Git 仓库共享

放共享仓库里各自 clone。

项目内置 AGENTS.md

项目特有的规则写进 AGENTS.md,Claude 自动读取。

把团队沉淀下来的经验,变成每个人(包括 AI)都能直接调用的东西。

Q7:怎么知道 skill 有没有人用?

Anthropic 给每个 skill 做数据埋点:触发次数、执行路径、成功率。

如果一个 skill 一个月都没被触发过,不是 user 的问题,是 skill 本身的问题。要么描述不清,要么不解决真痛点。
—— Anthropic
被调用的 skill 才是好 skill。

📚 知识闪卡

{{ card.q }}
点击翻转
{{ card.a }}

✍️ 测验

{{ quizCorrect }}/{{ quizTotal }} 正确
{{ Math.round(quizCorrect/quizTotal*100) }}%
{{ qi+1 }}. {{ q.q }}
{{ opt }}
✅ 正确!❌ 答案是:{{ q.options[q.correct] }}
{{ currentLesson + 1 }} / {{ lessons.length }}