Skills 开发
搜索文档
搞不懂Skills?看看Claude Code内部工程师们是怎么玩的
机器之心· 2026-03-20 13:21
文章核心观点 - Anthropic公司内部已在Claude Code中广泛使用Skills,目前有数百个Skills在实际运行中,它们是使用最广泛的扩展方式之一[5] - Skills不仅仅是Markdown文件,而是一个可以包含脚本、资源、数据的文件夹,为智能体提供发现、探索和操作的能力[8] - 文章旨在分享从内部实战中总结的关于Skills制作、使用、推广和分发的经验,而非权威指南,鼓励通过实践进行探索[3][4][6][75] Skills的类型与示例 - **库与API参考**:解释如何正确使用库、CLI或SDK,包含参考代码片段和常见问题避免方法[13] - **产品验证**:描述如何测试或验证代码是否正常工作,常与外部工具配合使用,对确保Claude输出正确非常有用[14][15] - **数据抓取与分析**:连接到数据和监控系统,包含通过凭证抓取数据的库以及常见工作流说明[17] - **业务流程与团队自动化**:将重复工作流自动化,可能有复杂依赖关系,将先前结果保存在日志文件中有助于保持模型一致性[18][19] - **代码脚手架与模板**:用于生成代码库中特定功能的框架模板,在自然语言要求无法仅通过代码覆盖时尤为有用[20] - **代码质量与审核**:强制执行组织中的代码质量并帮助审查代码,可包含确定性脚本或工具以确保稳健性[21] - **CI/CD与部署**:帮助在代码库内获取、推送和部署代码,可能引用其他Skills以收集数据[22] - **运行手册**:通过症状进行多工具调查,并生成结构化报告[26] - **基础设施操作**:执行常规的维护和操作程序,涉及需要有防护措施的破坏性操作,使工程师更容易遵循最佳实践[27] 制作Skills的技巧 - **不要陈述显而易见的内容**:Claude Code已了解很多默认知识,Skills应专注于能让Claude脱离正常思维方式的信息[32] - **构建陷阱(Gotchas)部分**:这是Skills中最有价值的部分,应基于Claude使用Skills时遇到的常见失败点构建,并随时间更新以保持有效性和准确性[35][37] - **利用文件系统和渐进式披露**:将整个文件系统视为上下文工程的方式,通过指向其他Markdown文件、在assets文件夹中包含模板文件等方式,帮助Claude更有效地工作[40][41][42][43] - **避免过度束缚Claude**:给予必要信息的同时保留灵活性,以适应不同情况,避免指令过于具体[44] - **思考Skills的设置**:对于需要用户上下文的Skills,可将设置信息存储在config.json文件中,或指示Claude使用AskUserQuestion工具呈现结构化多选问题[47][48][49] - **优化描述字段**:描述字段是给模型的,用于描述何时触发Skills的场景,是Claude决定是否有Skills能解决请求的依据[52] - **实现记忆与存储数据**:可通过在内部存储数据实现记忆功能,如使用文本日志文件、JSON文件或SQLite数据库,但需注意数据应存储在稳定文件夹中[55][56] - **存储脚本与生成代码**:提供脚本和库是给Claude最强大的工具之一,可让其专注于组合和决策,而非重建基础代码[57][58][59] - **使用按需钩子(On Demand Hooks)**:可包括仅在Skills被调用时激活的钩子,作用持续到会话结束,对于有强烈意见但不希望一直运行的功能特别有用[61][62] Skills的分发与管理 - **分享方式**:有两种方式分享Skills,一是将Skills检查到代码库中,二是创建插件并拥有Claude Code Plugin市场供用户上传和安装插件[64][65][67] - **管理市场**:Anthropic内部没有一个集中式团队决定哪些Skills进入市场,而是通过自然方式找到最有用的Skills,例如上传至GitHub沙箱文件夹并通过Slack分享,获得关注度后可提交PR移入市场[68][69] - **组合Skills**:Skills可以相互依赖,目前市场或Skills中没有内建依赖管理功能,但可以直接通过名称引用其他已安装的Skills[71] - **衡量效果**:使用PreToolUse钩子记录公司内Skills的使用情况,以发现哪些Skills受欢迎,哪些触发率低于预期[72][73]