# skill-creator-cn > 创建高效技能的中文指南。当用户想要创建新技能(或更新现有技能)以扩展 Claude 的能力时,应使用此技能。适用于需要专业知识、工作流程或工具集成的场景。 - Author: ephemeraldew - Repository: ephemeraldew/skill-creator-cn - Version: 20260130165913 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/ephemeraldew/skill-creator-cn - Web: https://mule.run/skillshub/@@ephemeraldew/skill-creator-cn~skill-creator-cn:20260130165913 --- --- name: skill-creator-cn description: 创建高效技能的中文指南。当用户想要创建新技能(或更新现有技能)以扩展 Claude 的能力时,应使用此技能。适用于需要专业知识、工作流程或工具集成的场景。 license: 完整条款见 LICENSE.txt --- # 技能创建器(中文版) 此技能提供创建高效技能的指导。 ## 关于技能 技能是模块化、独立的包,通过提供专业知识、工作流程和工具来扩展 Claude 的能力。可以把它们想象成特定领域或任务的"入职指南"——它们将 Claude 从通用助手转变为具备程序性知识的专业助手,而这些知识是任何模型都无法完全具备的。 ### 技能提供的内容 1. **专业工作流程** - 特定领域的多步骤流程 2. **工具集成** - 处理特定文件格式或 API 的指令 3. **领域专业知识** - 公司特定知识、数据模式、业务逻辑 4. **捆绑资源** - 用于复杂和重复任务的脚本、参考资料和素材 ### 技能的结构 每个技能由一个必需的 SKILL.md 文件和可选的捆绑资源组成: ``` skill-name/ (技能名称/) ├── SKILL.md (必需) │ ├── YAML 前置元数据 (必需) │ │ ├── name: (必需) 名称 │ │ └── description: (必需) 描述 │ └── Markdown 指令 (必需) └── 捆绑资源 (可选) ├── scripts/ - 可执行代码(Python/Bash 等) ├── references/ - 需要时加载到上下文的文档 └── assets/ - 输出中使用的文件(模板、图标、字体等) ``` #### SKILL.md(必需) **元数据质量:** YAML 前置元数据中的 `name` 和 `description` 决定了 Claude 何时使用该技能。要具体说明技能的功能和使用时机。使用第三人称(例如"此技能应在...时使用"而不是"当...时使用此技能")。 #### 捆绑资源(可选) ##### 脚本(`scripts/`) 可执行代码(Python/Bash 等),用于需要确定性可靠性或重复编写的任务。 - **何时包含**:当相同代码需要重复编写或需要确定性可靠性时 - **示例**:`scripts/rotate_pdf.py` 用于 PDF 旋转任务 - **优点**:节省令牌、确定性、可在不加载到上下文的情况下执行 - **注意**:脚本可能仍需要被 Claude 读取以进行修补或环境特定调整 ##### 参考资料(`references/`) 文档和参考材料,用于在需要时加载到上下文中,以指导 Claude 的处理过程和思考。 - **何时包含**:当 Claude 在工作时需要参考的文档 - **示例**:`references/finance.md` 用于财务模式、`references/mnda.md` 用于公司保密协议模板、`references/policies.md` 用于公司政策、`references/api_docs.md` 用于 API 规范 - **用例**:数据库模式、API 文档、领域知识、公司政策、详细工作流程指南 - **优点**:保持 SKILL.md 精简,仅在 Claude 确定需要时加载 - **最佳实践**:如果文件较大(>10000 字),在 SKILL.md 中包含 grep 搜索模式 - **避免重复**:信息应存在于 SKILL.md 或参考文件中,而非两者都有。优先将详细信息放在参考文件中,除非它确实是技能的核心——这样可以保持 SKILL.md 精简,同时使信息可发现而不占用上下文窗口。仅在 SKILL.md 中保留基本的程序指令和工作流程指导;将详细参考材料、模式和示例移至参考文件。 ##### 素材(`assets/`) 不用于加载到上下文的文件,而是在 Claude 生成的输出中使用。 - **何时包含**:当技能需要在最终输出中使用的文件时 - **示例**:`assets/logo.png` 用于品牌素材、`assets/slides.pptx` 用于 PowerPoint 模板、`assets/frontend-template/` 用于 HTML/React 模板、`assets/font.ttf` 用于字体 - **用例**:模板、图片、图标、模板代码、字体、需要复制或修改的示例文档 - **优点**:将输出资源与文档分离,使 Claude 能够使用文件而无需将其加载到上下文中 ### 渐进式披露设计原则 技能使用三级加载系统来高效管理上下文: 1. **元数据(名称 + 描述)** - 始终在上下文中(约 100 字) 2. **SKILL.md 正文** - 当技能触发时(<5000 字) 3. **捆绑资源** - 根据 Claude 需要(无限*) *无限是因为脚本可以在不读入上下文窗口的情况下执行。 ## 技能创建流程 要创建技能,请按顺序执行"技能创建流程",仅在有明确原因表明某步骤不适用时才跳过。 ### 第一步:通过具体示例理解技能 仅当技能的使用模式已经清楚理解时才跳过此步骤。即使在处理现有技能时,此步骤仍然有价值。 要创建有效的技能,需要清楚理解技能将如何使用的具体示例。这种理解可以来自用户直接提供的示例,或通过用户反馈验证的生成示例。 例如,在构建图像编辑器技能时,相关问题包括: - "图像编辑器技能应支持哪些功能?编辑、旋转,还有其他吗?" - "你能给出一些这个技能如何使用的例子吗?" - "我能想象用户会要求'去除这张图片的红眼'或'旋转这张图片'。你还能想到其他使用方式吗?" - "用户说什么应该触发这个技能?" 为避免让用户感到不知所措,不要在单条消息中问太多问题。从最重要的问题开始,然后根据需要跟进以提高效率。 当对技能应支持的功能有了清晰认识后,结束此步骤。 ### 第二步:规划可复用的技能内容 要将具体示例转化为有效技能,分析每个示例: 1. 考虑如何从头开始执行该示例 2. 确定在重复执行这些工作流程时哪些脚本、参考资料和素材会有帮助 示例:在构建 `pdf-editor` 技能以处理"帮我旋转这个 PDF"之类的查询时,分析显示: 1. 旋转 PDF 每次都需要重写相同的代码 2. `scripts/rotate_pdf.py` 脚本存储在技能中会有帮助 示例:在设计 `frontend-webapp-builder` 技能以处理"帮我构建一个待办事项应用"或"帮我构建一个追踪我步数的仪表板"之类的查询时,分析显示: 1. 编写前端 Web 应用每次都需要相同的 HTML/React 模板代码 2. 包含 HTML/React 项目文件模板的 `assets/hello-world/` 目录存储在技能中会有帮助 示例:在构建 `big-query` 技能以处理"今天有多少用户登录了?"之类的查询时,分析显示: 1. 查询 BigQuery 每次都需要重新发现表模式和关系 2. 记录表模式的 `references/schema.md` 文件存储在技能中会有帮助 要确定技能的内容,分析每个具体示例以创建要包含的可复用资源列表:脚本、参考资料和素材。 ### 第三步:初始化技能 此时,是时候实际创建技能了。 仅当正在开发的技能已存在且需要迭代或打包时才跳过此步骤。在这种情况下,继续下一步。 从头创建新技能时,始终运行 `init_skill.py` 脚本。该脚本方便地生成一个新的模板技能目录,自动包含技能所需的一切,使技能创建过程更加高效和可靠。 用法: ```bash scripts/init_skill.py <技能名称> --path <输出目录> ``` 该脚本: - 在指定路径创建技能目录 - 生成带有适当前置元数据和 TODO 占位符的 SKILL.md 模板 - 创建示例资源目录:`scripts/`、`references/` 和 `assets/` - 在每个目录中添加可以自定义或删除的示例文件 初始化后,根据需要自定义或删除生成的 SKILL.md 和示例文件。 ### 第四步:编辑技能 在编辑(新生成或现有的)技能时,请记住该技能是为另一个 Claude 实例使用而创建的。专注于包含对 Claude 有益且非显而易见的信息。考虑哪些程序性知识、领域特定细节或可复用素材将帮助另一个 Claude 实例更有效地执行这些任务。 #### 从可复用技能内容开始 要开始实现,从上面确定的可复用资源开始:`scripts/`、`references/` 和 `assets/` 文件。注意此步骤可能需要用户输入。例如,在实现 `brand-guidelines` 技能时,用户可能需要提供品牌素材或模板存储在 `assets/` 中,或文档存储在 `references/` 中。 此外,删除技能不需要的任何示例文件和目录。初始化脚本在 `scripts/`、`references/` 和 `assets/` 中创建示例文件以演示结构,但大多数技能不需要所有这些文件。 #### 更新 SKILL.md **写作风格:** 使用**祈使/不定式形式**(动词优先的指令)编写整个技能,而不是第二人称。使用客观、指导性的语言(例如"要完成 X,执行 Y"而不是"你应该做 X"或"如果你需要做 X")。这为 AI 使用保持一致性和清晰性。 要完成 SKILL.md,回答以下问题: 1. 技能的目的是什么,用几句话描述? 2. 何时应该使用该技能? 3. 实际上,Claude 应该如何使用该技能?上面开发的所有可复用技能内容都应该被引用,以便 Claude 知道如何使用它们。 ### 第五步:打包技能 技能准备好后,应将其打包成可分发的 zip 文件与用户共享。打包过程会自动先验证技能以确保满足所有要求: ```bash scripts/package_skill.py <技能文件夹路径> ``` 可选的输出目录指定: ```bash scripts/package_skill.py <技能文件夹路径> ./dist ``` 打包脚本将: 1. **自动验证**技能,检查: - YAML 前置元数据格式和必需字段 - 技能命名约定和目录结构 - 描述的完整性和质量 - 文件组织和资源引用 2. 如果验证通过,**打包**技能,创建以技能命名的 zip 文件(例如 `my-skill.zip`),包含所有文件并保持适当的目录结构以便分发。 如果验证失败,脚本将报告错误并退出而不创建包。修复任何验证错误并再次运行打包命令。 ### 第六步:迭代 测试技能后,用户可能会要求改进。这通常发生在使用技能后不久,此时对技能表现的记忆还很新鲜。 **迭代工作流程:** 1. 在真实任务中使用技能 2. 注意困难或低效之处 3. 确定应如何更新 SKILL.md 或捆绑资源 4. 实施更改并再次测试