企业级 Skills

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


本指南面向需要在组织中治理 Agent Skills 的企业管理员和架构师。涵盖如何审查、评估、部署和管理大规模 Skills。有关编写指南,请参阅最佳实践。有关架构详情,请参阅 Skills 概览

安全审查和审核

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

  1. Skills 总体上安全吗? 有关平台级安全详情,请参阅概览中的安全注意事项部分。
  2. 如何审查特定的 Skill? 使用下面的风险评估和审查清单。

风险等级评估

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

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

审查清单

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

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

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

部署前评估 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 的有效性因模型而异。

有关构建评估的详细指南,请参阅最佳实践中的评估和迭代。有关一般评估方法,请参阅开发测试用例

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

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

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

Skill 生命周期管理

  1. 规划

    识别重复性、易出错或需要专业知识的工作流。将这些映射到组织角色,并确定哪些适合作为 Skills。

  2. 创建和审查

    确保 Skill 作者遵循最佳实践。使用上面的审查清单进行安全审查。批准前要求评估套件。建立职责分离:Skill 作者不应是自己的审查者。

  3. 测试

    要求在隔离环境(单独 Skill)和与现有 Skills 一起(共存测试)中进行评估。在批准生产之前,验证触发准确性、输出质量以及在活跃 Skill 集中无回归。

  4. 部署

    通过 Skills API 上传以实现工作区范围访问。参阅使用 API 的 Skills了解上传和版本管理。在内部注册表中记录 Skill 的目的、所有者和版本。

  5. 监控

    跟踪使用模式并收集用户反馈。定期重新运行评估以检测工作流和模型演变时的漂移或回归。使用分析目前不可通过 Skills API 获取。实现应用级日志以跟踪请求中包含的 Skills。

  6. 迭代或弃用

    要求在推广新版本之前通过完整评估套件。当工作流变更或评估分数下降时更新 Skills。当评估持续失败或工作流退役时弃用 Skills。

大规模组织 Skills

召回限制

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

请注意,API 请求每个请求最多支持 8 个 Skills(参阅使用 API 的 Skills)。如果角色需要的 Skills 超过单个请求支持的数量,考虑将窄范围的 Skills 合并为更广泛的,或根据任务类型将请求路由到不同的 Skill 集。

从具体开始,后续合并

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

Tip

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

示例进展

  • 开始:formatting-sales-reportsquerying-pipeline-dataupdating-crm-records
  • 合并:sales-operations(当评估确认性能相当)

命名和编目

在组织中使用一致的命名约定。最佳实践中的命名约定部分提供格式化指南。

为每个 Skill 维护内部注册表,包含:

  • 目的:Skill 支持的工作流
  • 所有者:负责维护的团队或个人
  • 版本:当前部署版本
  • 依赖:所需的 MCP 服务器、包或外部服务
  • 评估状态:上次评估日期和结果

基于角色的捆绑包

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

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

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

分发和版本控制

源代码控制

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

基于 API 的分发

Skills API 提供工作区范围的分发。通过 API 上传的 Skills 对所有工作区成员可用。参阅使用 API 的 Skills了解上传、版本管理和管理端点。

版本策略

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

跨平台注意事项

Warning

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

将 Skill 源文件维护在 Git 中作为唯一的真实来源。如果您的组织跨多个平台部署 Skills,请实现自己的同步过程以保持一致。完整详情请参阅跨平台可用性

后续步骤