mcpField
S
skill-creator

skill-creator

github.com/w95Agent 工作流28536 次安装35 周前更新
代码仓库

关于 skill-creator

skill-creator 为 Claude 用户提供创建、编写、验证和打包可复用 Skill 的指导,涵盖 Skill 结构、配套资源及迭代流程。

主要功能

  1. 01说明 Skill 的结构
  2. 02介绍脚本、参考资料和素材
  3. 03分步指导创建与编辑
  4. 04提供验证和 ZIP 打包指引
  5. 05指导迭代改进

适用场景

  1. 01规划可复用的 Claude Skill
  2. 02选择适合打包的配套资源
  3. 03编写和完善 SKILL.md
  4. 04验证并打包 Skill

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/w95/awesome-claude-corporate-skills --skill skill-creator

安装后在 Claude Code 中输入/skill-creator确认已加载。

详细介绍

技能创建器

此技能提供创建有效技能的指导。

关于技能

技能是模块化、自包含的软件包,可通过提供专业知识、工作流和工具来扩展 Claude 的能力。可以将它们视为特定领域或任务的“入门指南”——它们能将 Claude 从通用 Agent 转变为具备程序性知识的专业 Agent,而这些知识并非任何模型都能完全掌握。

技能提供的内容
  1. 专业工作流 - 针对特定领域的多步骤流程
  2. 工具集成 - 使用特定文件格式或 API 的说明
  3. 领域专业知识 - 公司专属知识、架构、业务逻辑
  4. 捆绑资源 - 用于复杂且重复性任务的脚本、参考资料和素材
技能的组成

每个技能都包含一个必需的 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 何时使用该技能。请具体说明技能的功能及适用时机。使用第三人称(例如,“此技能应在……时使用”,而不是“在……时使用此技能”)。

捆绑资源(可选)
脚本(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 判断有需要时加载
  • 最佳实践:如果文件较大(超过 10k 个单词),请在 SKILL.md 中加入 grep 搜索模式
  • 避免重复:信息应放在 SKILL.md 或参考文件中,而不是两者都放。除非详细信息确实是技能的核心内容,否则应优先放在参考文件中——这样既能保持 SKILL.md 精简,也便于查找信息,同时不会占用过多上下文窗口。SKILL.md 中仅保留必要的操作说明和工作流指南;将详细的参考资料、架构和示例移至参考文件。
素材(assets/)

不用于加载到上下文中,而是用于 Claude 生成的输出中的文件。

  • 适用情况:技能需要在最终输出中使用文件时
  • 示例:品牌素材 assets/logo.png、PowerPoint 模板 assets/slides.pptx、HTML/React 样板代码 assets/frontend-template/、字体排版文件 assets/font.ttf
  • 适用场景:模板、图像、图标、样板代码、字体、可复制或修改的示例文档
  • 优点:将输出资源与文档分开,使 Claude 无需加载文件即可使用它们
渐进式披露设计原则

技能采用三级加载系统,以高效管理上下文:

  1. 元数据(名称 + 描述) - 始终位于上下文中(约 100 个单词)
  2. SKILL.md 正文 - 技能触发时加载(少于 5k 个单词)
  3. 捆绑资源 - Claude 按需加载(无限*)

*之所以称为无限,是因为脚本可以执行,而无需读入上下文窗口。

技能创建流程

创建技能时,请按顺序遵循“技能创建流程”,仅在有明确理由表明某个步骤不适用时才跳过。

第 1 步:通过具体示例了解技能

仅当技能的使用模式已经清晰明确时,才跳过此步骤。即使是在使用现有技能时,这一步也很有价值。

要创建有效的技能,必须清楚了解该技能的具体使用方式。这种了解可以来自用户提供的直接示例,也可以来自经用户反馈验证过的生成示例。

例如,构建图像编辑器技能时,相关问题包括:

  • “图像编辑器技能应支持哪些功能?编辑、旋转,还是其他功能?”
  • “能否给出一些使用此技能的示例?”
  • “我能想到用户可能会问‘去掉这张图片中的红眼’或‘旋转这张图片’。你觉得还会有哪些用法?”
  • “用户说什么时,应该触发此技能?”

为避免让用户应接不暇,不要在一条消息中提出太多问题。先问最重要的问题,再视需要跟进,以便进一步了解。

当你清楚了解技能应支持的功能后,即可结束此步骤。

第 2 步:规划可复用的技能内容

要将具体示例转化为有效的技能,请针对每个示例进行分析:

  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 文件存放在技能中会有所帮助

要确定技能的内容,请分析每个具体示例,并整理出要纳入的可复用资源清单:脚本、参考资料和资源。

第 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/ 中。

另外,删除技能不需要的示例文件和目录。初始化脚本会在 scripts/、references/ 和 assets/ 中创建示例文件,以演示目录结构,但大多数技能不会用到所有这些文件。

更新 SKILL.md

写作风格: 整个技能都要使用祈使或不定式形式(以动词开头的指令),而不是第二人称。使用客观、指导性的语言(例如“要完成 X,请执行 Y”,而不是“你应该执行 X”或“如果你需要执行 X”)。这样可以确保内容便于 AI 理解,且风格一致。

要完成 SKILL.md,请回答以下问题:

  1. 该技能的用途是什么?用几句话说明。
  2. 何时应使用该技能?
  3. 实际使用中,Claude 应如何使用该技能?请引用上文开发的所有可重复使用技能内容,让 Claude 知道如何使用这些内容。
第 5 步:打包技能

技能准备就绪后,应将其打包成可分发的 zip 文件并分享给用户。打包流程会先自动验证技能,确保其符合所有要求:

scripts/package_skill.py <path/to/skill-folder>

可选的输出目录指定方式:

scripts/package_skill.py <path/to/skill-folder> ./dist

打包脚本将:

  1. 验证技能,自动检查:

    • YAML frontmatter 格式和必需字段
    • 技能命名规范和目录结构
    • 描述的完整性和质量
    • 文件组织和资源引用
  2. 如果验证通过,则打包技能,创建一个以技能命名的 zip 文件(例如 my-skill.zip),其中包含所有文件,并保留适用于分发的正确目录结构。

如果验证失败,脚本会报告错误并退出,不会创建安装包。修复所有验证错误,然后重新运行打包命令。

第 6 步:迭代

测试技能后,用户可能会要求改进。通常,这会在刚使用完技能后发生,此时用户对技能的表现记忆犹新。

迭代工作流:

  1. 在实际任务中使用技能
  2. 留意遇到的困难或低效之处
  3. 确定应如何更新 SKILL.md 或随附资源
  4. 实施更改并重新测试

评论

支持 Markdown