用途
Skill Creator 用于指导创建有效的 Claude 技能(Skill)。当用户希望创建新技能或更新现有技能以扩展 Claude 的能力时,应使用该技能。技能是模块化、自包含的包,通过提供专门的知识、工作流和工具来扩展 Claude 的能力,可将其视为特定领域或任务的“入职指南”,使 Claude 从通用智能体转变为配备程序性知识的专用智能体。
技能提供的内容
- 专门的工作流:针对特定领域的多步骤流程
- 工具集成:处理特定文件格式或 API 的说明
- 领域专业知识:公司特定的知识、模式、业务逻辑
- 捆绑资源:用于复杂和重复任务的脚本、参考资料和资源文件
技能的结构
每个技能包含一个必需的 SKILL.md 文件和可选的捆绑资源:
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter metadata (required)
│ │ ├── name: (required)
│ │ └── description: (required)
│ └── Markdown instructions (required)
└── Bundled Resources (optional)
├── scripts/ - Executable code (Python/Bash/etc.)
├── references/ - Documentation intended to be loaded into context as needed
└── assets/ - Files used in output (templates, icons, fonts, etc.)
SKILL.md(必需)
YAML frontmatter 中的 name 和 description 决定 Claude 何时使用该技能。应具体说明技能做什么以及何时使用,并使用第三人称(例如“This skill should be used when...”而非“Use this skill when...”)。
捆绑资源(可选)
脚本(scripts/):用于需要确定性可靠性或反复重写的任务的可执行代码(Python/Bash 等)。当同一代码被反复重写或需要确定性可靠性时包含。示例:用于 PDF 旋转任务的 scripts/rotate_pdf.py。优点:节省 token、具有确定性、可在不加载到上下文的情况下执行。注意:Claude 可能仍需读取脚本以进行修补或环境特定调整。
参考资料(references/):旨在按需加载到上下文中以指导 Claude 过程和思考的文档和参考材料。当 Claude 在工作时应参考的文档时包含。示例:用于财务模式的 references/finance.md、用于公司 NDA 模板的 references/mnda.md、用于公司政策的 references/policies.md、用于 API 规范的 references/api_docs.md。用例:数据库模式、API 文档、领域知识、公司政策、详细工作流指南。优点:保持 SKILL.md 精简,仅在 Claude 确定需要时加载。最佳实践:如果文件较大(超过 1 万词),在 SKILL.md 中包含 grep 搜索模式。避免重复:信息应仅存在于 SKILL.md 或 references 文件中,而非两者。除非信息对技能真正核心,否则优先使用 references 文件。
资源(assets/):不打算加载到上下文中,而是在 Claude 产生的输出中使用的文件。当技能需要用于最终输出的文件时包含。示例:用于品牌资产的 assets/logo.png、用于 PowerPoint 模板的 assets/slides.pptx、用于 HTML/React 样板代码的 assets/frontend-template/、用于排版的 assets/font.ttf。用例:模板、图像、图标、样板代码、字体、被复制或修改的示例文档。优点:将输出资源与文档分离,使 Claude 无需加载即可使用文件。
渐进式披露设计原则
技能使用三级加载系统来高效管理上下文:
- 元数据(name + description)——始终在上下文中(约 100 词)
- SKILL.md 正文——当技能触发时(少于 5000 词)
- 捆绑资源——根据 Claude 需要(无限制*)
*无限制是因为脚本可以在不读入上下文窗口的情况下执行。
技能创建流程
按顺序遵循“技能创建流程”,仅在明确不适用时跳过步骤。
步骤 1:通过具体示例理解技能
仅在技能使用模式已明确理解时跳过此步骤。即使处理现有技能,此步骤仍有价值。
要创建有效的技能,需清楚理解技能将如何使用的具体示例。这种理解可来自直接的用户示例或经用户反馈验证的生成示例。
例如,构建图像编辑器技能时,相关问题包括:
- “图像编辑器技能应支持哪些功能?编辑、旋转,还有其他吗?”
- “能否给出一些该技能使用方式的示例?”
- “我可以想象用户会问‘去除这张图片的红眼’或‘旋转这张图片’。还有其他使用方式吗?”
- “用户说什么会触发该技能?”
为避免用户负担过重,避免在单条消息中问太多问题。从最重要的问题开始,根据需要跟进。当对技能应支持的功能有清晰认识时,结束此步骤。
步骤 2:规划可复用的技能内容
要将具体示例转化为有效技能,通过以下方式分析每个示例:
- 考虑如何从头执行该示例
- 确定在反复执行这些工作流时哪些脚本、参考资料和资源会有帮助
示例:构建 pdf-editor 技能处理“帮我旋转这个 PDF”等查询时,分析显示:旋转 PDF 需要每次重写相同代码,将 scripts/rotate_pdf.py 脚本存储在技能中会有帮助。
示例:设计 frontend-webapp-builder 技能处理“给我构建一个待办应用”或“构建一个跟踪步数的仪表板”时,分析显示:编写前端 Web 应用每次需要相同的 HTML/React 样板代码,将包含样板 HTML/React 项目文件的 assets/hello-world/ 模板存储在技能中会有帮助。
示例:构建 big-query 技能处理“今天有多少用户登录?”时,分析显示:查询 BigQuery 需要每次重新发现表模式和关系,将记录表模式的 references/schema.md 文件存储在技能中会有帮助。
要确定技能内容,分析每个具体示例以创建要包含的可复用资源列表:脚本、参考资料和资源。
步骤 3:初始化技能
此时实际创建技能。仅在正在开发的技能已存在且需要迭代或打包时跳过此步骤。
从头创建新技能时,始终运行 init_skill.py 脚本。该脚本方便地生成新的模板技能目录,自动包含技能所需的一切。
用法:
scripts/init_skill.py <skill-name> --path <output-directory>
该脚本:
- 在指定路径创建技能目录
- 生成具有正确 frontmatter 和 TODO 占位符的 SKILL.md 模板
- 创建示例资源目录:scripts/、references/ 和 assets/
- 在每个目录中添加可自定义或删除的示例文件
初始化后,根据需要自定义或删除生成的 SKILL.md 和示例文件。
步骤 4:编辑技能
编辑(新生成或现有)技能时,记住技能是为另一个 Claude 实例使用而创建的。专注于包含对 Claude 有益且非显而易见的信息。考虑哪些程序性知识、领域特定细节或可复用资源能帮助另一个 Claude 实例更有效地执行这些任务。
从可复用技能内容开始:从上面确定的可复用资源开始实现:scripts/、references/ 和 assets/ 文件。注意此步骤可能需要用户输入。例如,实现 brand-guidelines 技能时,用户可能需要提供品牌资产或模板存储在 assets/ 中,或文档存储在 references/ 中。同时,删除技能不需要的任何示例文件和目录。
更新 SKILL.md:
写作风格:使用祈使/不定式形式(动词开头的指令)编写整个技能,而非第二人称。使用客观、指导性语言(例如“To accomplish X, do Y”而非“You should do X”或“If you need to do X”)。这为 AI 消费保持一致性和清晰度。
要完成 SKILL.md,回答以下问题:
- 技能的目的是什么,用几句话说明?
- 技能应在何时使用?
- 在实践中,Claude 应如何使用该技能?上面开发的所有可复用技能内容都应被引用,以便 Claude 知道如何使用它们。
步骤 5:打包技能
技能准备就绪后,应打包成可分发的 zip 文件与用户共享。打包过程首先自动验证技能以确保满足所有要求:
scripts/package_skill.py <path/to/skill-folder>
可选输出目录指定:
scripts/package_skill.py <path/to/skill-folder> ./dist
打包脚本将:
- 自动验证技能,检查:YAML frontmatter 格式和必填字段、技能命名约定和目录结构、描述完整性和质量、文件组织和资源引用
- 如果验证通过则打包技能,创建以技能命名的 zip 文件(例如 my-skill.zip),包含所有文件并保持正确的目录结构以供分发
如果验证失败,脚本将报告错误并在不创建包的情况下退出。修复任何验证错误并再次运行打包命令。
步骤 6:迭代
测试技能后,用户可能请求改进。这通常在使用技能后立即发生,此时对技能表现有新鲜上下文。
迭代工作流:
- 在真实任务中使用技能
- 注意困难或低效之处
- 确定应如何更新 SKILL.md 或捆绑资源
- 实施更改并再次测试
适用场景
- 用户希望创建新的 Claude 技能
- 用户希望更新现有技能
- 需要为特定领域或任务构建专门的工作流、工具集成或领域知识
- 需要将重复性任务的脚本、参考资料或资源打包为可复用技能
限制
资料中未提供关于收费、价格、平台支持范围或具体效果保证的信息。