开发工作流

构建 Claude Code 的经验:我们如何使用 Skills【译】

MAR 1822 阅读

Anthropic 工程师分享内部使用 Claude Code Skills 的实战经验,涵盖九类典型应用场景及编写最佳实践。

Skills 已成为 Claude Code 中最广泛使用的扩展机制之一。它们灵活、易于创建且便于分发,但也因灵活性过高而难以把握最佳实践。本文基于 Anthropic 内部数百个活跃 Skills 的实践经验,总结出九类典型应用场景与编写技巧。

什么是 Skills?

Skills 不仅是 Markdown 文件,而是包含脚本、资源和数据的文件夹,智能体可动态发现并使用其中内容。Claude Code 支持丰富的配置选项(如动态钩子),最具价值的 Skills 往往创造性地利用了这些能力。

通过对内部 Skills 的梳理,我们将其归纳为以下九类。优质的 Skills 通常清晰归属于某一类别,而跨类别的 Skills 则容易造成混淆。

Image

1. 库与 API 参考

帮助正确使用特定库、CLI 或 SDK,尤其针对内部工具或 Claude 易出错的外部库。通常包含参考代码片段和常见陷阱(gotchas)列表。

示例

  • billing-lib:内部计费库的边界情况与易错点
  • internal-platform-cli:内部 CLI 各子命令及使用场景
  • frontend-design:提升 Claude 对设计系统的理解

2. 产品验证

描述如何测试或验证代码功能,常结合 Playwright、tmux 等工具。建议投入专门时间打磨验证逻辑,例如录制执行视频或插入程序化状态断言。

示例

  • signup-flow-driver:自动化注册→邮件验证→引导流程
  • checkout-verifier:使用 Stripe 测试卡验证结账流程
  • tmux-cli-driver:交互式命令行测试

3. 数据获取与分析

连接内部数据与监控系统,提供凭证、仪表盘 ID 及常用查询模式。

示例

  • funnel-query:注册→激活→付费转化路径所需事件表
  • cohort-compare:用户群组留存/转化率对比
  • grafana:问题→仪表盘映射表

4. 业务流程与团队自动化

将重复性工作流封装为单条命令,常依赖其他 Skills 或 MCP。建议保存执行日志以支持模型反思与一致性。

示例

  • standup-post:自动生成增量站会汇报
  • create-<ticket-system>-ticket:强制执行工单 Schema 并触发后续流程
  • weekly-recap:聚合 PR、工单与部署记录生成周报

5. 代码脚手架与模板

为特定功能生成样板代码,尤其适用于需自然语言描述的复杂脚手架场景。

示例

  • new-<framework>-workflow:基于注解创建新服务
  • new-migration:数据库迁移模板与常见陷阱
  • create-app:预置认证、日志与部署配置的新应用模板

6. 代码质量与审查

执行团队代码规范,可集成确定性脚本提升可靠性,适合在钩子或 CI 中自动运行。

示例

  • adversarial-review:启动独立子智能体进行对抗性审查
  • code-style:强制执行 Claude 默认不支持的代码风格
  • testing-practices:测试编写指南

7. CI/CD 与部署

辅助代码拉取、推送与部署,常引用其他 Skills 获取上下文。

示例

  • babysit-pr:自动重试 CI、解决冲突并合并
  • deploy-<service>:渐进式部署与自动回滚
  • cherry-pick-prod:隔离 cherry-pick 并创建 PR

8. 运维手册

根据现象(如告警、错误)引导多工具排查流程,并输出结构化报告。

示例

  • <service>-debugging:现象→工具→查询模式映射
  • oncall-runner:告警自动分析与结论生成
  • log-correlator:跨系统请求日志聚合

9. 基础设施运维

执行日常维护操作(含高危操作),内置安全护栏确保最佳实践。

示例

  • <resource>-orphans:识别并清理孤立资源
  • dependency-management:依赖审批流程
  • cost-investigation:费用突增根因分析

Image

编写最佳实践

聚焦非显性知识

避免重复 Claude 已知的通用编程知识,重点提供能打破其默认假设的内部洞见。例如,frontend-design Skill 通过迭代优化,有效规避了“Inter 字体+紫色渐变”等刻板设计。

建立踩坑点章节

这是 Skill 中信息密度最高的部分,应持续记录 Claude 使用过程中暴露的失败模式,并据此迭代更新。

Image

利用文件系统实现渐进式披露

Skill 是一个完整文件夹,应善用其结构实现上下文工程(Context Engineering)。将详细 API 文档、模板、脚本等拆分为独立文件,由 Claude 按需读取,以节省上下文窗口。

Image

保持指令灵活性

避免过度约束 Claude 的行为。提供必要信息的同时,保留其适应具体场景的自由度。

Image

设计合理的初始设置

对于需用户输入的 Skill(如 Slack 频道),可将配置存于 config.json,并通过 AskUserQuestion 工具引导用户完成初始化。

Image

description 字段面向触发条件

该字段用于帮助 Claude 判断何时调用 Skill,应描述为“当……时使用”,而非功能摘要。

Image

实现记忆与数据存储

通过日志文件或 SQLite 实现持久化记忆。注意将数据存于 ${CLAUDE_PLUGIN_DATA} 目录,避免 Skill 升级时丢失。

Image

提供可复用脚本

将核心逻辑封装为函数库,让 Claude 专注于任务编排而非样板代码生成。例如,数据科学 Skill 可提供事件查询函数,Claude 则组合生成分析脚本。

Image

Image

按需激活钩子

通过 On Demand Hooks 实现临时性增强功能,例如:

  • /careful:拦截 rm -rf、DROP TABLE 等危险操作
  • /freeze:限制编辑范围,防止误改无关代码

分享与协作

可通过两种方式共享 Skills:

  1. 提交至代码仓库的 ./.claude/skills 目录(适合小团队)
  2. 发布至内部插件市场(适合大规模组织)

建议采用社区驱动模式:先在沙盒环境试用,获得足够反馈后再正式发布。同时建立审核机制,避免低质或重复内容。

目前 Skills 尚不支持显式依赖管理,但可通过名称直接调用已安装的其他 Skills。

效果衡量

通过 PreToolUse 钩子记录内部使用数据,识别高频或低效 Skills,持续优化。


Skills 作为 AI 智能体的强大扩展机制,仍处于早期探索阶段。本文并非权威指南,而是经实践验证的实用技巧合集。最好的学习方式是动手尝试——从几行文字和一个踩坑点开始,随使用反馈不断迭代。

文章来源
来源:x.com
原文链接
点击查看评论

评论

(0)

登录后即可发表评论

立即登录