文章总结: 本文详细介绍了如何为Claude构建Skills,Skills是一组打包在文件夹中的指令,用于教导Claude处理特定任务。文档阐述了Skills的核心设计原则(渐进式披露、可组合性、可移植性)、文件结构、YAML前置元数据格式、常见用例类别以及测试与迭代方法。Skills可增强Claude的能力,特别是在与MCP集成时,能将原始工具访问转化为优化的工作流程。文档提供了实用示例和技术规范,帮助用户在15-30分钟内构建可用的Skill。 综合评分: 85 文章分类: AI安全,应用安全,解决方案,安全开发
为 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.MD、skill.md等)
Skill 文件夹命名:
- 使用 kebab-case:
notion-project-setup - 无空格:
Notion Project Setup❌ - 无下划线:
notion_project_setup❌ - 无大写:
NotionProjectSetup❌
不要 README.md:
- 不要在你的 Skill 文件夹中包含
README.md - 所有文档都放在
SKILL.md或references/中 - 注意:通过 GitHub 分发时,你仍然需要用于人类用户的仓库级 README —— 参见「分发与分享」
字段要求
name(必需):
- 仅限 kebab-case
- 无空格或大写
- 应与文件夹名称匹配
description(必需):
-
必须同时包含两者:
-
Skill 的功能
-
何时使用它(触发条件)
-
少于 1024 个字符
-
无 XML 标签(
<或>) -
包含用户可能说的具体任务
-
如果相关,提及文件类型
license(可选):
- 如果将 Skill 开源则使用
- 常见:MIT、Apache-2.0
compatibility(可选):
- 1-500 个字符
- 指示环境要求:例如目标产品、所需的系统包、网络访问需求等
metadata(可选):
- 任何自定义键值对
- 建议:
author、version、mcp-server - 示例:
metadata:
author: ProjectHub
version: 1.0.0
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:
- 下载 Skill 文件夹
- 压缩文件夹(如果需要)
- 通过 Claude.ai 的 设置 > 能力 > Skills 上传
- 或放置在 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:
克隆仓库:`git clone https://github.com/yourcompany/skills`
或从 Releases 下载 ZIP
2. 在 Claude 中安装:
- 打开 Claude.ai > Settings > skills
- 单击"Upload skill"
- 选择 skill 文件夹(压缩的)
3. 启用 skill:
- 切换 [你的服务] skill
- 确保你的 MCP 服务器已连接
4. 测试:
- 询问 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. 将交接总结发布到 #engineering
2. 包含资产链接和任务引用
关键技术:
- 清晰的阶段分离
- MCP 之间的数据传递
- 移动到下一阶段之前的验证
- 集中式错误处理
模式 3:迭代优化
使用场景:输出质量随着迭代而提高。
示例:报告生成
## 迭代报告创建
### 初始草稿
1. 通过 MCP 获取数据
2. 生成第一份报告草稿
3. 保存到临时文件
### 质量检查
1. 运行验证脚本:`scripts/check_report.py`
2. 识别问题:
- 缺少部分
- 格式不一致
- 数据验证错误
### 优化循环
1. 解决每个识别的问题
2. 重新生成受影响的章节
3. 重新验证
4. 重复直到满足质量阈值
### 最终确定
1. 应用最终格式化
2. 生成摘要
3. 保存最终版本
关键技术:
- 明确的质量标准
- 迭代改进
- 验证脚本
- 知道何时停止迭代
模式 4:上下文感知的工具选择
使用场景:相同结果,根据上下文使用不同工具。
示例:文件存储
## 智能文件存储
### 决策树
1. 检查文件类型和大小
2. 确定最佳存储位置:
- 大文件(>10MB):使用云存储 MCP
- 协作文档:使用 Notion/Docs MCP
- 代码文件:使用 GitHub MCP
- 临时文件:使用本地存储
### 执行存储
根据决策:
- 调用适当的 MCP 工具
- 应用服务特定的元数据
- 生成访问链接
### 向用户提供上下文
解释为什么选择该存储
关键技术:
- 清晰的决策标准
- 后备选项
- 关于选择的透明度
模式 5:领域特定智能
使用场景:你的 Skill 添加了工具访问之外的专门知识。
示例:金融合规
## 带有合规性的付款处理
### 处理之前(合规检查)
1. 通过 MCP 获取交易详情
2. 应用合规规则:
- 检查制裁名单
- 验证司法管辖区允许
- 评估风险级别
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 加载无关查询
解决方案:
- 添加负面触发器
description: CSV 文件的高级数据分析。用于统计建模、回归、聚类。不要用于简单数据探索(改用 data-viz skill)。
- 更加具体
# 太宽泛
description: Processes documents
# 更具体
description: Processes PDF legal documents for contract review
- 阐明范围
description: PayFlow 电子商务付款处理。专门用于在线付款工作流程,而非一般金融查询。
MCP 连接问题
症状:Skill 加载但 MCP 调用失败
检查清单:
- 验证 MCP 服务器已连接
- Claude.ai:设置 > 扩展 > [你的服务]
- 应显示”Connected”状态
- 检查身份验证
- API 密钥有效且未过期
- 授予了适当的权限/范围
- OAuth 令牌已刷新
- 独立测试 MCP
- 要求 Claude 直接调用 MCP(无 Skill)
- “Use [Service] MCP to fetch my projects”
- 如果失败,问题在 MCP 而非 Skill
- 验证工具名称
- Skill 引用正确的 MCP 工具名称
- 检查 MCP 服务器文档
- 工具名称区分大小写
指令未遵循
症状:Skill 加载但 Claude 不遵循指令
常见原因:
- 指令过于冗长
- 保持指令简洁
- 使用要点和编号列表
- 将详细参考移至单独文件
- 指令被埋没
- 将关键指令放在顶部
- 使用 ## 重要或 ## 关键标题
- 如有必要重复要点
- 语言模糊不良:
Make sure to validate things properly
良好:
## 关键:在调用 create_project 之前,验证:
- 项目名称非空
- 至少分配了一名团队成员
- 开始日期不在过去
高级技术:对于关键验证,考虑捆绑一个脚本,以编程方式执行检查,而不是依赖语言指令。代码是确定性的;语言解释不是。参见 Office skills 的此模式示例。
- 模型”懒惰”添加明确鼓励:
## 性能说明
花时间彻底地做这件事
质量比速度更重要
不要跳过验证步骤
注意:将此添加到用户提示比在 SKILL.md 中更有效。
大上下文问题
症状:Skill 似乎缓慢或响应降级
原因:
- Skill 内容过大
- 同时启用的 Skills 过多
- 加载所有内容而不是渐进式披露
解决方案:
- 优化 SKILL.md 大小
- 将详细文档移至
references/ - 链接到引用而不是内联
- 保持 SKILL.md 在 5,000 字以下
- 减少启用的 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:
author: YourTeam
version: 1.2.0
mcp-server: linear
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 的完整指南》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。





![[视频]红队攻防-高级LNK快捷方式](/images/random/titlepic/10.jpg)




评论