Skill Creator 用于在用户想要创建新技能(或更新已有技能)以扩展 Claude 能力时提供指导。技能是模块化、自包含的包,通过提供专门的知识、工作流和工具来扩展 Claude 的能力,可视为特定领域或任务的“上手指南”——它们把 Claude 从通用型智能体转变为配备了任何模型都无法完全拥有的流程性知识的专门型智能体。一个技能可为复杂且重复的任务提供专门的工作流、工具集成、领域专业知识和捆绑资源(脚本、参考、资源)。
技能创建流程
技能创建包含以下步骤:
- 用具体示例理解技能
- 规划可复用的技能内容(脚本、参考、资源)
- 初始化技能目录
- 编辑技能(实现资源并编写 SKILL.md)
- 打包技能(仅在需要可分发的 .skill 文件时)
- 根据实际使用迭代
按顺序执行这些步骤,仅在确实不适用时才跳过。
第 1 步:用具体示例理解技能
仅在技能的使用模式已被清楚理解时才跳过此步;即使处理已有技能,这一步仍有价值。为创建有效的技能,需要清楚理解技能将被使用的具体示例,这些理解可以来自用户直接给出的示例,也可以来自生成后经用户反馈验证的示例。例如,构建 image-editor 技能时,相关问题包括:该技能应支持哪些功能(编辑、旋转,还是其他)?能否给出一些使用示例?可以想象用户会说“去掉这张图片的红眼”或“旋转这张图片”,还有其他使用方式吗?用户会说什么来触发该技能?为避免让用户不堪重负,不要在同一条消息中问太多问题,先问最重要的问题,再按需追问。
第 2 步:规划可复用的技能内容
要把具体示例转化为有效的技能,需分析每个示例:考虑如何从零执行该示例;识别在重复执行这些工作流时哪些脚本、参考和资源会有帮助。示例包括:pdf-editor 技能(“帮我旋转这个 PDF”)——旋转 PDF 意味着每次都要重写同样的代码,因此存放 scripts/rotate_pdf.py;frontend-webapp-builder 技能(“给我建一个 todo 应用”)——每个 webapp 都需要同样的样板,因此存放 assets/hello-world/ 模板项目;big-query 技能(“今天有多少用户登录了?”)——每次查询都要重新发现表结构,因此存放 references/schema.md。要确定技能内容,需分析每个具体示例,列出要包含的可复用资源:脚本、参考和资源。
第 3 步:初始化技能
若技能已存在、只需迭代或打包,则跳过此步。此版本的 skill-creator 不捆绑任何脚本(Anthropic 上游 skill-creator 已移除其 init_skill.py)。手工创建骨架:
mkdir -p <skill-name>/scripts <skill-name>/references <skill-name>/assets
然后编写 <skill-name>/SKILL.md:frontmatter 包含 name(与目录一致:小写字母、数字和连字符,最多 64 个字符)和 description,之后是正文。只保留技能实际使用的资源目录,除非宿主仓库要求三者齐全(有些用 .gitkeep 保留)。
第 4 步:编辑技能
编辑(新生成或已有)技能时,要记住技能是给另一个 Claude 实例使用的,应包含对 Claude 有益且非显而易见的信息,考虑哪些流程性知识、领域细节或可复用资产能帮助另一个 Claude 实例更有效地执行这些任务。
学习经过验证的设计模式:
- SKILL.md 不断增长,或有多个变体/框架/领域:参见 references/progressive-disclosure.md 了解大小限制和拆分模式
- 多步骤流程:参见 references/workflows.md 了解顺序工作流、条件逻辑和子代理委派模式
- 特定输出格式或质量标准:参见 references/output-patterns.md 了解模板和示例模式
- 官方示例:浏览 Anthropic 的技能仓库获取生产级示例
复杂任务的实用技巧:使用子代理——在需要大量计算或并行探索的请求后附加“use subagents”;保持上下文干净——把单个子任务下放给子代理,防止上下文窗口被污染;可视化复杂度——让 Claude 用 ASCII 图画出新协议和代码库,以便更好理解。
从可复用的技能内容开始:先实现上述识别出的可复用资源 scripts/、references/ 和 assets/ 文件。此步可能需要用户输入。例如实现 brand-guidelines 技能时,用户可能需要提供品牌资产或模板放入 assets/,或提供文档放入 references/。新增的脚本必须实际运行测试,确保没有 bug 且输出符合预期;若有许多相似脚本,只需测试有代表性的样本,以在保证信心与完成时间之间平衡。
更新 SKILL.md:
写作指南:始终使用祈使式/不定式。
frontmatter:用 YAML 写 name 和 description。name 为技能名;description 是技能主要的触发机制,帮助 Claude 理解何时使用该技能,需同时包含技能做什么以及何时使用的具体触发条件/上下文。所有“何时使用”的信息都放在这里,而不要放在正文——正文只有在触发后才加载,因此正文中的“When to Use This Skill”小节对 Claude 没有帮助。docx 技能的 description 示例:“Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. Use when Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks”。YAML frontmatter 中不要包含任何其他字段。
正文:编写使用该技能及其捆绑资源的说明。正文保持在 500 行以内、约 5000 token 以内:自动压缩后 Claude Code 只保留被调用技能的前 5000 token,因此把流程和硬性规则放在前面,把细节移到 references 中。
第 5 步:打包技能
仅在用户需要可分发的 .skill 文件时打包(例如上传到 claude.ai)。技能遵循 Agent Skills 开放标准,以便跨 AI 平台移植。.skill 文件是技能文件夹的 zip 压缩包,扩展名为 .skill,以技能命名(如 my-skill.skill)。
打包前验证:YAML frontmatter 可解析,且存在 name 和 description;name 与文件夹名一致,description 非空且最多 1024 个字符;顶层只出现六个规范字段(name、description、license、compatibility、metadata、allowed-tools)——claude.ai 上传和 Skills API 会拒绝任何其他键,因此要从打包副本中删除多余字段;SKILL.md 引用的每个文件都存在。规范的参考验证器检查 frontmatter:skills-ref validate <path/to/skill-folder>(skills-ref)。Anthropic 上游 skill-creator 附带 scripts/package_skill.py,可一步完成验证和压缩;此副本不捆绑该脚本。
第 6 步:迭代
测试技能后,用户可能要求改进,这通常发生在刚使用完技能、对技能表现记忆犹新时。迭代工作流:在真实任务中使用该技能;注意遇到的困难或低效之处;确定应如何更新 SKILL.md 或捆绑资源;实施更改并再次测试。
核心原则
简洁是关键。上下文窗口是一种公共资源。技能与 Claude 所需的其他一切共享上下文窗口:系统提示、对话历史、其他技能的元数据以及实际用户请求。默认假设:Claude 已经非常聪明。只添加 Claude 尚不具备的上下文。对每条信息都要质疑:“Claude 真的需要这个解释吗?”“这段文字值得它的 token 成本吗?”优先使用简洁示例而非冗长解释。
设置适当的自由度。让具体程度与任务的脆弱性和可变性相匹配:高自由度(基于文本的指令)——多种方法都可行、决定依赖上下文,或用启发式引导方法;中自由度(伪代码或带参数的脚本)——存在首选模式、允许一定变化,或配置会影响行为;低自由度(具体脚本、少量参数)——操作脆弱且易出错、一致性至关重要,或必须遵循特定顺序。把 Claude 想象成在探索一条路径:悬崖边的窄桥需要明确的护栏(低自由度),而开阔的田野允许许多路线(高自由度)。
参考文件
- references/skill-anatomy.md:规划内容时(第 2 步)阅读——布局,脚本、参考和资源各自的用途,以及不应包含什么
- references/progressive-disclosure.md:SKILL.md 接近 500 行或约 5000 token,或技能覆盖多个变体时阅读——加载层级、大小限制、三种拆分模式
- references/workflows.md:技能编码多步骤流程时阅读——顺序、条件、并行、子代理和清单模式
- references/output-patterns.md:技能必须产出特定格式或质量标准时阅读——模板、示例、分层详细度
本技能改编自 Anthropic 的 skill-creator(github.com/anthropics/skills,Apache-2.0)。