Create Skill 是一个用于创建新技能或更新现有技能的技能,目标是扩展 Claude 的能力,使其具备专门知识、工作流或工具集成。它的作用是提供编写技能的方法论与流程引导,而不是直接执行某个业务任务。
【用途】 当需要为 Claude 新建一个技能,或修改已有技能时使用。该技能的编写指导被拆分到多个参考文件中,官方建议按当前步骤需要阅读相应文件,而不是一次性全部读完。
【主要能力与参考文件】 资料列出了以下参考文件及其覆盖内容:
- references/principles.md:简洁性、指令而非文档、自由度。
- references/structure.md:frontmatter、命名、描述、渐进式披露、文件布局。
- references/writing.md:行文规则,包括术语、措辞、条件、阈值。
- references/workflows.md:步骤/阶段结构、反馈循环、退出信号、输出模式。
- references/composition.md:依赖其他技能、调用其他技能、向其他技能分发。
- references/tools.md:Agent、Bash、AskUserQuestion 和 MCP 工具调用。
- references/evaluation.md:评估,以及根据观察到的行为迭代技能。
- references/scripts.md:打包可执行代码的技能。
- references/harness.md:运行环境的工具名称、权限模式和发现路径。 关于技能概念背景,资料指向 platform.claude.com 上的 Skills overview。
【使用方式(步骤)】 Step 1:用具体示例理解技能。仅在技能使用模式已经清楚时才跳过;即便处理已有技能,该步骤仍有价值。目标是清楚了解技能将被如何使用,可来自用户直接示例,也可生成示例并通过用户反馈验证。资料给出的示例问题包括:图像编辑技能应支持哪些功能、能否给出使用示例、用户会说什么来触发该技能等。为避免让用户不堪重负,不要在单条消息里问太多问题,先问最重要的,再按需追问。当对技能应支持的功能有清晰认识时,结束该步骤。
Step 2:规划可复用的技能内容。分析每个示例:从零执行该示例会怎样、在重复执行这些工作流时有哪些脚本/参考/资源会有帮助。资料示例包括:pdf-editor 技能需要 scripts/rotate_pdf.py;前端 Web 应用构建技能需要 assets/hello-world/ 模板;big-query 技能需要 references/schema.md 记录表结构。据此列出要包含的可复用资源:scripts、references、assets。新建技能时,还要用这份清单判断该技能是否“值得存在”:若内容是在弥补一个可从源头修复的问题、只服务一次性任务而非重复任务、或运行环境已加载的指令文件已覆盖它们,则内容不通过该检验。此时应说明属于哪种情况并给出替代方案(上游修复、runbook 或文档指引),然后用 AskUserQuestion 让用户在该替代方案与仍然创建技能之间选择,并按用户回答继续。更新现有技能时,对本次改动应用该检验,并在完成编辑旁记录对该技能整体存在理由的任何疑虑。
Step 3:初始化技能。若技能已存在且需要迭代则跳过,继续下一步。从零创建新技能时,创建技能目录,包含:带有正确 YAML frontmatter(name 和 description)以及正文 TODO 占位符的 SKILL.md 文件;按需建立资源目录 scripts/、references/ 和/或 assets/。初始化后按需自定义或删除生成的文件。
Step 4:编辑技能。技能是为另一个 Claude 实例使用而创建的,应重点包含对 Claude 有益且非显而易见的信息,考虑哪些过程性知识、领域细节或可复用资源能帮助另一个 Claude 实例更有效地执行这些任务。实现时从上面识别的可复用资源开始:scripts/、references/ 和 assets/ 文件。该步骤可能需要用户输入,例如实现品牌规范技能时,用户可能需要提供品牌资源或模板存入 assets/,或提供文档存入 references/。在编写 SKILL.md 之前,阅读 references/principles.md、references/structure.md 和 references/writing.md,它们适用于每个技能。然后按该技能做什么来阅读对应参考:多步骤或循环工作流 → references/workflows.md,当以用户输入为门槛时加 references/tools.md;依赖其他技能或向其他技能分发 → references/composition.md,分发时加 references/tools.md;调度 Agent、Bash、AskUserQuestion 或 MCP 调用 → references/tools.md;打包可执行脚本 → references/scripts.md;面向特定运行环境原语,或依赖精确工具名、限制、发现路径 → references/harness.md。在针对真实任务验证技能或根据观察行为改进时,阅读 references/evaluation.md。
任务跟踪:在 Step 5 开始时,用 TaskCreate 为每个剩余步骤创建任务:"Review the skill"(Step 5)、"Run /evaluate-findings skill"(Step 6)、"Run /apply-findings skill"(Step 7)、"Verify"(Step 8)。
Step 5:审查技能。写完所有文件后,启动一个子代理(model: "opus",无名称)审查技能。等待其报告后再继续;若尚未报告,不要重新启动。子代理应阅读 references/skill-reviewer.md 获取审查指南,阅读所有技能文件,并按指南中的格式产出审查报告。其提示必须要求子代理将共享工作树及其 git 索引视为只读,通过阅读和推理来审查;修复在 Step 7 进行。HEAD 保持不动:用 git show <ref>:<path> 读取其他 ref,而不是 git checkout 或 git switch。对新技能,审查应开放:提出改进、约定检查、写作质量。对修改过的技能(简化、重构、修复缺陷),审查应聚焦回归:检查改动是否破坏了什么。告诉审查者不要提出新功能。对同一会话迭代(在同一会话中应用上一次审查发现后重新审查),按修改处理:审查是在检查修复是否破坏了什么。对批量改动(同一会话中创建或修改多个技能),按不同改动分组而不是按技能分组:两个技能收到相同改动是指编辑文本完全相同;否则各自算不同改动。每个不同改动启动一个审查子代理,另为在多个技能上被相同应用的改动的所有位置启动一个子代理。给该子代理完整位置列表,让它在各自的本地上下文中检查每个位置,并标出批次中本应收到该改动但未收到的可比位置。所有这些 Agent 工具调用在一条助手消息中发出。每个 Agent 调用使用 model: "opus" 且无名称。等待每个代理报告后再继续。不要在一部分集合上开始下一步,也不要重新启动尚未报告的代理。发出调用时说明总数以及哪些位置对应哪个子代理。
Step 6:运行 /evaluate-findings 技能,对审查发现进行评估。
Step 7:运行 /apply-findings 技能,对评估后的发现进行应用。
Step 8:验证。当技能打包可执行代码时,运行项目测试套件并报告结果:明确说明通过还是失败并给出失败输出,而不是在假设套件仍然通过的情况下结束工作流。当技能未打包代码,或项目没有可运行的套件时,说明这一点。然后使用 TaskList 工具,继续处理任何剩余任务。
【适用场景】 需要为 Claude 扩展专门知识、工作流或工具集成时;创建新技能或更新既有技能时;需要按规范结构组织 SKILL.md、scripts、references、assets 时;以及需要借助子代理审查、评估与迭代来完善技能时。
【限制与暂未提供】 资料未提供价格、收费、平台依赖、性能或效果数据,也未提供安装命令或代码。资料中的参考文件与步骤属于该技能的编写流程,其实际可用性取决于运行环境是否支持相应工具(如 Agent、Bash、AskUserQuestion、MCP)和技能发现机制,具体限制资料未进一步说明。