Awesome Claude Skills插件开发教程:构建你的第一个扩展
Awesome Claude Skills插件开发教程:构建你的第一个扩展
Awesome Claude Skills是一个精选的Claude技能、资源和工具列表,用于自定义Claude AI工作流程。本教程将引导你完成构建第一个Claude插件的全过程,从概念设计到最终打包,让你轻松扩展Claude的功能。
什么是Claude Skills?
Skills是模块化、自包含的包,通过提供专业知识、工作流程和工具来扩展Claude的能力。它们就像是特定领域的"入职指南",将Claude从通用智能体转变为具备专业程序知识的专用智能体。
技能的核心组成部分
每个技能包含一个必需的SKILL.md文件和可选的捆绑资源:
skill-name/
├── SKILL.md (必需)
│ ├── YAML前置元数据 (必需)
│ │ ├── name: (必需)
│ │ └── description: (必需)
│ └── Markdown说明 (必需)
└── 捆绑资源 (可选)
├── scripts/ - 可执行代码 (Python/Bash等)
├── references/ - 文档资料
└── assets/ - 输出使用的文件 (模板、图标、字体等)
技能创建的完整流程
步骤1:用具体示例理解技能需求
在创建技能前,首先要明确技能的使用场景和具体功能。可以通过思考以下问题来收集需求:
- "这个技能应该支持哪些功能?"
- "用户会如何触发这个技能?"
- "能否提供一些使用示例?"
例如,构建一个图片编辑技能时,用户可能会要求"移除图片中的红眼"或"旋转这张图片"等功能。
步骤2:规划可重用的技能内容
分析收集到的示例,确定需要包含的可重用资源:
- 考虑如何从头执行示例任务
- 识别执行这些工作流程时需要的脚本、参考资料和资产
示例分析:
- PDF编辑器技能:需要
scripts/rotate_pdf.py脚本处理PDF旋转 - 前端Web应用构建器:需要
assets/hello-world/模板包含HTML/React基础代码 - BigQuery查询技能:需要
references/schema.md记录数据库表结构
步骤3:初始化技能
使用init_skill.py脚本创建新技能的基础结构,这是最快捷可靠的方法:
git clone https://gitcode.com/GitHub_Trending/aw/awesome-claude-skills
cd awesome-claude-skills
scripts/init_skill.py <skill-name> --path <output-directory>
该脚本会自动创建:
- 指定路径的技能目录
- 带有正确前置元数据和TODO占位符的SKILL.md模板
- 示例资源目录:
scripts/、references/和assets/ - 每个目录中的示例文件,可根据需要自定义或删除
步骤4:编辑技能内容
完善资源文件
首先实现前面规划的可重用资源文件,删除不需要的示例文件。这一步可能需要用户提供特定资产,例如品牌指南技能可能需要用户提供品牌资产或模板。
更新SKILL.md文件
编写SKILL.md时,使用命令式/不定式形式(动词开头的指令),避免第二人称。确保回答以下关键问题:
- 技能的目的是什么(几句话概括)
- 何时应该使用这个技能
- Claude应该如何实际使用这个技能(引用所有开发的可重用资源)
元数据质量提示:YAML前置元数据中的name和description决定了Claude何时使用该技能。要具体说明技能的功能和使用场景,使用第三人称描述。
步骤5:打包技能
技能完成后,使用package_skill.py脚本将其打包为可分发的zip文件,该过程会先自动验证技能是否符合所有要求:
基本用法:
scripts/package_skill.py <path/to/skill-folder>
指定输出目录:
scripts/package_skill.py <path/to/skill-folder> ./dist
打包脚本会执行:
- 验证技能:检查YAML前置格式、必填字段、命名规范、目录结构、描述完整性和资源引用
- 打包技能:验证通过后创建以技能命名的zip文件(如
my-skill.zip)
如果验证失败,脚本会报告错误并退出,需修复后重新运行。
步骤6:迭代改进
技能创建后,通过实际使用来发现问题和改进空间:
- 在真实任务中使用技能
- 注意使用过程中的困难或低效之处
- 确定如何更新SKILL.md或捆绑资源
- 实施更改并再次测试
技能设计的渐进式披露原则
技能采用三级加载系统以高效管理上下文:
- 元数据(名称+描述) - 始终在上下文中(约100词)
- SKILL.md主体 - 技能触发时加载(<5k词)
- 捆绑资源 - Claude根据需要加载(无限制*)
*无限制是因为脚本可以在不读入上下文窗口的情况下执行。
技能资源类型详解
脚本(scripts/)
可执行代码(Python/Bash等),用于需要确定性可靠性或重复编写的任务。
- 何时包含:当相同代码被重复编写或需要确定性可靠性时
- 示例:
scripts/rotate_pdf.py用于PDF旋转任务 - 优点:节省令牌,确定性高,可在不加载到上下文的情况下执行
- 注意:Claude可能仍需要读取脚本进行修补或环境特定调整
参考资料(references/)
文档和参考材料,旨在根据需要加载到上下文中,为Claude的流程和思考提供信息。
- 何时包含:当Claude在工作时需要参考文档时
- 示例:
references/finance.md(财务模式)、references/api_docs.md(API规范) - 用例:数据库模式、API文档、领域知识、公司政策、详细工作流程指南
- 优点:保持SKILL.md简洁,仅在Claude确定需要时加载
- 最佳实践:如果文件较大(>10k字),在SKILL.md中包含grep搜索模式
资产(assets/)
不打算加载到上下文中,而是用于Claude生成的输出中的文件。
- 何时包含:当技能需要用于最终输出的文件时
- 示例:
assets/logo.png(品牌资产)、assets/slides.pptx(PowerPoint模板) - 用例:模板、图像、图标、样板代码、字体、要复制或修改的示例文档
- 优点:将输出资源与文档分离,使Claude能够使用文件而无需加载到上下文中
快速开始你的第一个技能
现在你已经了解了创建Claude技能的完整流程,不妨从一个简单的技能开始实践。推荐从模板技能入手:
- 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/aw/awesome-claude-skills - 进入项目目录:
cd awesome-claude-skills - 初始化新技能:
scripts/init_skill.py my-first-skill --path ./ - 编辑生成的文件,实现你的技能功能
- 打包技能:
scripts/package_skill.py my-first-skill
通过这个过程,你将能够构建出功能强大、易于维护的Claude技能,扩展AI助手的能力,满足特定领域的需求。
祝你的插件开发之旅顺利!如有疑问,可以参考项目中的skill-creator/SKILL.md获取更多详细信息。
更多推荐

所有评论(0)