语音摘要 — 点击播放以跟读:正在朗读的行会保持在顶部附近。
技能是Claude动态加载的指令、脚本和资源文件夹,用于提升特定任务的表现。每个技能的核心是一个SKILL. md文件——这是一套预先打包的指令集,只需上传一次,即可附加到任何messages. create调用中。你实际上是在教Claude你做事的方式:你的状态报告格式、审查清单、发布说明模板。Claude会读取技能内容,遵循既定流程,并按你的要求生成输出。
技能与工具的区别
明确区分二者很重要,因为它们解决不同问题:
- 工具连接Claude与数据和操作。"查找这段代码"、"发送这封邮件"——Claude调用工具,实际执行由外部完成
- 技能教会Claude一套流程。"按照此模板生成每日状态报告"——这是Claude读取并遵循的操作手册,有时会自行运行捆绑的脚本
简单记忆法:工具关乎Claude能做什么,而技能关乎你希望它如何做。
工具与技能对比图:工具连接数据、执行动作、运行代码——Claude能做什么;技能仅通过指令教授流程,不运行代码——你希望如何做
另需注意:技能不会在启动时就完全加载到上下文中。初始仅加载名称和描述。当代理判定某个技能相关时,才会完整加载该技能内容。这确保即使有大量可用技能,上下文仍保持精简。
上传技能
技能只需上传一次到工作区,后续通过ID引用。可通过Claude平台直接上传,或以编程方式实现:
本例中,我们需要一个状态报告生成器。所有关于优质状态报告的规则——章节划分、语气、总结方法、阻塞项处理——都预先打包在技能中。实际的活动日志只需在请求时以字符串形式传入。
为请求附加技能
通过容器配置中的skills数组附加技能,每个条目需指定skill_id和version。以下是状态报告生成器的完整调用示例:
关键点说明:
- 我们调用的是client. beta. messages. create而非标准接口,并通过beta标头传递技能功能。截至本视频,技能仍属测试功能
- container. skills是附加技能的位置。这是个列表,因此可叠加多个技能到同一调用
- 此处也启用了代码执行。技能常与代码执行配合使用,因为技能流程可能需要实际工作——如在终端运行脚本
运行效果
输出是完全按照技能文件要求格式化的状态报告。章节划分、语气、阻塞项处理——全部源自上传的SKILL. md文件。用户提示仅需一行,完整流程则封装在技能中。
生成的每日状态报告终端输出,包含"已完成"和"阻塞项"章节,以及按技能格式化的摘要
在生产应用中,这正是团队标准化功能输出的方式。通过这个每日状态报告接口,每位产品经理获得相同结构、相同语气、相同章节顺序的输出——无需任何人往提示词里复制粘贴模板。
项目管理应用中的"每日报告"页面,每个项目的活动日志旁都有由技能支持的"一键生成报告"按钮
要点回顾
- 技能封装你的流程:一个SKILL. md文件(及配套脚本资源)教会Claude你期望的执行方式
- 工具与技能:工具决定能力边界,技能定义执行方式
- 渐进式加载:初始仅加载名称描述,完整技能在代理决定使用时才载入上下文
- 一次上传使用client. beta. skills. create,后续通过container. skills附加到任意messages. create调用——支持列表形式,可叠加多个技能
- 与代码执行配合:当技能流程需要实际工作时
- 当执行方式与功能实现同等重要时,就该使用技能