作者Tort Mario翻译陈超校对陈超 本文约3300字建议阅读6分钟 本文介绍了在Claude当中的skill插件是如何使用并且完成工作的。关键词Claude Code, AI, skillSkill已迅速成为ClaudeCode中最流行的插件之一。它们灵活、易于创建、易于分享。但是灵活性也让他们变得难以理解。什么最好用应该创建哪些Skill如何写一个好的Skill什么时候与他人分享是有意义的什么是Skill如果你对skill完全陌生我建议阅读官方文档(https://docs.anthropic.com/)或参加我们在Agent SKills(https://skilljar.com/)新的Skilljar 课程。本指南假设你对Skill已经有基本的了解。一个常见的误解是认为skill“只是 Markdown 文件”。实际上最强大的部分是它们是文件夹——它们可以包含脚本、资源、数据等等。智能代理可以发现、探索并使用其中的所有内容。在 Claude Code 中skill还支持丰富的配置选项包括动态挂钩。最有趣的skill是以非平凡的方式使用这些选项和文件夹结构。Skill类型在分析了我们的内部skill之后我们注意到它们可以分为几个重复的类别。最好的skill可以清晰地归入其中一个类别。那些模糊跨多个类别的skill往往会让智能代理和用户都感到困惑。这个列表并不全面但它有助于识别你自己的skill中可能缺失的部分。1. 库API 参考通常与外部工具一起使用如 Playwright、tmux 等。这些对于正确性非常有价值。通常值得让一名工程师花一周时间来完善一个。Claude Code 处理起来有困难的公共库。通常包括一个 examples/ 文件夹和已知问题列表。例子billing-lib— 你的内部billing库的边界情况和陷阱internal-platform-cli— 你 CLI 的所有子命令及示例frontend-design— 使用你的设计系统改进 Claude 的工作2. 产品验证Skill描述如何测试并验证代码行为。通常与Playwright、tmux 等外部工具一起使用。这些对于正确性非常有价值。通常值得让一名工程师花一周时间来完善。例子signup-flow-driver— 在无头浏览器中运行注册 → 邮件确认 → 入职流程并进行断言checkout-verifier— 使用 Stripe 测试卡检查发票状态tmux-cli-driver— 需要 TTY 的交互式命令行测试3. 数据提取分析与数据和监控堆栈相关的skill。可能包含用于通过凭据、仪表板 ID 获取数据的库以及常用工作流程的说明。例子funnel-query— 哪些事件参与了注册 → 激活 → 支付以及一个规范的 user_id 表cohort-compare— 比较两个群体之间的留存/转化率及其统计显著性grafana— 数据源 UID、集群名称、问题 → 仪表盘映射4. 业务流程与团队自动化自动化重复工作流程的skill。通常是简单指令但它们可能依赖于其他skill或MCP。将过去的运行结果存储在日志文件中很有用——这有助于模型保持一致性并回忆先前的上下文。例子standup-post— 汇总任务跟踪器、GitHub 活动、Slack → 格式化standup仅变化的内容create-ticket—执行架构枚举、必填字段和后续操作提醒审核者、Slack 链接weekly-recap—合并请求 已关闭的工单 部署 → 格式化每周总结5. 代码模版脚手架用于为代码库中特定功能生成框架样板的skill。可以与可组合脚本结合使用。尤其在脚手架包含仅靠代码无法覆盖的自然语言需求时非常有用。例子new-workflow— 使用注解搭建新的服务 / 工作流 / 处理器new-migration— 迁移文件模板 常见陷阱create-app— 带预配置认证、日志记录和部署设置的新内部应用6. 代码质量代码审查强化质量标准并协助审查的skill。可能包括用于最大可靠性的确定性脚本或工具。可以通过钩子或 GitHub Actions 自动运行。例子adversarial-review — 生成一个子代理以进行“新视角”批评应用修复迭代直到反馈变得微不足道code-style — 强制执行Claude默认处理不佳的风格testing-practices— 关于编写测试和测试内容的指导7. CI/CD部署获取、发送和部署代码的skill。可能参考用于数据收集的其他skill。例子babysit-pr — 监控 PR → 重试不稳定的 CI → 解决合并冲突 → 启用自动合并deploy-Service— 构建 → 烟雾测试 → 渐进式流量转移并比较错误率 → 回归时自动回滚cherry-pick-prod— 独立工作树 → cherry-pick → 冲突解决 → 从模板创建 PR8. 操作手册skill是指能够接收一个症状Slack 线程、告警、错误特征、在多个工具中进行调查并生成结构化报告的能力。例子service-debugging— 将症状映射到工具和查询模式用于你最繁忙的服务oncall-runner— 接收告警 → 检查常见问题 → 输出报告log-correlator— 给定请求 ID从处理该请求的所有系统中提取匹配的日志9. 基础设施运维日常维护和操作程序的skill。有些包括破坏性操作——有助于增加安全防护。在关键操作期间它们使遵循最佳实践更容易。例子resource-orphans— 查找孤立的 pods/volumes → 发布到 Slack → 冷却 → 用户确认 → 级联清理dependency-management— 你的内部依赖审批流程cost-investigation— 为什么你的存储/出口费用增加具体的存储桶和请求模式建立好skill的秘诀一旦你确定了所需的skill类型下一个合乎逻辑的问题是“我到底该如何编写它”以下是我们总结的最佳实践。我们最近发布了一个skill开发器用于简化在Claude code中创建skill的方法。不要写显而易见的内容Claude Code 已经对你的代码库了解很多而且 Claude 通常在编程方面表现良好——包括许多标准方法。将你的skill放在推动Claude 超越默认思维的信息上。好的例子前端设计 skill。Anthropic 的一名工程师与用户反复迭代构建它以提升 Claude 的设计品味并避免使用像 Inter 字体和紫色渐变这样的陈词滥调。收集“突发情况”部分任何skill中最有价值的内容是“突发情况”部分——常见错误。它应基于Claude在使用你的skill时遇到的实际问题。理想情况下随着新问题的出现你会随着时间更新skill。使用文件系统渐进式呈现skill是一个文件夹而不仅仅是一个 Markdown 文件。将整个文件系统视为上下文工程工具。告诉 Claude 你的skill中存在哪些文件它会在适当的时候读取它们。最简单的形式是链接到其他 Markdown 文件例如references/api.md用于详细的函数签名。对于最终输出你可以在assets/中包含一个要复制的模板。包含参考文档、脚本和示例的文件夹可以帮助 Claude 更高效地工作。不要讲Claude封锁在僵硬的规则里Claude努力遵循指示并且由于skill经常被重复使用过于具体的指示可能会适得其反。给Claude提供所需的信息但要保留灵活性以适应每种情况。最初设置的计划有些skill在启动时需要用户提供上下文——例如要发布立会的 Slack 频道。好的做法在skill目录下的 config.json 中存储设置。如果配置缺失智能代理会询问用户。如果你需要带有选项的结构化问题请使用 AskUserQuestion 工具。description字段用于模型当会话开始时Claude Code 会收集所有可用skill及其描述的列表。Claude 使用此列表来判断“是否有适用于此请求的skill”描述不是摘要——它是一组条件用于确定何时应触发该skill。内存数据持久性有些skill通过将数据保存在自身内部来充当记忆存储——任何东西从只能追加的文本日志或 JSON 文件到 SQLite 数据库都可以。例如一个standup-post skill可以维护一个 standups.log 文件。在下一次运行时Claude 会读取其历史记录以确定自昨天以来发生了哪些变化。⚠️ skill目录中的数据可能在更新时被删除。请将 ${CLAUDE_PLUGIN_DATA} 用作每个插件的稳定目录。保留脚本生成代码Claude最强大的工具之一就是代码本身。脚本和库让Claude把它的步骤花在组合上——决定下一步做什么——而不是去实现样板文件。对于数据科学skill包括一个从事件源中提取数据的函数库。对于复杂的分析为Claude提供助手——它将动态生成脚本将这些函数组合成 “星期二发生了什么”的提示。需求挂钩skill可以包括只在被调用时激活并在会话中保持活跃的挂钩。将此用于可选的挂钩这些挂钩偶尔会很重要但如果总是开着的话会很烦人。例子/careful—经由Bash上的PreToolUse匹配器阻断rm -rfDROP TABLE, force-pushkubectl delete 仅在使用prod时需要/freeze—阻止指定目录之外的任何编辑/写入当你想添加日志但避免意外更改时非常适合调试分享skillskill的主要好处之一是与你的团队分享它们。两个主要的方式1.将skill提交到存储库(在/ .claude /skill2.创建一个插件并使用Claude Code插件市场对于致力于少量repo的小型团队将skill提交到repo中效果很好。但是承诺的skill稍微增加了模型的上下文。在规模上内部插件市场可以让你分发skill并让团队选择安装什么。管理市场你如何决定哪些skill可以进入市场人们是怎么决定的我们没有一个集中的团队来做这些决定。我们有机地发现有用的skill。如果你有一项skill想要提供给同事把它上传到GitHub上的sandbox文件夹并在Slack或论坛上分享链接。当一项skill变得流行这是作者决定的你可以打开PR将其转移到官方市场。警告很容易创建不良的或重复的skill所以发布前的一些管理机制是很重要的。Skill整合有时skill是相互依赖的——例如文件上传和CSV生成创建CSV并上传。依赖性管理还没有内置到市场或skill中但是您可以通过名称引用其他skill——如果安装了模型将调用它们。测量skill用法为了评估skill采用我们使用PreToolUse挂钩记录公司内部的skill使用情况示例代码可在文档中获得。这种方法有助于展现受欢迎的skill——或者那些不太常见的skill。结论skill是一种强大而灵活的原动力——但我们还为时尚早整个社区都在一起寻找最佳实践。把这篇文章看作是对我们有用的方法的收集而不是最终的规则手册。学习skill的最好方法是从小处开始进行实验看看什么适合你的工作流程。我们的大多数内部skill都是从几行代码和一个“突发情况”开始的然后随着Claude每次遇到新的边界情况时人们增加内容而得到改进。原文标题Skills for Claude Code: The Ultimate Guide froman Anthropic Engineer原文链接https://medium.com/tort_mario/skills-for-claude-code-the-ultimate-guide-from-an-anthropic-engineer-bcd66faaa2d6编辑于腾凯校对林亦霖译者简介陈超北京大学应用心理硕士数据分析爱好者。本科曾混迹于计算机专业后又在心理学的道路上不懈求索。在学习过程中越来越发现数据分析的应用范围之广希望通过所学输出一些有意义的工作很开心加入数据派大家庭保持谦逊保持渴望。翻译组招募信息工作内容需要一颗细致的心将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生或在海外从事相关工作或对自己外语水平有信心的朋友欢迎加入翻译小组。你能得到定期的翻译培训提高志愿者的翻译水平提高对于数据科学前沿的认知海外的朋友可以和国内技术应用发展保持联系THU数据派产学研的背景为志愿者带来好的发展机遇。其他福利来自于名企的数据科学工作者北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。点击文末“阅读原文”加入数据派团队~转载须知如需转载请在开篇显著位置注明作者和出处转自数据派IDDatapiTHU并在文章结尾放置数据派醒目二维码。有原创标识文章请发送【文章名称-待授权公众号名称及ID】至联系邮箱申请白名单授权并按要求编辑。发布后请将链接反馈至联系邮箱见下方。未经许可的转载以及改编者我们将依法追究其法律责任。关于我们数据派THU作为数据科学类公众号背靠清华大学大数据研究中心分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识努力建设数据人才聚集平台、打造中国大数据最强集团军。新浪微博数据派THU微信视频号数据派THU今日头条数据派THU点击“阅读原文”拥抱组织