为Claude构建Skills的完整指南

admin 2026-03-03 05:38:10 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细介绍了如何为Claude构建Skills,Skills是一组打包在文件夹中的指令,用于教导Claude处理特定任务。文档阐述了Skills的核心设计原则(渐进式披露、可组合性、可移植性)、文件结构、YAML前置元数据格式、常见用例类别以及测试与迭代方法。Skills可增强Claude的能力,特别是在与MCP集成时,能将原始工具访问转化为优化的工作流程。文档提供了实用示例和技术规范,帮助用户在15-30分钟内构建可用的Skill。 综合评分: 85 文章分类: AI安全,应用安全,解决方案,安全开发


cover_image

为 Claude 构建 Skills 的完整指南

原创

simeon的文章 simeon的文章

小兵搞安全

2026年2月26日 00:00 北京

目录

  • 引言
  • 第一章:基础
  • 第二章:规划与设计
  • 第三章:测试与迭代
  • 第四章:分发与分享
  • 第五章:模式与故障排除
  • 第六章:资源与参考
  • 参考附录

引言

什么是 Skill(技能)?

Skill 是一组打包在简单文件夹中的指令,用于教导 Claude 如何处理特定任务或工作流程。Skills 是为你的特定需求定制 Claude 的最强大方式之一。

与其在每次对话中重复解释你的偏好、流程和领域专业知识,不如通过 Skills 教导 Claude 一次,然后在每次使用中受益。

本指南的两条路径

构建独立 Skills?→ 重点关注「基础」、「规划与设计」和类别 1-2。

增强 MCP 集成?→ 「Skills + MCP」部分和类别 3 适合你。

两条路径共享相同的技术要求,你可以根据用例选择相关内容。

Skills 的适用场景

Skills 在以下场景下最强大:

  • 从规格生成前端设计
  • 使用一致的方法进行研究
  • 创建符合团队风格指南的文档
  • 协调多步骤流程

它们与 Claude 的内置功能(如代码执行和文档创建)配合良好。对于构建 MCP 集成的开发者来说,Skills 增加了另一层强大的功能,帮助将原始工具访问转化为可靠、优化的工作流程。

预期成果

阅读完本指南后,你将能够在一次会话中构建一个可用的 Skill。预计首次构建和测试一个可用的 Skill 需要15-30 分钟

第一章:基础

什么是 Skill?

一个 Skill 是一个包含以下内容的文件夹:

your-skill/
├── SKILL.md          (必需)带有 YAML 前置元数据的 Markdown 指令
├── scripts/          (可选)可执行代码(Python、Bash 等)
├── references/       (可选)按需加载的文档
└── assets/           (可选)输出中使用的模板、字体、图标

核心设计原则

1. 渐进式披露

Skills 使用三级系统:

  • 第一级(YAML 前置元数据)

  • 始终加载到 Claude 的系统提示词中

  • 提供足够信息,让 Claude 知道何时应该使用每个 Skill,而无需将所有内容加载到上下文中

  • 第二级(SKILL.md 主体)

  • 当 Claude 认为 Skill 与当前任务相关时加载

  • 包含完整指令和指导

  • 第三级(链接文件)

  • 打包在 Skill 目录中的额外文件

  • Claude 可以选择仅在需要时导航和发现

这种渐进式披露在保持专业化知识的同时,最大限度地减少 token 使用。

2. 可组合性

Claude 可以同时加载多个 Skills。你的 Skill 应该能够与其他 Skills 协同工作,而不是假设它是唯一可用的能力。

3. 可移植性

Skills 在 Claude.ai、Claude Code 和 API 上的工作方式完全相同。创建一次 Skill 即可在所有平台上使用,无需修改,只要环境支持 Skill 所需的任何依赖项。

Skills + MCP 连接器

对于 MCP 构建者

构建不带 MCP 的独立 Skills?→ 跳到「规划与设计」,你可以稍后再回到这里。

如果你已经有一个可用的 MCP 服务器,你已经完成了最困难的部分。Skills 是位于其上的知识层,捕捉你已经知道的工作流程和最佳实践,以便 Claude 能够一致地应用它们。

厨房类比

  • MCP 提供专业厨房:访问工具、食材和设备
  • Skills 提供食谱:如何创造有价值东西的分步说明

它们如何协同工作

| | | | — | — | | MCP(连接性) | Skills(知识) | | 将 Claude 连接到你的服务(Notion、Asana、Linear 等) | 教导 Claude 如何有效使用你的服务 | | 提供实时数据访问和工具调用 | 捕捉工作流程和最佳实践 | | Claude 能做什么 | Claude 应该怎么做 |

这对 MCP 用户为何重要

没有 Skills:

  • 用户连接了 MCP 但不知道接下来该做什么
  • 关于”如何用你的集成做 X”的支持工单
  • 每次对话都从头开始
  • 由于用户每次提示不同,结果不一致
  • 用户责怪连接器,真正的问题是工作流程指导

有了 Skills:

  • 预构建的工作流程在需要时自动激活
  • 一致、可靠的工具使用
  • 每次交互都嵌入最佳实践
  • 集成的学习曲线更低

第二章:规划与设计

从用例开始

在编写任何代码之前,确定 2-3 个你的 Skill 应该支持的具体用例。

良好的用例定义示例

用例:项目冲刺规划
触发器:用户说"帮我规划这个冲刺"或"创建冲刺任务"
步骤:
1. 从 Linear 获取当前项目状态(通过 MCP)
2. 分析团队速度和容量
3. 建议任务优先级
4. 在 Linear 中创建带有正确标签和估算的任务
结果:完全规划的冲刺,任务已创建

自问以下问题:

  • 用户想要完成什么?
  • 这需要哪些多步骤工作流程?
  • 需要哪些工具(内置或 MCP)?
  • 应该嵌入哪些领域知识或最佳实践?

常见的 Skill 用例类别

在 Anthropic,我们观察到三种常见用例:

类别 1:文档与资产创建

用于:创建一致、高质量的输出,包括文档、演示文稿、应用程序、设计、代码等。

真实示例:frontend-design skill(另见 docx、pptx、xlsx 和 ppt 的 skills)

“创建独特、生产级的前端界面,具有高设计质量。在构建 Web 组件、页面、工件、海报或应用程序时使用。”

关键技术:

  • 嵌入式风格指南和品牌标准
  • 一致输出的模板结构
  • 最终确定前的质量检查清单
  • 无需外部工具,使用 Claude 的内置能力

类别 2:工作流自动化

用于:从一致方法论中受益的多步骤流程,包括跨多个 MCP 服务器的协调。

真实示例:skill-creator skill

“创建新 Skills 的交互式指南。引导用户完成用例定义、前置元数据生成、指令编写和验证。”

关键技术:

  • 带有验证门控的分步工作流程
  • 常见结构的模板
  • 内置的审查和改进建议
  • 迭代优化循环

类别 3:MCP 增强

用于:工作流程指导,以增强 MCP 服务器提供的工具访问。

真实示例:sentry-code-review skill(来自 Sentry)

“使用 Sentry 的错误监控数据通过其 MCP 服务器自动分析和修复 GitHub 拉取请求中检测到的错误。”

关键技术:

  • 按顺序协调多个 MCP 调用
  • 嵌入领域专业知识
  • 提供用户否则需要指定的上下文
  • 常见 MCP 问题的错误处理

定义成功标准

你如何知道你的 Skill 正在工作?

这些是预期目标——粗略的基准,而不是精确的阈值。旨在严格,但要接受会有基于直觉的评估成分。我们正在积极开发更强大的测量指南和工具。

定量指标:

| | | | | — | — | — | | 指标 | 目标 | 如何测量 | | Skill 在 90% 的相关查询中触发 | 90% | 运行 10-20 个应该触发你的 Skill 的测试查询。跟踪自动加载与需要显式调用的次数 | | 在 X 次工具调用中完成工作流程 | 优化后减少 | 比较启用和不启用 Skill 时的同一任务。计算工具调用和消耗的总 token | | 每个工作流程 0 次失败的 API 调用 | 0 | 在测试运行期间监控 MCP 服务器日志。跟踪重试率和错误代码 |

定性指标:

| | | | | — | — | — | | 指标 | 目标 | 如何评估 | | 用户不需要提示 Claude 下一步 | 无需引导 | 在测试期间,注意你需要重定向或澄清的频率。向测试用户询问反馈 | | 工作流程在无需用户更正的情况下完成 | 独立完成 | 运行相同请求 3-5 次。比较输出在结构一致性和质量方面的差异 | | 跨会话结果一致 | 新用户可上手 | 新用户能否在首次尝试时在最少指导下完成任务? |

技术要求

文件结构

your-skill/
└── SKILL.md

YAML 前置元数据:最重要的部分

YAML 前置元数据是 Claude 决定是否加载你的 Skill 的方式。务必做好。

最小必需格式

---
name: your-skill-name
description: 它的功能。当用户询问 [特定短语] 时使用。
---

这就是开始所需的全部内容。

关键规则

SKILL.md 命名:

  • 必须完全为SKILL.md(区分大小写)
  • 不接受变体(SKILL.MDskill.md等)

Skill 文件夹命名:

  • 使用 kebab-case:notion-project-setup
  • 无空格:Notion Project Setup
  • 无下划线:notion_project_setup
  • 无大写:NotionProjectSetup

不要 README.md:

  • 不要在你的 Skill 文件夹中包含README.md
  • 所有文档都放在SKILL.mdreferences/
  • 注意:通过 GitHub 分发时,你仍然需要用于人类用户的仓库级 README —— 参见「分发与分享」

字段要求

name(必需):

  • 仅限 kebab-case
  • 无空格或大写
  • 应与文件夹名称匹配

description(必需):

  • 必须同时包含两者

  • Skill 的功能

  • 何时使用它(触发条件)

  • 少于 1024 个字符

  • 无 XML 标签(<>

  • 包含用户可能说的具体任务

  • 如果相关,提及文件类型

license(可选):

  • 如果将 Skill 开源则使用
  • 常见:MIT、Apache-2.0

compatibility(可选):

  • 1-500 个字符
  • 指示环境要求:例如目标产品、所需的系统包、网络访问需求等

metadata(可选):

  • 任何自定义键值对
  • 建议:authorversionmcp-server
  • 示例:
metadata:
&nbsp; author: ProjectHub
&nbsp; version: 1.0.0
&nbsp; mcp-server: projecthub

安全限制

前置元数据中禁止:

  • XML 尖括号(< >
  • 名称中包含 “claude” 或 “anthropic” 的 Skills(保留)

原因:

前置元数据出现在 Claude 的系统提示词中。恶意内容可能会注入指令。

编写有效的 Skills

Description 字段

根据 Anthropic 的工程博客:”此元数据……提供了足够的信息,让 Claude 知道何时应该使用每个 Skill,而无需将所有内容加载到上下文中。”这是渐进式披露的第一级。

结构:

[它的功能] + [何时使用] + [关键能力]

良好描述的示例:

# 良好:具体且可操作的描述
description: 分析 Figma 设计文件并生成开发者交接文档。当用户上传 .fig 文件、询问"设计规范"、"组件文档"或"设计到代码交接"时使用。

# 良好:包含触发短语
description: 管理 Linear 项目工作流程,包括冲刺规划、任务创建和状态跟踪。当用户提及"sprint"、"Linear tasks"、"项目规划"或要求"创建工单"时使用。

# 良好:清晰的价值主张
description: PayFlow 的端到端客户入职工作流程。处理账户创建、付款设置和订阅管理。当用户说"onboard new customer"、"set up subscription"或"create PayFlow account"时使用。

糟糕描述的示例:

# 太模糊
description: Helps with projects.
# 缺少触发器
description: Creates sophisticated multi-page documentation systems.
# 太技术化,无用户触发器
description: Implements the Project entity model with hierarchical relationships.

编写主要指令

在前置元数据之后,在 Markdown 中编写实际指令。

推荐的结构:

为你的 Skill 调整此模板。将括号内的部分替换为你的特定内容。

---
name: your-skill
description: [...]
---

# 你的 Skill 名称

## 指令

### 步骤 1:[第一个主要步骤]
对发生的事情的清晰解释。

示例:

bash python scripts/fetchdata.py –project-id PROJECTID

预期输出:[描述成功时的样子]

(根据需要添加更多步骤)

## 示例

### 示例 1:[常见场景]

用户说:"设置一个新的营销活动"操作:

1. 通过 MCP 获取现有活动
2. 使用提供的参数创建新活动结果:创建活动并提供确认链接

(根据需要添加更多示例)

## 故障排除

### 错误:[常见错误消息]

原因:[为什么会发生]解决方案:[如何修复]

(根据需要添加更多错误情况)

指令最佳实践

要具体且可操作

良好:

运行 `python scripts/validate.py --input {filename}` 检查数据格式。

如果验证失败,常见问题包括:
- 缺少必填字段(添加到 CSV)
- 无效的日期格式(使用 YYYY-MM-DD)

糟糕:

在继续之前验证数据。

包含错误处理

## 常见问题

### ❌ MCP 连接失败
如果看到"Connection refused":
1. 验证 MCP 服务器正在运行:检查 设置 > 扩展
2. 确认 API 密钥有效
3. 尝试重新连接:设置 > 扩展 > [你的服务] > 重新连接

### ✅ API 速率限制
如果收到 429 错误:
1. 等待 60 秒
2. 重试请求
3. 考虑批量处理

清晰地引用捆绑资源

在编写查询之前,请查阅 `references/api-patterns.md` 以获取:
- 速率限制指导
- 分页模式
- 错误代码和处理

使用渐进式披露

保持SKILL.md专注于核心指令。将详细文档移至references/并链接到它。(参见核心设计原则,了解三级系统如何工作。)

第三章:测试与迭代

Skills 可以在不同严格程度下进行测试

  • Claude.ai 中的手动测试:直接运行查询并观察行为。快速迭代,无需设置。
  • Claude Code 中的脚本测试:自动化测试用例,以便在更改之间进行可重复验证。
  • 通过 Skills API 的程序化测试:构建评估套件,对定义的测试集进行系统性运行。

选择符合你的质量需求和 Skill 可见性的方法。小型团队内部使用的 Skill 与部署给数千企业用户的 Skill 有不同的测试需求。

专业技巧:在扩展之前先对单个任务进行迭代

我们发现,最有效的 Skill 创建者会先在一个具有挑战性的任务上迭代,直到 Claude 成功,然后将成功的方法提取到 Skill 中。这利用了 Claude 的上下文学习能力,比广泛测试提供更快的信号。一旦你有了一个可工作的基础,就可以扩展到多个测试用例以覆盖更多场景。

推荐的测试方法

根据早期经验,有效的 Skills 测试通常涵盖三个领域:

1. 触发测试

目标:确保你的 Skill 在正确的时间加载。

测试用例:

  • ✅ 在明显任务上触发
  • ✅ 在改写的请求上触发
  • ✅ 不在无关话题上触发

示例测试套件:

应该触发:

"Help me set up a new ProjectHub workspace"
"I need to create a project in ProjectHub"
"Initialize a ProjectHub project for Q4 planning"

不应该触发:

"What's the weather in San Francisco?"
"Help me write Python code"
"Create a spreadsheet"(除非 ProjectHub skill 处理表格)

2. 功能测试

目标:验证 Skill 产生正确的输出。

测试用例:

  • ✅ 生成有效的输出
  • ✅ API 调用成功
  • ✅ 错误处理工作
  • ✅ 覆盖边缘情况

示例:

测试:创建包含 5 个任务的项目

给定:项目名称 “Q4 Planning”,5 个任务描述

当:Skill 执行工作流程

则:

  • ✅ ProjectHub 中创建了项目
  • ✅ 创建了 5 个任务,属性正确
  • ✅ 所有任务链接到项目
  • ✅ 无 API 错误

3. 性能对比

目标:证明 Skill 相比基线提高了结果。

使用「定义成功标准」中的指标。以下是对比可能的样子。

基线对比:

没有 Skill:

  • 用户每次提供指令
  • 15 次来回消息
  • 3 次失败的 API 调用需要重试
  • 消耗 12,000 个 token

有 Skill:

  • 自动工作流程执行
  • 仅 2 个澄清问题
  • 0 次失败的 API 调用
  • 消耗 6,000 个 token

使用 skill-creator skill

skill-creator skill可通过 Claude.ai 中的插件目录或 Claude Code 的下载获得,可以帮助你构建和迭代 Skills。如果你有一个 MCP 服务器并且知道你的前 2-3 个工作流程,你可以在一次会话中构建和测试一个可用的 Skill —— 通常在 15-30 分钟内。

创建 Skills:

  • 从自然语言描述生成 Skills
  • 生成格式正确的带有前置元数据的 SKILL.md
  • 建议触发短语和结构

审查 Skills:

  • 标记常见问题(模糊的描述、缺少触发器、结构问题)
  • 识别潜在的过度/不足触发风险
  • 根据 Skill 的既定用途建议测试用例

迭代改进:

  • 使用你的 Skill 并遇到边缘情况或失败后,将这些示例带回 skill-creator
  • 示例:”使用此聊天中发现的问题和解决方案来改进 Skill 如何处理 [特定边缘情况]”

使用方法:

"Use the skill-creator skill to help me build a skill for [你的用例]"

执行问题:

  • 不一致的结果
  • API 调用失败
  • 需要用户更正

解决方案:改进指令,添加错误处理

基于反馈的迭代

Skills 是活的文档。计划基于以下内容进行迭代:

不足触发信号:

  • Skill 在应该加载时不加载
  • 用户手动启用它
  • 关于何时使用它的支持问题

解决方案:向 description 添加更多细节和细微差别,这可能包括关键词,特别是对于技术术语

过度触发信号:

  • Skill 加载无关查询
  • 用户禁用它
  • 对用途的困惑

解决方案:添加负面触发器,更加具体

第四章:分发与分享

Skills 让你的 MCP 集成更完整

当用户比较连接器时,那些带有 Skills 的连接器提供更快的价值路径,给你一个优于仅有 MCP 替代方案的优势。

当前分发模式(2026 年 1 月)

个人用户如何获取 Skills:

  1. 下载 Skill 文件夹
  2. 压缩文件夹(如果需要)
  3. 通过 Claude.ai 的 设置 > 能力 > Skills 上传
  4. 或放置在 Claude Code 的 skills 目录中

组织级 Skills:

  • 管理员可以跨工作空间部署 Skills(2025 年 12 月 18 日发布)
  • 自动更新
  • 集中管理

开放标准

我们已将Agent Skills发布为开放标准。像 MCP 一样,我们认为 Skills 应该可移植到各种工具和平台 —— 无论你是使用 Claude 还是其他 AI 平台,同一个 Skill 都应该工作。也就是说,有些 Skill 旨在充分利用特定平台的能力;作者可以在 Skill 的 compatibility 字段中注明这一点。

我们一直在与生态系统成员合作制定该标准,我们对早期采用感到兴奋。

通过 API 使用 Skills

对于程序化使用情况,如构建应用程序、代理或利用 Skills 的自动化工作流程,API 提供了对 Skill 管理和执行的直接控制。

关键能力:

  • 用于列出和管理 Skills 的/v1/skills端点
  • 通过container.skills参数将 Skills 添加到 Messages API 请求
  • 通过 Claude Console 进行版本控制和管理
  • 与 Claude Agent SDK 一起工作,用于构建自定义代理

何时通过 API 使用 Skills vs. Claude.ai:

表格

| | | | — | — | | 用例 | 最佳平台 | | 最终用户直接与 Skills 交互 | Claude.ai / Claude Code | | 开发期间的手动测试和迭代 | Claude.ai / Claude Code | | 个人、临时工作流程 | Claude.ai / Claude Code | | 应用程序以编程方式使用 Skills | API | | 大规模生产部署 | API | | 自动化管道和代理系统 | API |

注意事项

Skills 在 API 中需要代码执行工具测试版,它提供 Skills 运行所需的保护环境。

有关实现细节,请参阅:

  • Skills API 快速入门
  • 创建自定义 Skills
  • Agent SDK 中的 Skills

今天推荐的方法

首先在 GitHub 上托管你的 Skill,使用:

  • 公开仓库(适用于开源 Skills)
  • 清晰的 README(用于人类访问者 —— 这与你的 Skill 文件夹分开,后者不应包含 README.md)
  • 带有屏幕截图的示例用法

然后在你的 MCP 文档中添加一个部分,链接到 Skill,解释为什么同时使用两者是有价值的,并提供快速入门指南。

1. 托管在 GitHub

  • 用于开源 Skills 的公开仓库
  • 带有安装说明的清晰 README
  • 示例用法和屏幕截图

2. 在你的 MCP 仓库中记录

  • 从 MCP 文档链接到 Skills
  • 解释同时使用两者的价值
  • 提供快速入门指南

3. 创建安装指南

## 安装 [你的服务] skill

1. 下载 skill:
&nbsp; &nbsp;克隆仓库:`git clone https://github.com/yourcompany/skills`
&nbsp; &nbsp;或从 Releases 下载 ZIP

2. 在 Claude 中安装:
&nbsp; &nbsp;- 打开 Claude.ai > Settings > skills
&nbsp; &nbsp;- 单击"Upload skill"
&nbsp; &nbsp;- 选择 skill 文件夹(压缩的)

3. 启用 skill:
&nbsp; &nbsp;- 切换 [你的服务] skill
&nbsp; &nbsp;- 确保你的 MCP 服务器已连接

4. 测试:
&nbsp; &nbsp;- 询问 Claude:"在 [你的服务] 中设置一个新项目"

定位你的 Skill

你如何描述你的 Skill 决定了用户是否理解其价值并实际尝试它。在撰写关于你的 Skill 时 —— 在你的 README、文档或营销中 —— 记住这些原则。

糟糕:“The ProjectHub skill is a folder containing YAML frontmatter and Markdown instructions that calls our MCP server tools.”

良好:“The ProjectHub skill enables teams to set up complete project workspaces in seconds — including pages, databases, and templates — instead of spending 30 minutes on manual setup.”

强调 MCP + Skills 的故事:

“Our MCP server gives Claude access to your Linear projects. Our skills teach Claude your team’s sprint planning workflow. Together, they enable AI-powered project management.”

第五章:模式与故障排除

模式 1:顺序工作流程编排

使用场景:你的用户需要按特定顺序的多步骤流程。

示例结构:

## 工作流程:入职新客户

### 步骤 1:创建账户
调用 MCP 工具:`create_customer`
参数:name, email, company

### 步骤 2:设置付款
调用 MCP 工具:`setup_payment_method`
等待:付款方式验证

### 步骤 3:创建订阅
调用 MCP 工具:`create_subscription`
参数:plan_id, customer_id(来自步骤 1)

### 步骤 4:发送欢迎电子邮件
调用 MCP 工具:`send_email`
模板:welcome_email_template

关键技术:

  • 明确的步骤排序
  • 步骤之间的依赖关系
  • 每个阶段的验证
  • 失败的回滚指令

模式 2:多 MCP 协调

使用场景:工作流程跨越多个服务。

示例:设计到开发的交接

### 阶段 1:设计导出(Figma MCP)
1. 从 Figma 导出设计资产
2. 生成设计规范
3. 创建资产清单

### 阶段 2:资产存储(Drive MCP)
1. 在 Drive 中创建项目文件夹
2. 上传所有资产
3. 生成可共享链接

### 阶段 3:任务创建(Linear MCP)
1. 创建开发任务
2. 将资产链接附加到任务
3. 分配给工程团队

### 阶段 4:通知(Slack MCP)
1. 将交接总结发布到&nbsp;#engineering
2. 包含资产链接和任务引用

关键技术:

  • 清晰的阶段分离
  • MCP 之间的数据传递
  • 移动到下一阶段之前的验证
  • 集中式错误处理

模式 3:迭代优化

使用场景:输出质量随着迭代而提高。

示例:报告生成

## 迭代报告创建

### 初始草稿
1. 通过 MCP 获取数据
2. 生成第一份报告草稿
3. 保存到临时文件

### 质量检查
1. 运行验证脚本:`scripts/check_report.py`
2. 识别问题:
&nbsp; &nbsp;- 缺少部分
&nbsp; &nbsp;- 格式不一致
&nbsp; &nbsp;- 数据验证错误

### 优化循环
1. 解决每个识别的问题
2. 重新生成受影响的章节
3. 重新验证
4. 重复直到满足质量阈值

### 最终确定
1. 应用最终格式化
2. 生成摘要
3. 保存最终版本

关键技术:

  • 明确的质量标准
  • 迭代改进
  • 验证脚本
  • 知道何时停止迭代

模式 4:上下文感知的工具选择

使用场景:相同结果,根据上下文使用不同工具。

示例:文件存储

## 智能文件存储

### 决策树
1. 检查文件类型和大小
2. 确定最佳存储位置:
&nbsp; &nbsp;- 大文件(>10MB):使用云存储 MCP
&nbsp; &nbsp;- 协作文档:使用 Notion/Docs MCP
&nbsp; &nbsp;- 代码文件:使用 GitHub MCP
&nbsp; &nbsp;- 临时文件:使用本地存储

### 执行存储
根据决策:
- 调用适当的 MCP 工具
- 应用服务特定的元数据
- 生成访问链接

### 向用户提供上下文
解释为什么选择该存储

关键技术:

  • 清晰的决策标准
  • 后备选项
  • 关于选择的透明度

模式 5:领域特定智能

使用场景:你的 Skill 添加了工具访问之外的专门知识。

示例:金融合规

## 带有合规性的付款处理

### 处理之前(合规检查)
1. 通过 MCP 获取交易详情
2. 应用合规规则:
&nbsp; &nbsp;- 检查制裁名单
&nbsp; &nbsp;- 验证司法管辖区允许
&nbsp; &nbsp;- 评估风险级别
3. 记录合规决策

### 处理
如果合规通过:
- 调用付款处理 MCP 工具
- 应用适当的欺诈检查
- 处理交易
否则:
- 标记供审查
- 创建合规案例

### 审计跟踪
- 记录所有合规检查
- 记录处理决策
- 生成审计报告

关键技术:

  • 嵌入在逻辑中的领域专业知识
  • 行动前的合规性
  • 全面的文档记录
  • 清晰的治理

故障排除

Skill 无法上传

症状:错误”Could not find SKILL.md in uploaded folder”

原因:文件未完全命名为 SKILL.md

解决方案:

  • 重命名为 SKILL.md(区分大小写)
  • 验证:ls -la应显示 SKILL.md

Skill 无法触发

症状:Skill 从未自动加载

错误:“Invalid frontmatter”

原因:YAML 格式问题

常见错误:

# ❌ 错误:缺少分隔符
name: my-skill
description: Does things

# ❌ 错误:未闭合的引号
name: my-skill
description: "Does things

# ✅ 正确
---
name: my-skill
description: Does things
---

错误:“Invalid skill name”

原因:名称中有空格或大写

Skill 触发过于频繁

症状:Skill 加载无关查询

解决方案:

  1. 添加负面触发器
description: CSV 文件的高级数据分析。用于统计建模、回归、聚类。不要用于简单数据探索(改用 data-viz skill)。
  1. 更加具体
# 太宽泛
description: Processes documents

# 更具体
description: Processes PDF legal documents for contract review
  1. 阐明范围
description: PayFlow 电子商务付款处理。专门用于在线付款工作流程,而非一般金融查询。

MCP 连接问题

症状:Skill 加载但 MCP 调用失败

检查清单:

  1. 验证 MCP 服务器已连接
  • Claude.ai:设置 > 扩展 > [你的服务]
  • 应显示”Connected”状态
  1. 检查身份验证
  • API 密钥有效且未过期
  • 授予了适当的权限/范围
  • OAuth 令牌已刷新
  1. 独立测试 MCP
  • 要求 Claude 直接调用 MCP(无 Skill)
  • “Use [Service] MCP to fetch my projects”
  • 如果失败,问题在 MCP 而非 Skill
  1. 验证工具名称
  • Skill 引用正确的 MCP 工具名称
  • 检查 MCP 服务器文档
  • 工具名称区分大小写

指令未遵循

症状:Skill 加载但 Claude 不遵循指令

常见原因:

  1. 指令过于冗长
  • 保持指令简洁
  • 使用要点和编号列表
  • 将详细参考移至单独文件
  1. 指令被埋没
  • 将关键指令放在顶部
  • 使用 ## 重要或 ## 关键标题
  • 如有必要重复要点
  1. 语言模糊不良:
Make sure to validate things properly

良好:

## 关键:在调用 create_project 之前,验证:
- 项目名称非空
- 至少分配了一名团队成员
- 开始日期不在过去

高级技术:对于关键验证,考虑捆绑一个脚本,以编程方式执行检查,而不是依赖语言指令。代码是确定性的;语言解释不是。参见 Office skills 的此模式示例。

  1. 模型”懒惰”添加明确鼓励:
## 性能说明
花时间彻底地做这件事
质量比速度更重要
不要跳过验证步骤

注意:将此添加到用户提示比在 SKILL.md 中更有效。

大上下文问题

症状:Skill 似乎缓慢或响应降级

原因:

  • Skill 内容过大
  • 同时启用的 Skills 过多
  • 加载所有内容而不是渐进式披露

解决方案:

  1. 优化 SKILL.md 大小
  • 将详细文档移至references/
  • 链接到引用而不是内联
  • 保持 SKILL.md 在 5,000 字以下
  1. 减少启用的 Skills
  • 评估你是否同时启用了超过 20-50 个 Skills
  • 建议选择性启用
  • 考虑相关功能的 Skill “包”

第六章:资源与参考

如果你正在构建你的第一个 Skill,请从最佳实践指南开始,然后根据需要参考 API 文档。

官方文档

Anthropic 资源:

  • 最佳实践指南
  • Skills 文档
  • API 参考
  • MCP 文档

博客文章:

  • 介绍 Agent Skills
  • 工程博客:为现实世界配备代理
  • Skills 解释
  • 如何为 Claude 创建 Skills
  • 为 Claude Code 构建 Skills
  • 通过 Skills 改进前端设计

示例 Skills

公共 Skills 仓库:

  • GitHub:anthropics/skills
  • 包含你可以自定义的 Anthropic 创建的 Skills

工具和实用程序

skill-creator skill:

  • 内置于 Claude.ai 并可用于 Claude Code
  • 可以从描述生成 Skills
  • 审查并提供建议
  • 使用:”Help me build a skill using skill-creator”

验证:

  • skill-creator 可以评估你的 Skills
  • 询问:”Review this skill and suggest improvements”

获取支持

对于技术问题:

  • 一般问题:Claude 开发者 Discord 上的社区论坛

对于错误报告:

  • GitHub Issues:anthropics/skills/issues
  • 包括:Skill 名称、错误消息、重现步骤

参考附录

参考 A:快速检查清单

使用此检查清单在上传前后验证你的 Skill。如果你想要更快的开始,使用 skill-creator skill 生成你的第一个草稿,然后运行此列表以确保你没有遗漏任何东西。

开始之前

  • 识别了 2-3 个具体用例
  • 识别了工具(内置或 MCP)
  • 审查了本指南和示例 Skills
  • 规划了文件夹结构

开发期间

  • 文件夹命名为 kebab-case
  • SKILL.md 文件存在(确切拼写)
  • YAML 前置元数据有---分隔符
  • name 字段:kebab-case,无空格,无大写
  • description 包括 WHAT 和 WHEN
  • 无任何位置的 XML 标签(< >
  • 指令清晰且可操作
  • 包含错误处理
  • 提供了示例
  • References 清楚链接

上传之前

  • 在明显任务上测试触发
  • 在改写的请求上测试触发
  • 验证不在无关话题上触发
  • 功能测试通过
  • 工具集成工作(如果适用)
  • 压缩为 .zip 文件

上传之后

  • 在真实对话中测试
  • 监控不足/过度触发
  • 收集用户反馈
  • 迭代 description 和指令
  • 更新 metadata 中的版本

参考 B:YAML 前置元数据

安全说明

允许:

  • 标准 YAML 语法
  • ASCII 和 Unicode 字符
  • 引号字符串

禁止:

  • XML 标签(< >
  • 代码注入模式
  • 保留名称(”claude”、”anthropic”)

完整示例

---
name: project-sprint-planner
description: 管理 Linear 项目工作流程,包括冲刺规划、任务创建和状态跟踪。当用户提及"sprint"、"Linear tasks"、"项目规划"或要求"创建工单"时使用。专为开发团队优化,支持速度估算和标签管理。
license: MIT
compatibility: 需要 Linear MCP 服务器
metadata:
&nbsp; author: YourTeam
&nbsp; version: 1.2.0
&nbsp; mcp-server: linear
&nbsp; tags: [project-management, sprint-planning, workflow]
---

# Linear 冲刺规划器

## 概述
此 Skill 协调完整的项目冲刺规划工作流程,从分析团队容量到创建带估算的任务。

## 工作流程

### 步骤 1:分析项目状态

bash python scripts/fetchsprintdata.py –project-id {PROJECT_ID}

### 步骤 2:计算容量

* 检索团队速度历史
* 考虑即将到来的休假
* 计算可用容量点数

### 步骤 3:创建任务

调用`linear_create_task`为每个冲刺项目。

## 示例

**用户:**"为我们即将到来的冲刺规划任务"**Claude:**

1. 获取当前冲刺数据
2. 分析团队容量
3. 创建带估算的 12 个任务
4. 在 Linear 中设置冲刺

## 故障排除

### 错误:API 速率限制

**解决方案:**等待 60 秒并重试

恭喜!  你现在拥有了创建、测试和分发有效 Skills 的所有知识。

祝构建愉快!🚀 “`


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:小兵搞安全 simeon的文章 simeon的文章《为 Claude 构建 Skills 的完整指南》

评论:0   参与:  0