GitHub_Trending/cl/claude-plugins-official中的技能开发指南:扩展Claude能力

【免费下载链接】claude-plugins-official Official, Anthropic-managed directory of high quality Claude Code Plugins. 【免费下载链接】claude-plugins-official 项目地址: https://gitcode.com/GitHub_Trending/cl/claude-plugins-official

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/           - 输出中使用的文件(模板、图标、字体等)

技能开发的核心原则

渐进式披露设计原则

技能使用三级加载系统来高效管理上下文:

  1. 元数据(name + description) - 始终在上下文中(~100字)
  2. SKILL.md主体 - 技能触发时加载(<5k字)
  3. 捆绑资源 - Claude根据需要加载(无限制*)

*无限制是因为脚本可以在不读入上下文窗口的情况下执行。

自动化推荐工具展示

Claude提供自动化推荐工具,可扫描代码库并在每个类别中推荐前1-2个自动化方案,包括MCP服务器、技能、钩子、子代理和插件等类别。

Claude自动化推荐工具界面

技能创建的完整流程

步骤1:通过具体示例理解技能

要创建有效的技能,首先需要清楚地了解技能的使用方式。这可以来自用户的直接示例或经过用户反馈验证的生成示例。

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

  • "图像编辑器技能应支持哪些功能?编辑、旋转,还是其他?"
  • "你能给出一些使用此技能的例子吗?"
  • "我可以想象用户会要求'从这张图片中去除红眼'或'旋转这张图片'。你认为还有其他使用方式吗?"
  • "用户会说什么来触发这个技能?"

步骤2:规划可重用的技能内容

要将具体示例转化为有效技能,需分析每个示例:

  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:验证和测试

对于插件技能,验证包括:

  1. 检查结构:技能目录位于plugin-name/skills/skill-name/
  2. 验证SKILL.md:包含带有名称和描述的前置元数据
  3. 检查触发短语:描述包含特定用户查询
  4. 验证写作风格:主体使用命令式/不定式形式,而非第二人称
  5. 测试渐进式披露:SKILL.md简洁(~1,500-2,000字),详细内容在references/中
  6. 检查引用:所有引用的文件都存在
  7. 验证示例:示例完整且正确
  8. 测试脚本:脚本可执行且工作正常

使用skill-reviewer代理

Ask: "Review my skill and check if it follows best practices"

skill-reviewer代理将检查描述质量、内容组织和渐进式披露。

步骤6:迭代改进

测试技能后,用户可能会请求改进。通常这发生在使用技能后,对技能的表现有最新的了解。

迭代工作流程

  1. 在实际任务上使用技能
  2. 注意困难或低效之处
  3. 确定应如何更新SKILL.md或捆绑资源
  4. 实施更改并再次测试

常见改进

  • 加强描述中的触发短语
  • 将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.md文件
  • 根据质量标准为每个文件评分
  • 基于最佳实践和模板提出更新建议

修订工具展示

在使用Claude Code后,您可能会意识到缺少某些有助于工作的上下文。修订命令可以捕获这些学习:

Claude MD修订工具界面

它能记录:

  • 缺少哪些有助于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...")
  • 留下未引用的资源
  • 包含损坏或不完整的示例
  • 跳过验证

实施工作流程

要为您的插件创建技能,请遵循以下步骤:

  1. 了解用例:确定技能使用的具体示例
  2. 规划资源:确定所需的脚本/参考资料/示例
  3. 创建结构mkdir -p skills/skill-name/{references,examples,scripts}
  4. 编写SKILL.md
    • 带有第三人称描述和触发短语的前置元数据
    • 简洁的主体(1,500-2,000字),采用命令式
    • 引用支持文件
  5. 添加资源:根据需要创建references/、examples/、scripts/
  6. 验证:检查描述、写作风格、组织
  7. 测试:验证技能在预期触发时加载
  8. 迭代:根据使用情况改进

专注于强大的触发描述、渐进式披露和命令式写作风格,以创建在需要时加载并提供有针对性指导的有效技能。

要开始使用Claude插件项目,请克隆仓库:

git clone https://gitcode.com/GitHub_Trending/cl/claude-plugins-official

【免费下载链接】claude-plugins-official Official, Anthropic-managed directory of high quality Claude Code Plugins. 【免费下载链接】claude-plugins-official 项目地址: https://gitcode.com/GitHub_Trending/cl/claude-plugins-official

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐