《The Complete Guide to Building Skills for Claude》中文整理版

author: 周均扬

date:2026.08.29


来源:Anthropic PDF - The Complete Guide to Building Skills for Claude

说明:本文档是对原 PDF 的中文译述与结构化整理,不是逐段逐句的全文翻译。它保留原文的章节脉络、关键概念、技术要求、测试方法和实践模式,并补充了 Codex 环境中的落地写法。

目录

一句话概括

Claude Skill 是一个打包成文件夹的指令集合,用来教 Claude 如何稳定执行某类任务或工作流。放到 Codex 语境中,它也是一种把“什么时候用、怎么做、用哪些工具、如何验证、输出放哪里”写成可复用操作规程的机制。

核心价值不是省几句提示词,而是把重复的偏好、流程、领域知识、质量标准和工具调用方式沉淀下来,让模型在相关任务中自动加载并遵循。

适用对象

1. 基础概念

什么是 Skill

一个 Skill 本质上是一个文件夹,通常包含:

三个核心设计原则

Progressive Disclosure(渐进式披露)

Skill 采用三层加载机制:

这种机制的目标是降低 token 消耗,同时保留专业能力。

Composability(可组合性)

模型可以同时加载多个 Skill。一个好的 Skill 不应假设自己是唯一能力,而要能与其他 Skill 协同。例如,处理 DOCX 时可能同时用到 documents、pdf、visualize 等技能。

Portability(可移植性)

Skill 设计为可在 Claude.ai、Claude Code、API 以及类似 Codex 的 Agent 环境中复用。真正影响可移植性的通常不是 Markdown 本身,而是脚本依赖、路径约定、网络权限、沙盒权限和外部服务连接。

2. Skill 与 MCP 的关系

如果 MCP 提供的是“工具访问层”,包括数据、服务和可调用 API,那么 Skill 提供的是“工作流知识层”,即应该以什么顺序、什么约束、什么验证标准使用这些工具。

MCP 解决的是模型能做什么;Skill 解决的是模型应该怎么做。

没有 Skill 时,用户可能不知道连接器下一步怎么用,每次对话都要重新解释流程,结果也会因提示方式不同而不一致。有 Skill 后,预置工作流可以在需要时自动触发,工具调用更稳定,最佳实践也会嵌入每次交互。

3. 规划与设计

从 2-3 个具体用例开始

在写 Skill 之前,先定义清楚它要支持的少数具体任务。一个好的用例定义应包括:

示例结构:

Use Case: 项目冲刺规划
Trigger: 用户说“帮我规划这个 sprint”或“创建 sprint 任务”
Steps:
1. 从 Linear 获取当前项目状态
2. 分析团队速度与容量
3. 建议任务优先级
4. 在 Linear 中创建带标签和估算的任务
Result: 完成 sprint 规划并创建任务
Verification: Linear 中任务数量、标签、关联关系和负责人正确

三类常见 Skill

类别 1:文档与资产创建

用于稳定生成高质量输出,例如文档、演示、应用、设计、代码等。常见技巧包括嵌入风格指南、品牌规范、模板结构和交付前检查清单。

类别 2:工作流自动化

用于多步骤流程,尤其是需要一致方法论、验证关卡和迭代修正的任务。典型做法是把流程拆成明确步骤,并在关键节点加入检查。

类别 3:MCP 增强

用于给 MCP 工具访问叠加工作流知识。例如,连接器本身只提供 API 能力,而 Skill 可以规定调用顺序、错误处理、领域判断和交付格式。

4. 技术要求

推荐文件结构

your-skill-name/
├── SKILL.md
├── scripts/
│   ├── process_data.py
│   └── validate.ps1
├── references/
│   ├── api-guide.md
│   └── examples/
└── assets/
    └── report-template.md

关键规则

YAML frontmatter

最小格式:

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

name 要求:

description 要求:

可选字段包括 license、compatibility 和 metadata,可用于开源许可、环境要求、作者、版本和 MCP 服务信息。

安全限制:

5. Codex 兼容要点

5.1 Skill 触发与读取

在 Codex 中,Skill 的关键要求是:一旦任务匹配 Skill 描述,Agent 必须先读取对应 SKILL.md,再执行任务。不要假设 Agent “记得”某个 Skill 的内容,因为 Skill 文件可能已经更新。

建议在 SKILL.md 中明确写出:

5.2 用户指令优先级

Codex 场景中通常同时存在多层指令:

实践上,应在 Skill 中提醒 Agent:用户当前明确要求和项目级约束优先;Skill 提供方法论,但不能扩大授权范围。

5.3 文件路径约定

对 Codex 更友好的 Skill 应明确工作目录约定:

5.4 权限与沙盒

Codex 可能限制网络和文件系统写入。Skill 应说明:

5.5 命令行与脚本

Codex Skill 中的脚本建议:

5.6 验证闭环

Codex 更强调“做完并验证”。Skill 应把完成条件写清楚:

5.7 适合 Codex 的 frontmatter 示例

---
name: codex-docx-report
description: Create and verify DOCX reports in Codex. Use when the user asks to generate, edit, translate, or export a Word document, DOCX, or Google Docs-targeted document, especially when visual layout or final file output matters.
compatibility: Codex desktop or Claude Code with Python, python-docx, and document rendering support.
metadata:
  owner: internal-docs
  version: 1.0.0
---

5.8 Codex Skill 正文建议结构

# Skill Name

## When To Use

- Use when ...
- Do not use when ...

## Assumptions

- State assumptions before acting.
- Ask only if a missing decision changes the result materially.

## Workflow

1. Inspect source files or user inputs.
2. Choose the smallest implementation path.
3. Make scoped changes.
4. Verify with the listed checks.
5. Put final outputs in `outputs/`.

## Verification

- Run ...
- Check ...

## Safety

- Do not delete broad directories.
- Request network or filesystem permissions only when needed.

6. 测试与迭代

Skill 可以按不同严谨程度测试:

推荐先聚焦一个困难任务,反复迭代到模型能稳定完成,再把成功做法抽取成 Skill。这样比一开始覆盖大量场景更容易获得有效反馈。

三类测试

触发测试

目标是确认 Skill 在正确场景加载,在无关场景不加载。

应触发的例子:

不应触发的例子:

功能测试

目标是验证 Skill 是否产出正确结果,包括输出是否有效、API 调用是否成功、错误处理是否可行、边界情况是否覆盖。

性能对比

目标是证明 Skill 优于无 Skill 的基线。可以比较往返消息数、失败 API 调用数、token 消耗和用户纠正次数。

Codex 中的最小测试矩阵

测试类型 输入样例 预期行为 通过标准
明确触发 “把这份 PDF 整理成 DOCX” 加载文档/PDF相关 Skill 先读 Skill,再处理文件
改写触发 “输出一个 Word 版本” 判断为 DOCX 创建任务 生成文件并验证
负例 “解释什么是 Skill” 不创建文件 仅回答概念
权限 “下载链接并转换” 如需网络则请求权限 权限范围最小
验证 “完成后检查” 运行可复现检查 报告验证结果

7. 分发与共享

个人用户可以下载 Skill、打包上传到 Claude.ai,或放入 Claude Code/Codex 对应目录中使用。

组织可以通过管理员方式统一部署和管理 Skill,使团队成员自动获得更新版本。

对外分发时,推荐使用 GitHub 仓库,并提供:

API 场景中,可以通过 Skills API 管理 Skill,并在 Messages API 中指定 container.skills,适合产品化应用、生产自动化和大规模评估。

8. 常见模式

Problem-first

从用户问题出发,让 Skill 判断需要哪些工具。适合用户只描述目标、不关心工具细节的场景。

Tool-first

从已有工具出发,让 Skill 教模型如何按最佳实践使用工具。适合 MCP 连接器、内部平台和专业系统。

顺序工作流编排

把任务拆成明确步骤,规定每步输入、输出、依赖、验证方式和失败处理。

多 MCP 协同

当任务跨多个系统,例如 Figma、Google Drive、Linear、Slack 时,Skill 可以规定数据如何在系统之间传递。

迭代式 refinement

适合需要草稿、检查、修正、再验证的任务,例如文档、设计、代码审查和分析报告。

上下文感知工具选择

Skill 可以根据文件类型、任务复杂度、是否需要协作、是否需要外部服务来选择不同路径。

领域智能

把合规、金融、行业规范、组织流程等领域知识写入 Skill,使模型不只会调用工具,还能按专业标准判断。

9. 故障排查

问题 常见原因 处理方式
无法上传 SKILL.md 命名错误、YAML 无效、名称不符合 kebab-case 检查文件名、frontmatter 和目录名
不触发 description 太泛、缺少真实触发短语 增加具体用户表达和文件类型
过度触发 适用范围写得太宽 加入不适用场景,收窄 description
MCP 调用失败 连接、认证、权限、参数或工具名错误 独立测试 MCP,检查日志和参数
指令不被遵循 说明太长、关键要求埋太深、语言模糊 把关键约束前置,必要时脚本化
上下文过大 SKILL.md 塞入太多内容 长文档放入 references/
Codex 中无法写文件 沙盒或路径不在 writable roots 写入 work/ 或 outputs/,必要时请求权限
Codex 中命令失败 Shell 差异、依赖路径不对 使用 bundled runtime,避免平台特定语法

10. 知识图谱

Claude/Codex Skill 知识图谱

graph TD
    A["Claude/Codex Skill<br/>可复用任务与工作流说明包"] --> B["核心价值"]
    A --> C["基本结构"]
    A --> D["设计原则"]
    A --> E["规划与设计"]
    A --> F["测试与迭代"]
    A --> G["Codex 兼容要点"]
    A --> H["分发与共享"]
    A --> I["故障排查"]

    B --> B1["减少重复提示"]
    B --> B2["标准化团队流程"]
    B --> B3["把 MCP 工具访问转化为可靠工作流"]
    B --> B4["提升一致性、可靠性、可迁移性"]

    C --> C1["SKILL.md<br/>必需:说明 + YAML frontmatter"]
    C --> C2["scripts/<br/>可选:确定性脚本与验证"]
    C --> C3["references/<br/>可选:按需加载文档"]
    C --> C4["assets/<br/>可选:模板、字体、图标"]

    D --> D1["Progressive Disclosure"]
    D1 --> D11["Frontmatter<br/>决定何时触发"]
    D1 --> D12["SKILL.md 正文<br/>核心操作说明"]
    D1 --> D13["链接文件<br/>需要时加载"]
    D --> D2["Composability<br/>可与其他 Skill 协同"]
    D --> D3["Portability<br/>跨 Claude.ai、Claude Code、API、Codex"]

    E --> E1["从 2-3 个具体用例开始"]
    E --> E2["三类 Skill"]
    E2 --> E21["文档与资产创建"]
    E2 --> E22["工作流自动化"]
    E2 --> E23["MCP 增强"]
    E --> E3["成功标准"]
    E3 --> E31["触发率"]
    E3 --> E32["工具调用数与 token 成本"]
    E3 --> E33["API 失败率"]
    E3 --> E34["用户纠正次数"]

    F --> F1["触发测试"]
    F --> F2["功能测试"]
    F --> F3["性能对比"]
    F --> F4["真实失败案例回灌"]

    G --> G1["技能必须先读 SKILL.md"]
    G --> G2["用户指令与 AGENTS.md 优先"]
    G --> G3["工具权限与沙盒边界显式处理"]
    G --> G4["输出文件放 outputs/"]
    G --> G5["过程文件放 work/"]
    G --> G6["用验证命令闭环"]

    H --> H1["个人使用"]
    H --> H2["组织部署"]
    H --> H3["GitHub 分发"]
    H --> H4["API 使用"]

    I --> I1["无法上传<br/>检查命名与 YAML"]
    I --> I2["不触发<br/>优化 description 和触发短语"]
    I --> I3["过度触发<br/>缩小适用范围"]
    I --> I4["MCP 失败<br/>检查连接、权限、参数"]
    I --> I5["指令不被遵循<br/>缩短说明、突出关键要求"]
    I --> I6["上下文过大<br/>拆分 references,减少同时加载"]

11. 可复制模板

11.1 最小 Skill 模板

---
name: example-workflow
description: Execute the Example workflow. Use when the user asks to run, validate, export, or troubleshoot Example artifacts.
compatibility: Codex desktop or Claude Code with Python available.
metadata:
  version: 1.0.0
---

# Example Workflow

## When To Use

- Use when the user asks to run the Example workflow.
- Use when the user provides Example source files.
- Do not use for unrelated general explanations.

## Workflow

1. Inspect the source files and state assumptions.
2. Choose the smallest path that satisfies the request.
3. Make only scoped changes.
4. Write user-facing outputs to `outputs/`.
5. Write intermediates to `work/`.
6. Run verification commands before final response.

## Verification

- Confirm expected output files exist.
- Run the project-specific validation command.
- Report anything that could not be verified.

## Safety

- Do not perform destructive operations unless explicitly requested.
- Request network or filesystem permissions only when required.

11.2 MCP 增强型 Skill 模板

---
name: projecthub-sprint-planning
description: Plan sprints in ProjectHub. Use when the user asks to plan a sprint, create sprint tasks, estimate capacity, or sync sprint work into ProjectHub.
compatibility: Requires ProjectHub MCP connection and permission to read projects and create tasks.
metadata:
  mcp-server: projecthub
  version: 1.0.0
---

# ProjectHub Sprint Planning

## Workflow

1. Read current project status from ProjectHub.
2. Ask only for missing constraints that materially change the plan.
3. Estimate team capacity and task priority.
4. Draft the sprint plan for user review when creation is external-state changing.
5. Create or update tasks only after the user has authorized that action.
6. Verify created task count, labels, owners, estimates, and project links.

## Failure Handling

- If authentication fails, report the exact missing connection or permission.
- If API calls partially succeed, summarize what changed and what remains.
- Do not retry destructive or duplicate-creating calls blindly.

12. 实操检查清单

13. 最短路径

如果你要快速做出第一个可用 Skill,可以按这个顺序:

  1. 选一个重复出现、步骤明确的任务。
  2. 写出用户会怎么请求它,以及哪些类似请求不应触发。
  3. 写一个最小 SKILL.md,只保留触发条件、执行步骤和验证标准。
  4. 在 Claude 或 Codex 中连续测试 3-5 次。
  5. 把失败案例补回说明、参考文档或脚本。
  6. 再扩展到第二、第三个用例。
  7. 最后补充分发说明、版本记录和依赖要求。