# 企业级 Skills

在企业规模部署 Agent Skills 的治理、安全审查、评估和组织指南。

---

本指南面向需要在组织中治理 Agent Skills 的企业管理员和架构师。涵盖如何审查、评估、部署和管理大规模 Skills。有关编写指南，请参阅[最佳实践](/docs/en/agents-and-tools/agent-skills/best-practices)。有关架构详情，请参阅 [Skills 概览](/docs/en/agents-and-tools/agent-skills/overview)。

## 安全审查和审核

在企业中部署 Skills 需要回答两个不同的问题：

1. **Skills 总体上安全吗？** 有关平台级安全详情，请参阅概览中的[安全注意事项](/docs/en/agents-and-tools/agent-skills/overview#security-considerations)部分。
2. **如何审查特定的 Skill？** 使用下面的风险评估和审查清单。

### 风险等级评估

在批准部署之前，根据这些风险指标评估每个 Skill：

| 风险指标 | 关注内容 | 关注级别 |
|---|---|---|
| 代码执行 | Skill 目录中的脚本（`*.py`、`*.sh`、`*.js`） | 高：脚本以完全环境访问权限运行 |
| 指令操纵 | 指示忽略安全规则、对用户隐藏操作或有条件地改变 Claude 行为的指令 | 高：可能绕过安全控制 |
| MCP 服务器引用 | 引用 MCP 工具的指令（`ServerName:tool_name`） | 高：扩展超出 Skill 本身的访问权限 |
| 网络访问模式 | URL、API 端点、`fetch`、`curl` 或 `requests` 调用 | 高：潜在数据泄露向量 |
| 硬编码凭据 | Skill 文件或脚本中的 API 密钥、令牌或密码 | 高：在 Git 历史和上下文窗口中暴露的密钥 |
| 文件系统访问范围 | Skill 目录外的路径、宽泛的 glob 模式、路径遍历（`../`） | 中：可能访问非预期数据 |
| 工具调用 | 指示 Claude 使用 bash、文件操作或其他工具的指令 | 中：审查执行的操作 |

### 审查清单

在部署任何来自第三方或内部贡献者的 Skill 之前，完成以下步骤：

1. **阅读所有 Skill 目录内容。** 审查 SKILL.md、所有引用的 markdown 文件以及任何捆绑的脚本或资源。
2. **验证脚本行为与声明目的一致。** 在沙盒环境中运行脚本，确认输出与 Skill 的描述一致。
3. **检查对抗性指令。** 查找指示 Claude 忽略安全规则、对用户隐藏操作、通过响应泄露数据或根据特定输入改变行为的指令。
4. **检查外部 URL 获取或网络调用。** 在脚本和指令中搜索网络访问模式（`http`、`requests.get`、`urllib`、`curl`、`fetch`）。
5. **验证无硬编码凭据。** 检查 Skill 文件中的 API 密钥、令牌或密码。凭据应使用环境变量或安全凭据存储，不应出现在 Skill 内容中。
6. **识别 Skill 指示 Claude 调用的工具和命令。** 列出所有 bash 命令、文件操作和工具引用。当 Skill 同时使用文件读取和网络工具时，考虑组合风险。
7. **确认重定向目标。** 如果 Skill 引用外部 URL，验证它们指向预期的域。
8. **验证无数据泄露模式。** 查找读取敏感数据然后写入、发送或编码以进行外部传输的指令，包括通过 Claude 的对话响应。

<Warning>
未经完整审计，切勿部署来自不受信任来源的 Skills。恶意 Skill 可能指示 Claude 执行任意代码、访问敏感文件或向外部传输数据。以与在生产系统上安装软件相同的严谨性对待 Skill 安装。
</Warning>

## 部署前评估 Skills

如果 Skills 触发不正确、与其他 Skills 冲突或提供糟糕的指令，可能会降低智能体性能。要求在任何生产部署前进行评估。

### 评估内容

在部署任何 Skill 之前，为这些维度建立批准门槛：

| 维度 | 衡量内容 | 失败示例 |
|---|---|---|
| 触发准确性 | Skill 是否为正确的查询激活，对不相关的查询保持不活跃？ | Skill 在每次提到电子表格时都触发，即使用户只想讨论数据 |
| 隔离行为 | Skill 单独工作是否正确？ | Skill 引用其目录中不存在的文件 |
| 共存性 | 添加此 Skill 是否会降低其他 Skills 的性能？ | 新 Skill 的描述过于宽泛，从现有 Skills 抢走触发 |
| 指令遵循 | Claude 是否准确遵循 Skill 的指令？ | Claude 跳过验证步骤或使用错误的库 |
| 输出质量 | Skill 是否产生正确、有用的结果？ | 生成的报告有格式错误或数据缺失 |

### 评估要求

要求 Skill 作者提交评估套件，每个 Skill 3-5 个代表性查询，覆盖 Skill 应该触发、不应该触发和模糊边缘情况。要求在组织使用的模型（Haiku、Sonnet、Opus）上进行测试，因为 Skill 的有效性因模型而异。

有关构建评估的详细指南，请参阅最佳实践中的[评估和迭代](/docs/en/agents-and-tools/agent-skills/best-practices#evaluation-and-iteration)。有关一般评估方法，请参阅[开发测试用例](/docs/en/test-and-evaluate/develop-tests)。

### 使用评估进行生命周期决策

评估结果表明何时采取行动：

- **触发准确性下降**：更新 Skill 的描述或指令
- **共存冲突**：合并重叠的 Skills 或缩小描述
- **输出质量持续低下**：重写指令或添加验证步骤
- **跨更新持续失败**：弃用该 Skill

## Skill 生命周期管理

<Steps>
  <Step title="规划">
    识别重复性、易出错或需要专业知识的工作流。将这些映射到组织角色，并确定哪些适合作为 Skills。
  </Step>
  <Step title="创建和审查">
    确保 Skill 作者遵循[最佳实践](/docs/en/agents-and-tools/agent-skills/best-practices)。使用上面的[审查清单](#review-checklist)进行安全审查。批准前要求评估套件。建立职责分离：Skill 作者不应是自己的审查者。
  </Step>
  <Step title="测试">
    要求在隔离环境（单独 Skill）和与现有 Skills 一起（共存测试）中进行评估。在批准生产之前，验证触发准确性、输出质量以及在活跃 Skill 集中无回归。
  </Step>
  <Step title="部署">
    通过 Skills API 上传以实现工作区范围访问。参阅[使用 API 的 Skills](/docs/en/build-with-claude/skills-guide)了解上传和版本管理。在内部注册表中记录 Skill 的目的、所有者和版本。
  </Step>
  <Step title="监控">
    跟踪使用模式并收集用户反馈。定期重新运行评估以检测工作流和模型演变时的漂移或回归。使用分析目前不可通过 Skills API 获取。实现应用级日志以跟踪请求中包含的 Skills。
  </Step>
  <Step title="迭代或弃用">
    要求在推广新版本之前通过完整评估套件。当工作流变更或评估分数下降时更新 Skills。当评估持续失败或工作流退役时弃用 Skills。
  </Step>
</Steps>

## 大规模组织 Skills

### 召回限制

作为一般准则，限制同时加载的 Skills 数量以保持可靠的召回准确性。每个 Skill 的元数据（名称和描述）在系统提示中竞争注意力。当太多 Skills 活跃时，Claude 可能无法选择正确的 Skill 或完全错过相关的 Skill。使用评估套件测量添加 Skills 时的召回准确性，当性能下降时停止添加。

请注意，API 请求每个请求最多支持 8 个 Skills（参阅[使用 API 的 Skills](/docs/en/build-with-claude/skills-guide)）。如果角色需要的 Skills 超过单个请求支持的数量，考虑将窄范围的 Skills 合并为更广泛的，或根据任务类型将请求路由到不同的 Skill 集。

### 从具体开始，后续合并

鼓励团队从窄范围的、工作流特定的 Skills 开始，而不是宽泛的、多用途的。当组织中出现模式时，将相关的 Skills 合并为基于角色的捆绑包。

<Tip>
使用评估来决定何时合并。仅当合并后的 Skill 的评估确认与其替代的单个 Skills 性能相当时，才将窄范围的 Skills 合并为更广泛的。
</Tip>

**示例进展**：
- 开始：`formatting-sales-reports`、`querying-pipeline-data`、`updating-crm-records`
- 合并：`sales-operations`（当评估确认性能相当）

### 命名和编目

在组织中使用一致的命名约定。最佳实践中的[命名约定](/docs/en/agents-and-tools/agent-skills/best-practices#naming-conventions)部分提供格式化指南。

为每个 Skill 维护内部注册表，包含：
- **目的**：Skill 支持的工作流
- **所有者**：负责维护的团队或个人
- **版本**：当前部署版本
- **依赖**：所需的 MCP 服务器、包或外部服务
- **评估状态**：上次评估日期和结果

### 基于角色的捆绑包

按组织角色分组 Skills，保持每个用户的活跃 Skill 集专注：

- **销售团队**：CRM 操作、管道报告、提案生成
- **工程**：代码审查、部署工作流、事件响应
- **财务**：报告生成、数据验证、审计准备

每个基于角色的捆绑包应仅包含与该角色日常工作流相关的 Skills。

## 分发和版本控制

### 源代码控制

将 Skill 目录存储在 Git 中以进行历史跟踪、通过拉取请求进行代码审查和回滚能力。每个 Skill 目录（包含 SKILL.md 和任何捆绑文件）自然映射到 Git 跟踪的文件夹。

### 基于 API 的分发

Skills API 提供工作区范围的分发。通过 API 上传的 Skills 对所有工作区成员可用。参阅[使用 API 的 Skills](/docs/en/build-with-claude/skills-guide)了解上传、版本管理和管理端点。

### 版本策略

- **生产**：将 Skills 固定到特定版本。在推广新版本之前运行完整评估套件。将每次更新视为需要完整安全审查的新部署。
- **开发和测试**：使用最新版本在生产推广之前验证变更。
- **回滚计划**：维护前一个版本作为后备。如果新版本在生产中评估失败，立即恢复到上一个已知良好版本。
- **完整性验证**：计算已审查 Skills 的校验和，并在部署时验证。在 Skill 仓库中使用签名提交以确保来源。

### 跨平台注意事项

<Warning>
自定义 Skills 不会跨平台同步。上传到 API 的 Skills 在 claude.ai 或 Claude Code 中不可用，反之亦然。每个平台需要单独的上传和管理。
</Warning>

将 Skill 源文件维护在 Git 中作为唯一的真实来源。如果您的组织跨多个平台部署 Skills，请实现自己的同步过程以保持一致。完整详情请参阅[跨平台可用性](/docs/en/agents-and-tools/agent-skills/overview#cross-surface-availability)。

## 后续步骤

<CardGroup cols={2}>
  <Card
    title="Agent Skills 概览"
    icon="book-open"
    href="/docs/en/agents-and-tools/agent-skills/overview"
  >
    架构和平台详情
  </Card>
  <Card
    title="最佳实践"
    icon="lightbulb"
    href="/docs/en/agents-and-tools/agent-skills/best-practices"
  >
    Skill 创建者的编写指南
  </Card>
  <Card
    title="使用 API 的 Skills"
    icon="code"
    href="/docs/en/build-with-claude/skills-guide"
  >
    以编程方式上传和管理 Skills
  </Card>
</CardGroup>
