GitHub_Trending/cl/claude-plugins-official中的技能开发指南:扩展Claude能力
GitHub_Trending/cl/claude-plugins-official是Anthropic官方管理的高质量Claude Code插件目录,通过开发自定义技能,开发者可以轻松扩展Claude的功能,使其具备特定领域的专业能力。本文将详细介绍如何在该项目中开发技能,帮助新手和普通用户快速掌握技能开发的核心流程和最佳实践。## 什么是Claude技能?技能是模块化、自包含的包,通过
GitHub_Trending/cl/claude-plugins-official中的技能开发指南:扩展Claude能力
GitHub_Trending/cl/claude-plugins-official是Anthropic官方管理的高质量Claude Code插件目录,通过开发自定义技能,开发者可以轻松扩展Claude的功能,使其具备特定领域的专业能力。本文将详细介绍如何在该项目中开发技能,帮助新手和普通用户快速掌握技能开发的核心流程和最佳实践。
什么是Claude技能?
技能是模块化、自包含的包,通过提供专业知识、工作流程和工具来扩展Claude的能力。它们就像是特定领域的"入职指南",能将Claude从通用智能体转变为具备专业程序知识的专用智能体。
技能主要提供以下功能:
- 专业工作流程 - 特定领域的多步骤程序
- 工具集成 - 处理特定文件格式或API的指令
- 领域专业知识 - 公司特定知识、模式、业务逻辑
- 捆绑资源 - 用于复杂和重复任务的脚本、参考资料和资产
技能的基本结构
每个技能包含一个必需的SKILL.md文件和可选的捆绑资源:
skill-name/
├── SKILL.md (必需)
│ ├── YAML前置元数据 (必需)
│ │ ├── name: (必需)
│ │ └── description: (必需)
│ └── Markdown说明 (必需)
└── 捆绑资源 (可选)
├── scripts/ - 可执行代码(Python/Bash等)
├── references/ - 需要时加载到上下文中的文档
└── assets/ - 输出中使用的文件(模板、图标、字体等)
技能开发的核心原则
渐进式披露设计原则
技能使用三级加载系统来高效管理上下文:
- 元数据(name + description) - 始终在上下文中(~100字)
- SKILL.md主体 - 技能触发时加载(<5k字)
- 捆绑资源 - Claude根据需要加载(无限制*)
*无限制是因为脚本可以在不读入上下文窗口的情况下执行。
自动化推荐工具展示
Claude提供自动化推荐工具,可扫描代码库并在每个类别中推荐前1-2个自动化方案,包括MCP服务器、技能、钩子、子代理和插件等类别。
技能创建的完整流程
步骤1:通过具体示例理解技能
要创建有效的技能,首先需要清楚地了解技能的使用方式。这可以来自用户的直接示例或经过用户反馈验证的生成示例。
例如,构建图像编辑器技能时,相关问题包括:
- "图像编辑器技能应支持哪些功能?编辑、旋转,还是其他?"
- "你能给出一些使用此技能的例子吗?"
- "我可以想象用户会要求'从这张图片中去除红眼'或'旋转这张图片'。你认为还有其他使用方式吗?"
- "用户会说什么来触发这个技能?"
步骤2:规划可重用的技能内容
要将具体示例转化为有效技能,需分析每个示例:
- 考虑如何从头开始执行示例
- 确定执行这些工作流程时反复需要的脚本、参考资料和资产
例如:
- 构建
pdf-editor技能时,分析显示旋转PDF需要重复编写相同代码,因此创建scripts/rotate_pdf.py脚本会很有帮助 - 设计
frontend-webapp-builder技能时,编写前端Web应用需要相同的HTML/React模板,因此创建assets/hello-world/模板会很有帮助
步骤3:创建技能结构
对于Claude Code插件,创建技能目录结构:
mkdir -p plugin-name/skills/skill-name/{references,examples,scripts}
touch plugin-name/skills/skill-name/SKILL.md
注意:与通用技能创建器使用
init_skill.py不同,插件技能直接在插件的skills/目录中创建,结构更简单。
步骤4:编辑技能
编辑技能时,请记住技能是为另一个Claude实例使用而创建的。专注于包含对Claude有益且非显而易见的信息。
编写SKILL.md
写作风格:使用命令式/不定式形式(动词开头的指令),而非第二人称。使用客观的说明性语言。
描述(前置元数据):使用第三人称格式和特定触发短语:
---
name: 技能名称
description: 当用户要求"特定短语1"、"特定短语2"、"特定短语3"时,应使用此技能。包含用户会说的的确切短语,这些短语应触发此技能。要具体明确。
version: 0.1.0
---
好的描述示例:
description: This skill should be used when the user asks to "create a hook", "add a PreToolUse hook", "validate tool use", "implement prompt-based hooks", or mentions hook events (PreToolUse, PostToolUse, Stop).
差的描述示例:
description: Use this skill when working with hooks. # 错误的人称,模糊不清
description: Load when user needs hook help. # 不是第三人称
description: Provides hook guidance. # 没有触发短语
步骤5:验证和测试
对于插件技能,验证包括:
- 检查结构:技能目录位于
plugin-name/skills/skill-name/ - 验证SKILL.md:包含带有名称和描述的前置元数据
- 检查触发短语:描述包含特定用户查询
- 验证写作风格:主体使用命令式/不定式形式,而非第二人称
- 测试渐进式披露:SKILL.md简洁(~1,500-2,000字),详细内容在references/中
- 检查引用:所有引用的文件都存在
- 验证示例:示例完整且正确
- 测试脚本:脚本可执行且工作正常
使用skill-reviewer代理:
Ask: "Review my skill and check if it follows best practices"
skill-reviewer代理将检查描述质量、内容组织和渐进式披露。
步骤6:迭代改进
测试技能后,用户可能会请求改进。通常这发生在使用技能后,对技能的表现有最新的了解。
迭代工作流程:
- 在实际任务上使用技能
- 注意困难或低效之处
- 确定应如何更新SKILL.md或捆绑资源
- 实施更改并再次测试
常见改进:
- 加强描述中的触发短语
- 将SKILL.md中的长部分移至references/
- 添加缺失的示例或脚本
- 澄清模糊的说明
- 添加边缘情况处理
插件特定注意事项
技能在插件中的位置
插件技能位于插件的skills/目录中:
my-plugin/
├── .claude-plugin/
│ └── plugin.json
├── commands/
├── agents/
└── skills/
└── my-skill/
├── SKILL.md
├── references/
├── examples/
└── scripts/
自动发现
Claude Code自动发现技能:
- 扫描
skills/目录 - 查找包含
SKILL.md的子目录 - 始终加载技能元数据(name + description)
- 技能触发时加载SKILL.md主体
- 需要时加载references/examples
无需打包
插件技能作为插件的一部分分发,而不是单独的ZIP文件。用户安装插件时获得技能。
插件中的测试
通过本地安装插件测试技能:
# 使用--plugin-dir测试
cc --plugin-dir /path/to/plugin
# 提出应该触发技能的问题
# 验证技能是否正确加载
技能开发最佳实践
内容组织
SKILL.md中应包含(技能触发时始终加载):
- 核心概念和概述
- 基本程序和工作流程
- 快速参考表
- 指向references/examples/scripts的指针
- 最常见的用例
保持在3,000字以下,理想为1,500-2,000字
移至references/(需要时加载):
- 详细模式和高级技术
- 全面的API文档
- 迁移指南
- 边缘情况和故障排除
- 广泛的示例和演练
每个参考文件可以很大(2,000-5,000+字)
写作风格要求
命令式/不定式形式
使用动词开头的指令,而不是第二人称:
正确(命令式):
To create a hook, define the event type.
Configure the MCP server with authentication.
Validate settings before use.
不正确(第二人称):
You should create a hook by defining the event type.
You need to configure the MCP server.
You must validate settings before use.
描述中的第三人称
前置元数据描述必须使用第三人称:
正确:
description: This skill should be used when the user asks to "create X", "configure Y"...
不正确:
description: Use this skill when you want to create X...
description: Load this skill when user asks...
常见错误避免
错误1:触发描述薄弱
❌ 不好:
description: Provides guidance for working with hooks.
为什么不好: 模糊,没有特定触发短语,不是第三人称
✅ 好:
description: This skill should be used when the user asks to "create a hook", "add a PreToolUse hook", "validate tool use", or mentions hook events. Provides comprehensive hooks API guidance.
为什么好: 第三人称,特定短语,具体场景
错误2:SKILL.md内容过多
❌ 不好:
skill-name/
└── SKILL.md (8,000字 - 所有内容在一个文件中)
为什么不好: 技能加载时会膨胀上下文,详细内容始终加载
✅ 好:
skill-name/
├── SKILL.md (1,800字 - 核心要点)
└── references/
├── patterns.md (2,500字)
└── advanced.md (3,700字)
为什么好: 渐进式披露,详细内容仅在需要时加载
技能改进工具展示
Claude提供CLAUDE.md改进工具,可帮助保持CLAUDE.md文件与代码库同步。当代码库演变时,CLAUDE.md文件可能会过时,此工具会根据当前代码库对其进行审计。
该工具可以:
- 发现所有CLAUDE.md文件
- 根据质量标准为每个文件评分
- 基于最佳实践和模板提出更新建议
修订工具展示
在使用Claude Code后,您可能会意识到缺少某些有助于工作的上下文。修订命令可以捕获这些学习:
它能记录:
- 缺少哪些有助于Claude的上下文
- 需要解释哪些Claude命令或工作流程
- Claude需要通过艰难方式学习哪些陷阱
技能开发快速参考
最小技能
skill-name/
└── SKILL.md
适用于:简单知识,不需要复杂资源
标准技能(推荐)
skill-name/
├── SKILL.md
├── references/
│ └── detailed-guide.md
└── examples/
└── working-example.sh
适用于:大多数带有详细文档的插件技能
完整技能
skill-name/
├── SKILL.md
├── references/
│ ├── patterns.md
│ └── advanced.md
├── examples/
│ ├── example1.sh
│ └── example2.json
└── scripts/
└── validate.sh
适用于:具有验证工具的复杂领域
最佳实践摘要
✅ 应该做:
- 在描述中使用第三人称("This skill should be used when...")
- 包含特定触发短语("create X", "configure Y")
- 保持SKILL.md简洁(1,500-2,000字)
- 使用渐进式披露(将详细信息移至references/)
- 以命令式/不定式形式编写
- 清晰引用支持文件
- 提供工作示例
- 为常见操作创建实用脚本
- 以plugin-dev的技能为模板
❌ 不应该做:
- 在任何地方使用第二人称
- 有模糊的触发条件
- 将所有内容放在SKILL.md中(>3,000字而没有references/)
- 以第二人称写作("You should...")
- 留下未引用的资源
- 包含损坏或不完整的示例
- 跳过验证
实施工作流程
要为您的插件创建技能,请遵循以下步骤:
- 了解用例:确定技能使用的具体示例
- 规划资源:确定所需的脚本/参考资料/示例
- 创建结构:
mkdir -p skills/skill-name/{references,examples,scripts} - 编写SKILL.md:
- 带有第三人称描述和触发短语的前置元数据
- 简洁的主体(1,500-2,000字),采用命令式
- 引用支持文件
- 添加资源:根据需要创建references/、examples/、scripts/
- 验证:检查描述、写作风格、组织
- 测试:验证技能在预期触发时加载
- 迭代:根据使用情况改进
专注于强大的触发描述、渐进式披露和命令式写作风格,以创建在需要时加载并提供有针对性指导的有效技能。
要开始使用Claude插件项目,请克隆仓库:
git clone https://gitcode.com/GitHub_Trending/cl/claude-plugins-official
更多推荐





所有评论(0)