构建 Claude Skill 标准操作手册(SOP)

一、核心心智模型

1.1 Prompt 与 Skill 的本质区别

维度 Prompt(提示词) Skill(技能)
生命周期 单次对话,即用即抛 持久化,跨会话复用
加载机制 用户每次手动输入 由 Claude 根据 YAML 前置元数据自动判断是否加载
结构深度 扁平文本 三级渐进披露:YAML 前置元数据 → SKILL.md 正文 → 关联文件
可组合性 无法保证多指令协同 多 Skill 可同时加载,协同工作
分发方式 无法分发 支持个人上传、组织部署、API 调用、GitHub 共享

核心洞察:Skill 的本质是将"人在每次对话中重复解释的知识"固化为一套可被机器自动检索、加载和执行的指令包。

1.2 三层 Progressive Disclosure(渐进式信息披露)机制

这是整个 Skill 系统的核心架构——三级加载系统:

code
┌─────────────────────────────────────────────────────┐│  Level 1: YAML 前置元数据                              ││  • 始终驻留在 Claude 的 System Prompt 中                ││  • 仅提供"做什么 + 何时触发"的概要信息                    ││  • 让 Claude 知道何时该用,但不消耗大量上下文              ││  • description 字段上限 1024 字符                      │├─────────────────────────────────────────────────────┤│  Level 2: SKILL.md 正文                               ││  • 当 Claude 判定该 Skill 与当前任务相关时才加载          ││  • 包含完整指令、步骤、示例、故障排除                      ││  • 建议控制在 5,000 词以下                             │├─────────────────────────────────────────────────────┤│  Level 3: 关联文件(references/ 等)                    ││  • Claude 按需自行导航和发现                            ││  • 存放详细文档、API 参考、补充示例                       ││  • 仅在 Claude 认为必要时才读取                         │└─────────────────────────────────────────────────────┘

设计意图:最小化 Token 消耗的同时保持专业化能力。

Claude 判定 Skill "与任务相关"的具体匹配逻辑未公开。在实践中这意味着 description 字段需要反复调试。Debug 方法:直接问 Claude “When would you use the [skill name] skill?”,它会引用 description 回复,据此判断缺失了什么。

1.3 MCP 与 Skill 的分层关系

厨房类比:MCP 提供专业厨房(工具、食材、设备的访问权限),Skill 提供食谱(如何创造有价值成果的分步说明)。

角色 回答的问题
MCP(连接性层) 专业厨房:提供工具、食材、设备的访问权限 “Claude 能做什么?”
Skill(知识层) 食谱:提供分步说明 “Claude 应该怎么做?”

如果你已经有一个可工作的 MCP 服务器,硬件部分就完成了。Skill 是叠加在其上的知识层——捕捉你已知的工作流和最佳实践,让 Claude 持续应用它们。

MCP + Skill 结合前后的效果对比:

没有 Skill 时 有 Skill 时
用户连接了 MCP 但不知道下一步做什么 预构建的工作流在需要时自动激活
支持工单问"怎么用集成做 X" 一致、可靠的工具使用
每次对话从零开始 最佳实践嵌入每次交互
每次提示方式不同导致结果不一致 为集成降低学习曲线
用户责怪连接器,实际是缺工作流指导

1.4 Problem-First vs. Tool-First 的设计取向

类比:像去 Home Depot——带着问题进去(“我需要修橱柜”),店员引导你找到工具;或者挑一把新电钻,问怎么用它。

  • Problem-First(问题优先):用户说"我需要设置一个项目工作区" → Skill 编排正确的 MCP 调用序列。用户描述结果,Skill 处理工具
  • Tool-First(工具优先):用户说"我已连接 Notion MCP" → Skill 教会 Claude 最佳工作流和实践。用户拥有访问权,Skill 提供专业知识

大多数 Skill 偏向一个方向。明确哪种框架适合你的用例,有助于选择正确的工作流模式。


二、标准化构建工作流(SOP)

code
需求定义 ──→ 结构设计 ──→ 编写 SKILL.md ──→ 测试验证 ──→ 分发部署  (Step 1)    (Step 2)     (Step 3)         (Step 4)      (Step 5)

Step 1: 需求定义

在写任何代码之前,先确定 2-3 个具体用例。

用例定义模板:

code
用例:[名称]触发条件:用户说出 [具体短语]步骤:  1. [第一步]  2. [第二步]  ...结果:[可验证的最终产出]

示例——项目 Sprint 规划:

code
用例:Project Sprint Planning触发条件:用户说 "help me plan this sprint" 或 "create sprint tasks"步骤:  1. 从 Linear(通过 MCP)获取当前项目状态  2. 分析团队速度和容量  3. 建议任务优先级排序  4. 在 Linear 中创建带有适当标签和估算的任务结果:完整的 sprint 规划及已创建的任务

自我审查清单:

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

输出标准:

  • [ ] 确定了 2-3 个明确用例
  • [ ] 每个用例有可验证的触发条件和预期结果
  • [ ] 工具需求已明确分类(内置能力 / MCP)
  • [ ] 用例已归属类别

三大用例类别

类别 适用场景 关键技法
文档与资产创建 创建一致、高质量的输出(文档、演示、应用、设计、代码等)。典型案例:frontend-designdocxpptxxlsx 嵌入风格指南和品牌标准;一致性模板结构;定稿前质量检查清单;不需要外部工具——使用 Claude 内置能力
工作流自动化 受益于一致方法论的多步骤流程,包括跨多个 MCP 服务器的协调。典型案例:skill-creator 带验证关卡的分步工作流;常用结构模板;内置审核与改进建议;迭代精炼循环
MCP 增强 为 MCP 服务器提供的工具访问增加工作流指导。典型案例:sentry-code-review 按顺序协调多次 MCP 调用;嵌入领域专业知识;提供用户原本需要自行指定的上下文;针对常见 MCP 问题的错误处理

Step 2: 结构设计

标准文件夹结构:

code
your-skill-name/          # kebab-case 命名├── SKILL.md              # 必需 —— 主 Skill 文件├── scripts/              # 可选 —— 可执行代码├── references/           # 可选 —— 按需加载的文档└── assets/               # 可选 —— 模板、字体、图标等

内容分配原则: SKILL.md 聚焦核心指令,详细文档放 references/ 并链接引用(遵循 Progressive Disclosure)。

命名规则:

规则 正确 错误
仅限 kebab-case notion-project-setup Notion Project Setup
无空格 my-skill my skill
无下划线 my-skill my_skill
无大写字母 my-skill MySkill
SKILL.md 精确大小写 SKILL.md SKILL.MD, skill.md
禁止内部 README.md

Skill 文件夹内部禁止放 README.md(所有文档在 SKILL.mdreferences/ 中)。通过 GitHub 分发时,仓库级别需要 README 面向人类访客。

输出标准:

  • [ ] 文件夹结构已规划
  • [ ] 文件夹名称符合 kebab-case
  • [ ] 内容分级策略已确定(Level 1/2/3 各放什么)
  • [ ] 如需 MCP,已在设计中考量 MCP 工具调用序列

Step 3: 编写 SKILL.md

这是整个构建流程的核心环节。

3A. 先写 YAML 前置元数据

YAML 前置元数据是 Claude 决定是否加载 Skill 的唯一依据

最小格式:

yaml
---name: your-skill-namedescription: What it does. Use when user asks to [specific phrases].---

description 字段公式:

code
[做什么] + [何时使用] + [关键能力/触发短语]

description 直接决定了 Level 1 Progressive Disclosure —— 只提供足够信息让 Claude 知道何时该用,而不加载全部上下文。

description 判定标准:

  • 同时包含"做什么"和"何时触发"
  • 触发短语要具体且可操作(用户实际会说的话)
  • 如相关,提及文件类型
  • 不超过 1024 字符
  • 不包含 XML 标签 < >

好与差的示范:

yaml
# ✅ 好 —— 具体且可操作description: Analyzes Figma design files and generates developer handoffdocumentation. Use when user uploads .fig files, asks for "design specs","component documentation", or "design-to-code handoff".# ✅ 好 —— 包含触发短语description: Manages Linear project workflows including sprint planning,task creation, and status tracking. Use when user mentions "sprint","Linear tasks", "project planning", or asks to "create tickets".# ✅ 好 —— 清晰的价值主张description: End-to-end customer onboarding workflow for PayFlow. Handlesaccount creation, payment setup, and subscription management. Use whenuser says "onboard new customer", "set up subscription", or "createPayFlow account".# ❌ 差 —— 太模糊description: Helps with projects.# ❌ 差 —— 缺少触发条件description: Creates sophisticated multi-page documentation systems.# ❌ 差 —— 太技术化,没有用户触发description: Implements the Project entity model with hierarchicalrelationships.

质量自检:

  • [ ] 是否太泛泛?(“Helps with projects” 不通过)
  • [ ] 是否包含用户实际会说的触发短语?
  • [ ] 是否过度技术化而缺少用户语言?

可选字段:

字段 约束 用途
license MIT, Apache-2.0 等 开源 Skill
compatibility 1-500 字符 标明环境要求:适用产品、系统包、网络访问需求等
metadata 任意键值对 建议字段:author, version, mcp-server
allowed-tools 示例格式:"Bash(python:*) Bash(npm:*) WebFetch" 限制工具访问范围。完整语法规范未公开,参照示例格式使用即可

版本号建议使用 version: 1.0.0 格式,但未强制要求 SemVer。

安全红线(不可违反):

  • ❌ 前置元数据中禁止 < > 字符 —— 前置元数据出现在 System Prompt 中,恶意内容可能注入指令
  • ❌ Skill 名称禁止含 claudeanthropic —— 保留字

3B. 编写主指令正文

标准正文结构:

code
---name: your-skilldescription: [...]---# Your Skill Name## Instructions### Step 1: [First Major Step]Clear explanation of what happens.Example:```bashpython scripts/fetch_data.py --project-id PROJECT_ID```Expected output: [describe what success looks like](Add more steps as needed)## Examples### Example 1: [common scenario]User says: "Set up a new marketing campaign"Actions:1. Fetch existing campaigns via MCP2. Create new campaign with provided parametersResult: Campaign created with confirmation link(Add more examples as needed)## Troubleshooting### Error: [Common error message]Cause: [Why it happens]Solution: [How to fix](Add more error cases as needed)

指令编写原则:

  1. 具体且可操作

    • Run python scripts/validate.py --input {filename} to check data format. If validation fails, common issues include: - Missing required fields (add them to the CSV) - Invalid date formats (use YYYY-MM-DD)
    • Validate the data before proceeding.
  2. 包含错误处理 —— 对每种可预见的错误,提供:错误消息 → 原因 → 解决方案

  3. 显式引用捆绑资源

    • consult references/api-patterns.md for: - Rate limiting guidance - Pagination patterns - Error codes and handling
  4. 关键指令放顶部,用 ## Important## Critical 标题标注

  5. 关键验证优先用脚本而非语言指令 —— 代码是确定性的,语言解释不是。参见 Office skills 的实践模式。

  6. SKILL.md 正文控制在 5,000 词以下 —— 超出时应将详细文档移至 references/

关于模型"惰性":

可添加明确鼓励:

code
## Performance Notes- Take your time to do this thoroughly- Quality is more important than speed- Do not skip validation steps

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

输出标准:

  • [ ] YAML 前置元数据:name kebab-case,description 含 WHAT + WHEN
  • [ ] 无 XML 标签,名称不含保留字
  • [ ] 正文含 Instructions / Examples / Troubleshooting 三段
  • [ ] 指令具体可操作
  • [ ] 错误处理已覆盖可预见的常见错误
  • [ ] references/ 路径引用清晰
  • [ ] SKILL.md 正文 ≤ 5,000 词

Step 4: 测试验证

三种测试方法

方法 平台 适用场景
手动测试 Claude.ai 快速迭代,无需设置
脚本化测试 Claude Code 跨变更的可重复验证
编程化测试 Skills API 系统化评估套件

选择与 Skill 的质量要求和可见度匹配的方法。小团队内部使用的 Skill 与部署给数千企业用户的 Skill,测试需求不同。

迭代策略

先在单个高难度任务上迭代直到 Claude 成功,再将成功方案提取为 Skill,最后扩展到多测试用例。这比广泛测试提供更快的反馈信号。

触发测试

测试用例 预期结果
明显的任务表述 触发
同义的换种说法 触发
不相关的主题 不触发

量化目标: 在 90% 的相关查询上自动触发。运行 10-20 个应触发的测试查询,追踪自动加载 vs. 需要显式调用的比例。

注意: 这是期望目标而非精确阈值——力求严谨但要接受评估中有感性判断的成分。更稳健的评估工具仍在开发中。

Debug 方法: 问 Claude “When would you use the [skill name] skill?”,据此调整 description。

功能测试

  • 有效输出生成
  • API 调用成功
  • 错误处理正常工作
  • 边界情况已覆盖

量化目标: 每次工作流 0 次 API 调用失败。监控 MCP 服务器日志,追踪重试率和错误代码。

性能对比

维度 无 Skill(基线) 有 Skill(目标)
交互方式 用户每次手动提供指令 自动执行工作流
消息数 ~15 条来回消息 ~2 条澄清问题
API 失败 3 次需重试 0 次
Token 消耗 ~12,000 ~6,000(约减半)

质性指标:

  • 用户不需要提示 Claude 下一步做什么 —— 测试期间记录需要重定向或澄清的频率
  • 工作流完成无需用户纠正 —— 同请求运行 3-5 次,比较输出结构一致性
  • 跨会话结果一致 —— 新用户能否以最少指导在第一次尝试时完成任务

迭代方向

信号 症状 措施
Undertriggering(不足触发) Skill 不自动加载;用户手动启用;用户问"什么时候用" description 增加细节和关键词,特别是技术术语
Overtriggering(过度触发) 不相关查询也加载;用户禁用;对用途感到困惑 添加负面触发词(如 Do NOT use for...),进一步具体化范围(如 Processes PDF legal documents for contract review 替代 Processes documents
执行问题 结果不一致;API 调用失败;用户需要纠正 改进指令,增加错误处理

输出标准:

  • [ ] 触发测试通过:明显任务 + 同义表述触发,不相关主题不触发
  • [ ] 功能测试通过:核心工作流可无错完成
  • [ ] 性能对比:Token 消耗和工具调用次数优于无 Skill 基线
  • [ ] 同请求运行 3-5 次,输出结构一致

Step 5: 分发部署

分发路径

路径 操作 适用场景
Claude.ai 个人上传 Settings > Capabilities > Skills > Upload 个人使用
Claude Code 目录 放入 skills 目录 本地开发
组织级部署 管理员工作区范围部署(2025.12.18 上线),支持自动更新和集中管理 团队/企业
API 编程调用 /v1/skills 端点 + container.skills 参数 + Claude Agent SDK 应用程序、Agent、自动化流水线
GitHub 公开发布 公开仓库分发 社区共享

API 使用前提:需要 Code Execution Tool Beta 版,它提供了 Skill 运行所需的安全环境。

API vs. Claude.ai 选择:

Use Case Best Surface
终端用户直接与 Skill 交互 Claude.ai / Claude Code
开发期间手动测试和迭代 Claude.ai / Claude Code
个人、临时工作流 Claude.ai / Claude Code
应用程序以编程方式使用 Skill API
规模化生产部署 API
自动化流水线和 Agent 系统 API

开放标准: Agent Skills 已作为开放标准发布——同一 Skill 在 Claude 和其他 AI 平台上都应该能正常工作。部分 Skill 设计来利用特定平台的能力,可在 compatibility 字段中注明。

GitHub 分发

  1. 托管在 GitHub:公开仓库 + 清晰的 README(面向人类访客)+ 安装说明 + 示例截图
  2. 在 MCP 文档中链接 Skill + 解释结合价值 + 提供快速入门指南
  3. 提供安装指南:git clone 或下载 ZIP → 上传 Claude → 启用 → 测试

Skill 定位原则

  • 聚焦结果而非功能:✅ “The ProjectHub skill enables teams to set up complete project workspaces in seconds” / ❌ “The ProjectHub skill is a folder containing YAML frontmatter and Markdown instructions”
  • 讲好 MCP + Skill 的故事:“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.”

发布检查清单

阶段 检查项
开始前 用例 ✓ · 工具 ✓ · 指南已阅 ✓ · 结构已规划 ✓
开发中 kebab-case ✓ · SKILL.md 精确命名 ✓ · YAML --- 分隔符 ✓ · description 含 WHAT+WHEN ✓ · 无 XML 标签 ✓ · 指令可操作 ✓ · 错误处理 ✓ · 示例 ✓ · 引用链接 ✓
上传前 触发测试 ✓ · 功能测试 ✓ · 压缩 .zip ✓
上传后 真实对话验证 → 监控触发 → 收集反馈 → 迭代 description 和指令 → 更新 metadata 版本号

三、设计原则与避坑指南

3.1 五条核心原则

原则一:Progressive Disclosure

严格遵循 Level 1 (YAML) → Level 2 (SKILL.md) → Level 3 (references/) 的信息分级。若把所有内容塞进 SKILL.md 会导致上下文膨胀和响应变慢。

原则二:Composability(可组合性)

Skill 不能假设自己是唯一的——必须与其他 Skill 共存。Claude 可同时加载多个 Skill。如果同时启用的 Skill 超过 20-50 个,应考虑选择性启用或使用 Skill “packs” 打包相关能力。多 Skill 同时触发时的优先级机制尚未公开。

原则三:Portability(可移植性)

Skill 要在 Claude.ai、Claude Code、API 三个平台上行为一致。前提是环境需支持 Skill 声明的依赖。由于 Agent Skills 已是开放标准,理论上可跨 AI 平台使用,平台特定依赖在 compatibility 字段中注明。

原则四:前置元数据安全

YAML 前置元数据中禁止 < > 字符——前置元数据会出现在 Claude System Prompt 中,恶意内容可能注入指令。Skill 名称禁止含 claudeanthropic。违反会导致上传被拒绝(“Invalid frontmatter” / “Invalid skill name”)。

原则五:SKILL.md 精确命名

文件必须精确命名为 SKILL.md(大小写敏感),不接受任何变体。违反直接报错 “Could not find SKILL.md in uploaded folder”。

3.2 常见错误速查

# 错误 原因 解决方案
1 上传失败:找不到 SKILL.md 文件名不是精确的 SKILL.md 重命名为 SKILL.mdls -la 验证
2 上传失败:Invalid frontmatter YAML 格式问题(缺少 --- 分隔符 / 引号未闭合) 确保 --- 包裹 YAML,检查引号闭合
3 上传失败:Invalid skill name 名称含空格或大写字母 改用 kebab-case
4 Skill 从不自动加载 description 太模糊或缺少触发短语 增加具体触发短语和关键词;Debug:问 Claude “When would you use the [skill name] skill?”
5 Skill 在不相关查询中加载 description 范围太宽 添加负面触发词(Do NOT use for...);更具体化范围(Processes PDF legal documents 替代 Processes documents
6 Skill 加载但 MCP 调用失败 MCP 服务器未连接 / 认证失效 / 工具名错误 按序检查:Settings > Extensions 连接状态 → API 密钥权限 → 不用 Skill 独立测试 MCP → 确认工具名大小写
7 加载但不遵循指令 指令太冗长 / 关键指令被埋没 / 语言含糊 精简 + 关键指令放顶部用 CRITICAL: 标注 + 具体化验证条件;关键验证用脚本代替语言指令
8 响应慢或质量下降 SKILL.md 过大 / 同时启用过多 Skill / 未用 Progressive Disclosure SKILL.md ≤ 5,000 词 + 详细文档放 references/ 并链接 + 超过 20-50 个 Skill 时考虑选择性启用或打包
9 模型跳过验证步骤 模型行为特征 添加 ## Performance Notes(Take your time / Quality > Speed / Don’t skip validation);放用户提示中比放 SKILL.md 中更有效

四、五种工作流模式

这些模式来自早期采用者和内部团队的 Skill 实践经验——是行之有效的常见方法,非规定性模板。

Pattern 1: Sequential Workflow Orchestration(顺序工作流编排)

适用场景: 用户需要按特定顺序执行的多步骤流程。

示例——客户入驻流程: Step 1 创建账户 → Step 2 设置支付 → Step 3 创建订阅(依赖 Step 1 的 customer_id)→ Step 4 发送欢迎邮件

关键技术:

  • 显式的步骤排序
  • 步骤间的依赖关系
  • 每个阶段的验证
  • 失败时的回滚说明

Pattern 2: Multi-MCP Coordination(多 MCP 协调)

适用场景: 工作流跨越多个外部服务。

示例——设计到开发交接: Phase 1 Figma MCP 导出设计资源 → Phase 2 Drive MCP 存储并生成分享链接 → Phase 3 Linear MCP 创建开发任务 → Phase 4 Slack MCP 通知工程团队

关键技术:

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

Pattern 3: Iterative Refinement(迭代精炼)

适用场景: 输出质量依赖反复打磨。

示例——报告生成: Initial Draft → Quality Check(运行 scripts/check_report.py 检查缺失章节/格式一致性/数据错误)→ Refinement Loop(逐项修复 → 重新验证 → 循环直到质量达标)→ Finalization

关键技术:

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

Pattern 4: Context-Aware Tool Selection(上下文感知工具选择)

适用场景: 同一目标,不同上下文用不同工具。

示例——智能文件存储决策树: 检查文件类型和大小 → 大文件(>10MB)用云存储 MCP / 协作文档用 Notion MCP / 代码文件用 GitHub MCP / 临时文件用本地存储 → 向用户解释选择原因

关键技术:

  • 清晰的决策标准
  • 回退选项
  • 对选择的透明性

Pattern 5: Domain-Specific Intelligence(领域特定智能)

适用场景: 需要在工具访问之上嵌入专业领域判断逻辑。

示例——金融合规支付处理: 交易前合规检查(制裁名单 → 司法管辖区 → 风险级别)→ 通过则处理并应用欺诈检测 / 不通过则标记审查并创建合规案件 → 生成完整审计追踪

关键技术:

  • 领域专业知识嵌入判断逻辑
  • 操作前先合规/检查
  • 全面文档记录
  • 清晰的治理规则

模式速选表

你的场景 首选模式
多步骤、有明确先后顺序 Pattern 1: 顺序工作流编排
跨越多个外部服务 Pattern 2: 多 MCP 协调
输出质量依赖反复打磨 Pattern 3: 迭代精炼
同一目标、工具依上下文而变 Pattern 4: 上下文感知工具选择
需要嵌入专业领域判断 Pattern 5: 领域特定智能

五、可复用模板

5.1 文件夹模板

code
your-skill-name/               # ← kebab-case├── SKILL.md                   # 必需,大小写敏感├── scripts/                   # 可选,可执行代码(Python, Bash 等)│   ├── process_data.py│   └── validate.sh├── references/                # 可选,按需加载的文档│   ├── api-guide.md│   └── examples/└── assets/                    # 可选,模板、字体、图标等    └── report-template.md

5.2 SKILL.md 内容模板

[中括号内容] 替换为你的具体信息:

markdown
---name: [your-skill-name]description: >-  [What it does - 1 sentence].  Use when user [trigger conditions - specific phrases users say].  [Key capabilities - optional additional detail].license: [MIT or Apache-2.0, optional]compatibility: [environment requirements, optional]metadata:  author: [Your Name / Company]  version: 1.0.0  mcp-server: [server-name, if applicable]---# [Skill Display Name]## Instructions### Step 1: [First Major Step]Clear explanation of what happens in this step.```bashpython scripts/[script-name].py --param VALUE```Expected output: [describe what success looks like]### Step 2: [Second Major Step][Clear explanation...]<!-- Add more steps as needed -->## Examples### Example 1: [Common Scenario]**User says:** "[actual user phrase]"**Actions:**1. [Action 1 - e.g., Fetch existing data via MCP]2. [Action 2 - e.g., Process and transform]3. [Action 3 - e.g., Create output]**Result:** [Verifiable outcome]### Example 2: [Another Scenario]**User says:** "[actual user phrase]"**Actions:**1. [Action 1]2. [Action 2]**Result:** [Verifiable outcome]<!-- Add more examples as needed -->## Troubleshooting### Error: [Common Error Message]**Cause:** [Why it happens]**Solution:**1. [Step to fix]2. [Step to fix]### Error: [Another Common Error]**Cause:** [Why it happens]**Solution:** [How to fix]<!-- Add more error cases as needed -->

5.3 YAML 前置元数据速查表

yaml
# ===== 必需字段 =====---name: skill-name-in-kebab-case   # 必须与文件夹名一致description: >-                  # ≤1024 字符,无 <>,含"做什么+何时用"  [What it does].  Use when user [trigger conditions].---# ===== 全部可选字段 =====---name: skill-namedescription: >-  [required description]license: MIT                     # MIT | Apache-2.0 | ...compatibility: >-                # 1-500 字符  [intended product, required system packages, network access, etc.]allowed-tools: "Bash(python:*) Bash(npm:*) WebFetch"  # 限制工具访问metadata:                        # 自定义键值对  author: Company Name  version: 1.0.0  mcp-server: server-name  category: productivity  tags: [project-management, automation]  documentation: https://example.com/docs  support: support@example.com---# ===== 安全红线 =====# 禁止: <> XML 尖括号(出现在 System Prompt 中有注入风险)# 禁止: 名称含 "claude" 或 "anthropic"(保留字)# 允许: 所有标准 YAML 类型(字符串、数字、布尔、列表、对象)