
来自 Claude Code 团队工程师的一手经验,揭秘 Anthropic 内部几百个 Skills 的分类体系、编写技巧和分发策略
Skills 已经成为 Claude Code 中使用最广泛的扩展点之一。它们灵活、容易制作,分发起来也很简单。但也正因为太灵活,你很难知道怎样用才最好。
本文作者 Thariq Shihipar 是 Anthropic 的 Claude Code 团队工程师,也是 Skills 功能的核心推动者之一。这篇文章的价值在于:它是来自 Anthropic 内部团队的实战总结。Anthropic 内部活跃使用的 Skills 已经有几百个,文中的分类体系和编写技巧都是从这些真实的内部实践中提炼出来的。

我们经常听到一个误解,认为 Skills "只不过是 markdown 文件"。但 Skills 最有意思的地方恰恰在于它们不只是文本文件——它们是文件夹,可以包含脚本、资源文件、数据等等,智能体可以发现、探索和使用这些内容。
在 Claude Code 中,Skills 还拥有丰富的配置选项,包括注册动态钩子(hooks)。我们发现,Claude Code 中最有意思的那些 Skills,往往就是创造性地利用了这些配置选项和文件夹结构。
在梳理了所有的 Skills 之后,我们注意到它们大致可以归为几个反复出现的类别。最好的 Skills 清晰地落在某一个类别里;让人困惑的 Skills 往往横跨了好几个。
帮助你正确使用某个库、命令行工具或 SDK 的 Skills。它们既可以针对内部库,也可以针对 Claude Code 偶尔会犯错的常用库。这类 Skills 通常会包含一个参考代码片段的文件夹,以及一份 Claude 在写代码时需要避免的踩坑点列表。
示例:
描述如何测试或验证代码是否正常工作的 Skills。通常会搭配 Playwright、tmux 等外部工具来完成验证。
验证类 Skills 对于确保 Claude 输出的正确性非常有用。值得安排一个工程师花上一周时间专门打磨你的验证 Skills。
示例:
连接你的数据和监控体系的 Skills。这类 Skills 可能会包含带有凭证的数据获取库、特定的仪表盘 ID 等,以及常用工作流和数据获取方式的说明。
示例:
把重复性工作流自动化为一条命令的 Skills。这类 Skills 通常指令比较简单,但可能会依赖其他 Skills 或 MCP(Model Context Protocol)。
示例:
为代码库中的特定功能生成框架样板代码的 Skills。当你的脚手架有自然语言需求、无法纯靠代码覆盖时,这类 Skills 特别有用。
示例:
在团队内部执行代码质量标准并辅助代码审查的 Skills。可以包含确定性的脚本或工具来保证最大的可靠性。
示例:
帮你拉取、推送和部署代码的 Skills。这类 Skills 可能会引用其他 Skills 来收集数据。
示例:
接收一个现象(比如一条 Slack 消息、一条告警或者一个错误特征),引导你走完多工具排查流程,最后生成结构化报告的 Skills。
示例:
执行日常维护和运维操作的 Skills——其中一些涉及破坏性操作,需要安全护栏。这些 Skills 让工程师在执行关键操作时更容易遵循最佳实践。
示例:

Claude Code 对你的代码库已经非常了解,Claude 本身对编程也很在行。如果你发布的 Skill 主要是提供知识,那就把重点放在能打破 Claude 常规思维模式的信息上。
例如,Anthropic 的 frontend-design Skill 专门避免那些典型的套路,比如 Inter 字体和紫色渐变。

任何 Skill 中信息量最大的部分就是踩坑点章节。这些章节应该根据 Claude 在使用你的 Skill 时遇到的常见失败点逐步积累起来。理想情况下,你会持续更新 Skill 来记录这些踩坑点。

Skill 是一个文件夹,不只是一个 markdown 文件。你应该把整个文件系统当作上下文工程和渐进式披露的工具。告诉 Claude 你的 Skill 里有哪些文件,它会在合适的时候去读取它们。
最简单的渐进式披露形式是指向其他 markdown 文件让 Claude 使用。例如,你可以把详细的函数签名和用法示例拆分到 references/api.md 里。

Claude 通常会努力遵循你的指令,而由于 Skills 的复用性很强,你需要注意不要把指令写得太具体。给 Claude 它需要的信息,但留给它适应具体情况的灵活性。

有些 Skills 可能需要用户提供上下文来完成初始设置。一个好的做法是把这些设置信息存在 Skill 目录下的 config.json 文件里。如果配置还没设置好,智能体就会向用户询问相关信息。

当 Claude Code 启动一个会话时,它会构建一份所有可用 Skills 及其描述的清单。Claude 通过扫描这份清单来判断"这个请求有没有对应的 Skill?"所以 description 字段不是摘要——它描述的是何时该触发这个 Skill。

有些 Skills 可以通过在内部存储数据来实现某种形式的记忆。你可以用最简单的方式——一个只追加写入的文本日志文件或 JSON 文件,也可以用更复杂的方式——比如 SQLite 数据库。
例如,一个 standup-post Skill 可以保留一份 standups.log,记录它写过的每一条站会汇报。这样下次运行时,Claude 会读取自己的历史记录,就能知道从昨天到现在发生了什么变化。

你能给 Claude 的最强大的工具之一就是代码。给 Claude 提供脚本和库,让它把精力花在组合编排上——决定下一步做什么,而不是重新构造样板代码。
例如,在你的数据科学 Skill 中,你可以放一组从事件源获取数据的函数库。Claude 就可以即时生成脚本来组合这些功能,完成更高级的分析。
Skills 最大的好处之一就是你可以把它们分享给团队的其他人。
你可以通过两种方式分享 Skills:
对于在较少代码仓库上协作的小团队,把 Skills 提交到仓库中就够用了。但每个提交进去的 Skill 都会给模型的上下文增加一点负担。随着规模扩大,内部插件市场可以让你分发 Skills,同时让团队成员自己决定安装哪些。
适合谁?
核心价值:
实施建议:
注意事项:
Skills 是 AI 智能体极其强大且灵活的工具,但这一切还处于早期阶段。理解 Skills 最好的方式就是动手开始做、不断试验、看看什么对你管用。大多数 Skills 一开始就是几行文字加一个踩坑点,后来因为大家不断补充 Claude 遇到的新边界情况,才慢慢变好的。

手把手教你使用开源的 AI 漫剧平台,从剧本生成、角色固定到分镜绘制,一站式制作高质量漫画。

阿里云推出移动端 AI Agent 产品 JVS Claw,基于 OpenClaw 架构,配备独立云电脑环境,支持手机遥控完成编程、信息整理等复杂任务

SceneMaker 是一个突破性的开源框架,能从单张图像生成完整的、带 Mesh 的 3D 场景,完美解决物体遮挡和空间位姿问题。