构建 Claude Code 的经验之谈:我们如何使用 Skills

📅 2026/7/26 16:45:12
构建 Claude Code 的经验之谈:我们如何使用 Skills
Skills 已经成为 Claude Code 中最常用的扩展点之一。它们灵活、易编写、易分发。但这种灵活性也让人难以把握怎么做才最好。哪些类型的 Skills 值得做一个 Skill 该怎么组织结构什么时候应该分享给别人在 Anthropic我们在 Claude Code 中大量使用 Skills目前活跃使用的有数百个。以下是我们用 Skills 加速开发过程中总结出的经验。一、什么是 SkillsSkills 是一个个文件夹里面装着指令、脚本和资源Agent 可以发现并使用它们从而更准确、更高效地完成任务。本文假设你已经了解 Skills 的基础概念如果是新手建议先学习我们在 Skilljar 上的《Agent Skills 入门》课程。关于 Skills我们常听到一个误解“不就是 Markdown 文件嘛”。实际上它们是文件夹里面可以包含脚本、资产、数据等Agent 能够发现、探索并操作这些内容。在 Claude Code 中Skills 还有丰富的配置选项包括注册动态钩子hooks等。我们发现Claude Code 中最高效的一些 Skills正是把这些配置选项和文件夹结构用得非常充分的那些。二、Skills 的九大类型在盘点完 Anthropic 内部所有的 Skills 之后我们发现它们可以归为九大类。最好的 Skills 都能干净利落地归入其中一类而那些想什么都干的 Skills 往往横跨好几类反而会让 Agent 困惑。这个清单并非权威定义但它是一个有用的框架可以帮你发现自己 Skills 库里的空白。配图说明Claude Code 团队对内部 Skills 做了分类发现它们可以归入九个截然不同的类别。经得起时间考验的 Skills都能干净地落入单一类别。库与 API 参考Library API Reference这类 Skills 讲解如何正确使用某个库、CLI 或 SDK。既可以是内部库也可以是 Claude Code 有时处理不好的常见库。这类 Skills 通常会附带一个参考代码片段文件夹以及一份 Claude 在写脚本时应当避开的坑清单。典型例子billing-lib 内部计费库边界情况、易踩的坑footguns等。internal-platform-cli 内部 CLI 封装工具的每个子命令附带使用场景示例。sandbox-proxy 配置组织的开发出口网关哪些主机可达、如何排查connection refused错误、如何添加白名单条目。产品验证Product Verification这类 Skills 描述如何测试或验证你的代码是否真正工作。它们常与 Playwright、tmux 或其他外部验证工具搭配使用。在 Anthropic 内部验证类 Skills 对 Claude 输出质量的提升是最可量化的。让一名工程师专门花一周时间把验证类 Skills 打磨到极致是完全值得的。可以考虑的技巧包括让 Claude 录屏记录它的操作过程这样你能精确看到它测试了什么或者在每一步强制执行程序化的状态断言。这些通常通过在 Skill 中内置多种脚本来实现。典型例子signup-flow-driver 在无头浏览器中跑通注册 → 邮箱验证 → 新手引导全流程并在每一步挂载状态断言钩子。checkout-verifier 用 Stripe 测试卡驱动结账 UI验证发票确实落入正确的状态。tmux-cli-driver 用于交互式 CLI 测试当你要验证的东西需要一个 TTY 终端时。数据获取与分析Data Analysis这类 Skills 连接你的数据与监控技术栈。它们可能包含带凭证的数据拉取库、特定的仪表盘 ID 等以及常见工作流或取数方式的说明。典型例子funnel-query “要看到 注册 → 激活 → 付费我需要关联哪些事件”外加真正存有权威 user_id 的那张表。cohort-compare 比较两个用户群的留存或转化标记出统计显著的差异并链接到分群定义。grafana 数据源 UID、集群名称、问题 → 仪表盘速查表。datadog 字段参考request_id 与 trace_id 的区别、服务列表、指标前缀约定。业务流程与团队自动化Business Automation这类 Skills 把重复性工作流压缩成一条命令。它们本身通常是相当简单的指令但可能对其它 Skills 或 MCP 有较复杂的依赖。对于这类 Skills把历次执行结果保存到日志文件中可以帮助模型保持一致性并对之前的工作流执行情况进行反思。典型例子standup-post 聚合你的工单系统、GitHub 活动和此前的 Slack 记录 → 生成格式化的日报只写增量部分。create–ticket 强制遵守 Schema合法的枚举值、必填字段外加建单后的流程提醒评审人、在 Slack 中贴链接。weekly-recap 已合并的 PR 已关闭的工单 发布记录 → 格式化的周报。代码脚手架与模板Scaffolding Templates这类 Skills 为代码库中的特定功能生成框架样板代码。你可以把它们与可组合的脚本结合起来。当脚手架中包含纯代码无法覆盖的自然语言要求时这类 Skills 尤其有用。典型例子new–workflow 按照你们的注解规范脚手架出一个新的 service/workflow/handler。new-migration 你们的迁移文件模板 常见坑。create-app 新建内部应用预装好你们的鉴权、日志和部署配置。代码质量与评审Code Quality Review这类 Skills 在组织内部强制执行代码质量标准、辅助代码评审。为了最大的确定性它们可以包含确定性的脚本或工具。你可能希望把它们作为 hooks 或 GitHub Action 的一部分自动运行。典型例子adversarial-review 派生一个新鲜视角的子 Agent 来挑刺实施修复迭代直到评审意见退化为无关痛痒的小问题。code-style 强制执行代码风格尤其是 Claude 默认做不好的那些风格。testing-practices 关于如何写测试、测什么的指引。CI/CD 与部署CI/CD Deployment这类 Skills 帮你在代码库中拉取、推送和部署代码。它们可能会引用其它 Skills 来收集数据。典型例子babysit-pr 盯着一个 PR → 重试不稳定的 CI → 解决合并冲突 → 开启自动合并。deploy- 构建 → 冒烟测试 → 带错误率对比的渐进式流量放量 → 出现退化时自动回滚。cherry-pick-prod 隔离的 worktree → cherry-pick → 冲突解决 → 按模板提 PR。故障处置手册Incident Runbooks这类 Skills 接收一个症状比如一个 Slack 讨论串、一条告警或一个错误特征走完一套多工具排查流程并产出一份结构化报告。典型例子-debugging 为你们流量最高的服务建立症状 → 工具 → 查询模式的映射。oncall-runner 拉取告警 → 排查常见嫌疑对象 → 格式化输出结论。log-correlator 给定一个请求 ID从所有可能经手过它的系统中拉出匹配的日志。基础设施运维Infrastructure Ops这类 Skills 执行例行维护和操作程序其中一些涉及破坏性操作需要防护栏guardrails的加持。它们让工程师在关键操作中更容易遵循最佳实践。典型例子-orphans 找出孤儿 Pod/存储卷 → 发到 Slack → 观察期 → 用户确认 → 级联清理。dependency-management 你们组织的依赖审批工作流。cost-investigation “我们的存储/出口流量账单为什么暴涨”附带具体的存储桶和查询模式。三、编写 Skills 的实用技巧决定了要做什么 Skill 之后该怎么写以下是 Claude Code 团队总结的最佳实践、技巧和窍门。不要陈述显而易见的事Claude 本来就会写代码也能读懂你的代码库。一个只是复述 Claude 默认行为的 Skill增加了上下文却没有增加价值。如果你发布的 Skill 主要是知识型的请聚焦在那些能把 Claude 推出其惯性思维的信息上。前端设计 Skillfrontend design skill就是个很好的例子它由 Anthropic 的一名工程师与客户反复迭代打磨而成目的是提升 Claude 的设计品味避免落入Inter 字体 紫色渐变这类经典俗套。建立避坑指南Gotchas章节任何 Skill 中信号密度最高的内容都是 Gotchas避坑指南章节。这些章节应当从 Claude 在使用你的 Skill 时实际踩到的常见失败点中积累而来。理想情况下你要随时间不断更新 Skill把这些坑捕获进去。例如“subscriptions 表是只追加append-only的。你要找的行是 version 最高的那一行而不是created_at最新的那一行。”“这个字段在 API 网关中叫 request_id在计费服务中叫 trace_id。它们是同一个值。”“即使 Stripe webhook 实际上没有处理成功预发环境也会返回 200。要查payment_events才能看到真实状态。”配图说明第 1 天的 billing-lib Skill 只有简介第 2 周加了一条 Gotcha第 3 个月已经积累了四条每当 Claude 被什么东西绊倒一次就加一行。善用文件系统与渐进式披露如前文所说Skill 是一个文件夹而不仅仅是一个 Markdown 文件。你应当把整个文件系统视为上下文工程context engineering和渐进式披露progressive disclosure的一种形式。告诉 Claude 你的 Skill 里有哪些文件它会在合适的时机去读取它们。渐进式披露最简单的形式是指向其它 Markdown 文件供 Claude 使用。比如你可以把详细的函数签名和用法示例拆到references/api.md中。再举个例子如果你的最终输出物是一个 Markdown 文件你可以在assets/目录里放一个模板文件供复制使用。你可以放入参考资料、脚本、示例等各种文件夹帮助 Claude 更高效地工作。配图说明queue-debugging/SKILL.md 是枢纽里面只有约 30 行一张症状 → 阅读哪个文件的对照表任务卡住读 stuck-jobs.md消息进了死信队列读 dead-letters.md同一任务循环重试读 retry-storms.md队列深度持续上涨读 consumer-lag.md。枢纽负责分发辐条文件负责干活。避免把 Claude “框死”Claude 通常会努力遵守你的指令而正因为 Skills 复用性极强你要格外小心别把指令写得过于具体。给 Claude 提供它需要的信息但也要留出让它根据实际情况灵活调整的空间。例如【过于死板】第一步运行 git log 找到提交。第二步运行 git cherry-pick第三步如果有冲突运行 git status 列出它们。第四步打开每个冲突文件。第五步对每个 标记决定保留哪一边。第六步对每个解决完的文件运行 git add然后……【更好的写法】把这个提交 cherry-pick 到一个干净的分支上。解决冲突时保留原意图。如果无法干净落地解释原因。想清楚初始化配置有些 Skills 需要用户提供上下文才能完成配置。比如你在做一个把日报发到 Slack 的 Skill你可能希望 Claude 主动询问要发到哪个 Slack 频道。一个好的模式是像上面的例子那样把这些配置信息存到 Skill 目录下的 config.json 文件里。如果配置尚未设置Agent 就可以向用户询问这些信息。如果你希望 Agent 以结构化的多选题形式提问可以指示 Claude 使用 AskUserQuestion 工具。配图说明standup-post/SKILL.md 中有一行!cat ${CLAUDE_SKILL_DIR}/config.json这行会在 Claude 读取提示词之前作为 shell 命令执行若输出 NOT_CONFIGURED就问用户发到哪个 Slack 频道贴一份你喜欢的日报样例然后把答案写进 config.json。描述是写给模型看的不是写给人看的Claude Code 启动会话时会为每个可用 Skill 及其描述description生成一份清单。Claude 正是扫描这份清单来判断这个请求有没有对应的 Skill。这意味着 description 字段不是一段简介而是对何时该触发这个 Skill的说明。在描述中带上触发词会很有帮助比如babysit-pr的描述里就包含babysit这样的触发词。帮助 Claude记住事情有些 Skills 可以通过在自身内部存储数据来获得某种记忆。存储形式可以简单到一个只追加的文本日志文件或 JSON 文件也可以复杂到一个 SQLite 数据库。比如一个standup-postSkill 可以维护一个 standups.log记录它写过的每一篇日报。这样下次运行时Claude 会读取自己的历史记录知道昨天以来发生了什么变化。你可以使用环境变量${CLAUDE_PLUGIN_DATA}来获得一个稳定的目录用于存储数据。配图说明这个文本日志文件帮助 Claude 记住过去的事件比如评审过 Sarah 的鉴权 PR。存放脚本生成代码你能给 Claude 的最强大的工具之一就是代码。给 Claude 提供脚本和库可以让它把回合turns花在组合上决定下一步做什么而不是重新构造样板代码。比如在你的data-scienceSkill 中可以内置一个从事件源拉取数据的函数库。为了让 Claude 完成复杂分析你可以给它一组这样的辅助函数。然后 Claude 就能动态生成脚本把这些功能组合起来完成更高级的分析比如回答周二那天发生了什么使用按需触发的 HooksSkills 可以包含只在该 Skill 被调用时才激活、且仅持续当前会话的 hooks。这适合那些更有主见的 hooks你不想让它一直开着但有时又极其有用。例如/careful 通过 Bash 的 PreToolUse 匹配器拦截 rm -rf、DROP TABLE、强制推送、kubectl delete。只有当你明确知道自己在动生产环境时才需要它一直开着会把你逼疯。/freeze 拦截任何不在指定目录内的 Edit/Write。调试时很有用“我只想加日志但老是忍不住顺手’修复’无关代码。”四、分发 SkillsSkills 最大的好处之一就是可以分享给团队里的其他人。分享 Skills 有两种方式把 Skills 提交到你的代码仓库中放在./.claude/skills目录下制作一个插件plugin并搭建一个 Claude Code 插件市场marketplace让用户上传和安装插件详见文档。对于跨仓库较少的小团队直接把 Skills 提交进仓库就很好使。但每个签入的 Skill 都会给模型的上下文增加一点负担。随着规模扩大一个内部插件市场可以让你分发 Skills并让团队自行决定安装哪些同时还能包含一个初始化配置流程。五、管理 Skills 市场如何决定哪些 Skills 进入市场大家又如何提交在 Anthropic我们没有一个中心化团队来做决定相反我们尝试让最有用的 Skills 自然地涌现出来。如果有人有一个想让大家试用的 Skill他们可以把它上传到 GitHub 上的一个沙盒文件夹然后在 Slack 或其它论坛里推荐大家使用。一旦某个 Skill 获得了足够的认可度由 Skill 的所有者自行判断就可以提一个 PR把它移入市场。六、组合 Skills你可能希望 Skills 之间相互依赖。比如你可能有一个文件上传 Skill 负责上传文件还有一个 CSV 生成 Skill 负责生成 CSV 并调用上传。这种依赖管理目前还没有内建到市场或 Skills 机制中但你只需按名字引用其它 Skills只要它们已安装模型就会调用它们。七、度量 Skills为了了解一个 Skill 的表现我们使用一个 PreToolUse hook 来记录公司内部 Skill 的使用情况示例代码见原文链接。这意味着我们能发现哪些 Skill 受欢迎或者哪些 Skill 的触发率低于预期。八、开始行动Skills 的最佳实践仍在演进之中。我们最好的 Skills大多起步时只是寥寥几行加一个避坑点然后随着 Claude 不断撞见新的边界情况大家不断往里添砖加瓦它们才变得越来越好。理解 Skills 最好的方式就是动手开始不断试验看看什么对你有效。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】