
Agent Skills(以下简称 Skills)作为一种开放标准,通过将“操作性知识”封装为模块化的单元,彻底重构了智能体的能力构建方式 。Skills 不仅仅是提示词的集合,它们是包含指令(SKILL.md)、执行脚本(Scripts)、参考资料(References)和资产模版(Assets)的完整软件工件 。这种架构实现了“渐进式披露”(Progressive Disclosure),即智能体仅在需要时加载特定的技能上下文,从而在保持通用推理能力的同时,具备了深度的垂直领域执行力 。
在【Agent Skills: 从通用AI到垂直领域】一文中,我们已经对此有所阐述。本文将深入剖析 Skills 的技术架构,并通过 DevOps 日志分析、数据工程合规、自动化 QA 测试及企业级代码审计等四个维度的深度案例,展示如何将人类专家的隐性知识转化为可版本控制、可复用的智能体技能。

MCP 与 Skills 的二元论在构建智能体时,明确区分 模型上下文协议(MCP) 与 Agent Skills 是至关重要的。混淆这两者是导致智能体行为不可控的主要原因 。
如果没有 Skill,仅有 MCP 的智能体就像一个初入厨房的学徒,虽然拥有所有刀具(工具),但可能切伤手指或做出一团糟的菜肴。Skill 就是那位站在旁边的米其林大厨,手把手指导:“先切洋葱,再热油,最后放入香料” 。
一个标准的 Agent Skill 不是一个单一文件,而是一个符合开放标准的目录结构。这种结构化设计使得技能可以在不同的 AI 工具(如 Claude Code, GitHub Copilot, Cursor)之间移植 。
SKILL.md 是技能的入口文件,它结合了 YAML 前置元数据(Frontmatter)与 Markdown 指令体。
YAML Frontmatter 的关键作用
name: enterprise-log-analyzer
description: 专用于分析生产环境日志的技能。当用户要求诊断错误、分析流量峰值或查找异常模式时触发。
allowed-tools: ["grep-tool", "python-script-runner", "read-file"]
disable-model-invocation: false为了保持上下文的整洁,复杂的逻辑应从 SKILL.md 中剥离,放入子目录:

在掌握了基础架构后,企业级应用需要建立一套标准化的技能生产流水线。Anthropic 提供的 skill-creator 本身就是一个能够“制造技能的技能”,它展示了递归式 AI 开发的潜力。
skill-creator 的核心是一个名为 init_skill.py 的 Python 脚本,它负责自动化生成符合标准的技能脚手架 。通过分析该脚本的逻辑,我们可以洞察标准技能结构的强制性要求。代码逻辑与结构规范:当用户向 Claude 发出指令“创建一个新的数据可视化技能”时,skill-creator 会调用此脚本:逻辑重构示意
def init_skill(skill_name, output_path):
# 1. 创建标准目录结构
os.makedirs(f"{output_path}/{skill_name}/scripts")
os.makedirs(f"{output_path}/{skill_name}/references")
os.makedirs(f"{output_path}/{skill_name}/assets")
# 2. 生成 SKILL.md 模版
frontmatter = f"""---
name: {skill_name}
description:
---
"""
body = """#
## 指令
[在此处添加 Claude 在激活时应遵循的详细步骤]
## 示例
- 用法示例 1
"""
# 3. 写入文件
write_file(f"{output_path}/{skill_name}/SKILL.md", frontmatter + body)
# 4. 生成示例脚本,引导开发者使用脚本而非纯提示词
write_file(f"{output_path}/{skill_name}/scripts/example.py", "# 示例脚本")这一流程不仅仅是文件操作,它强制执行了“配置即代码”(Configuration as Code)的理念。通过统一的脚手架,团队中产生的所有技能都具有相同的结构,这对于后续的维护和共享至关重要 。
随着技能数量的增加,安全性成为核心考量。社区开发出的 skill-scanner 工具揭示了企业在引入外部技能时必须进行的检查 。 扫描器的关键检查项:
这种“编写-扫描-部署”的流程,标志着 Agent Skills 已从实验性的提示词工程迈向了成熟的软件工程 。

在运维领域,日志分析是典型的“高噪音、低价值密度”任务。传统的做法是工程师手动使用 grep 或构建复杂的 ELK 面板。利用 Agent Skills,我们可以构建一个 Log Analyzer,它不仅能读取日志,还能像资深运维工程师一样进行推理和归因。
挑战:
该技能的核心在于通过脚本预处理数据,仅将“特征”传递给 LLM 进行推理。
SKILL.md 核心指令片段(重构):
当用户要求分析日志文件时,严禁直接读取整个文件。必须遵循以下步骤:
"发现 3 个主要错误模式。模式 A (ConnectionRefused) 出现 500 次,集中在 10:00-10:05,疑似服务崩溃导致的级联重试。"一个极具启发性的高级用法是“基于日志生成技能” 。 当 log-analyzer 识别出一个频繁出现且修复步骤固定的错误(例如“磁盘空间不足需清理 /tmp”),它可以建议用户创建一个新的自动化技能。
流程:
这种自我进化的能力,使得运维系统能够随着时间的推移变得越来越智能,逐步将人工操作固化为自动化的资产。

金融行业对数据的准确性和安全性有着极其严苛的要求。本次展示了如何利用 Skills 架构在保证合规的前提下实现 Text-to-SQL 的数据分析 。
在金融数据上运行 LLM 生成的 SQL 语句存在巨大风险:幻觉可能导致查询错误的数据,而恶意的提示注入可能导致数据被删除。通过 Skills 构建一个多层防御体系。
并非直接让 LLM 连接数据库,而是设计了两个独立的 Skill:
技能职责分离
组件 | 职责描述 | 实现机制 |
|---|---|---|
CAS360 Skill | 业务逻辑、合规要求、表结构映射 | SKILL.md 中包含 ASIC 合规检查清单和特定表(如 Companies, Trusts)的元数据描述 |
SQL Analyst Skill | SQL 生成、语法校验、安全阻断 | scripts/validate_sql.py 正则检查,拦截 DROP, DELETE 等高危命令 |
执行层 | 查询运行与结果导出 | 结果不直接返回对话框,而是保存为 CSV 至 S3,仅返回下载链接 |
在处理大数据量查询时,BGL 采用了一种极其重要的策略——上下文绕过(Context Bypassing)。
问题: 如果 SQL 查询返回 10 万行数据,直接将结果塞回 LLM 上下文会瞬间溢出或产生巨额费用。
Skill 解决方案: 在 SQL Analyst Skill 中,指令明确规定:
"执行查询后,使用 scripts/save_to_s3.py 将结果集保存为 CSV 文件。不要将结果文本输出到对话中,仅返回文件的签名下载链接和前 5 行预览数据。"这种设计使得智能体能够处理 GB 级别的数据分析任务,而自身仅消耗极少的 token 。
技能展示了如何将复杂的法律合规逻辑注入智能体。该技能不仅知道如何查询数据,还知道 ASIC(澳大利亚证券投资委员会)的具体规定,例如 Form 484 的提交截止日期。
实现逻辑: Skill 目录中包含 references/asic_deadlines.md。当用户问“哪些公司面临逾期风险?”时,智能体首先加载该参考文档获取当前年份的截止规则,然后生成 SQL 查询筛选出符合条件的公司记录。这种将“法规文本”与“代码逻辑”动态结合的能力,是纯代码方案难以实现的 。

Web 测试通常需要与浏览器进行复杂的交互,这是纯文本模型无法直接完成的。通过集成 Playwright 工具,webapp-testing 技能成为了一个能够像人类测试员一样操作浏览器的“无头智能体” 。
在本地开发环境中测试 Web 应用时,最大的痛点是环境管理。如果服务器未启动,测试必然失败。webapp-testing 技能引入了 with_server.py 脚本来解决这一问题,展示了智能体对环境的“感知”与“控制”能力 。 实战工作流:
Web 测试极其容易因为网络延迟或页面渲染速度而出现“抖动”(Flaky Tests)。为了解决这个问题,Skill 采用了 序列化编排(Sequential Orchestration) 模式 。 SKILL.md 中的强制序列指令:
"在执行任何交互之前,必须使用 page.wait_for_selector() 确认元素可见。严禁使用硬编码的 sleep()。如果测试失败,必须调用 scripts/screenshot.py 截取当前屏幕状态并保存到 artifacts/ 目录供人工审查。"这种指令直接将 QA 领域的最佳实践(Best Practices)固化到了智能体的行为准则中。当测试失败时,智能体不再是简单报错,而是提供截图证据,极大地提升了调试效率 。

Sentry 发布的官方技能 sentry-code-review 代表了 MCP 增强型工作流(Category 3) 的典型应用。它不再局限于被动响应,而是主动介入开发流程 。
该技能将代码仓库(GitHub)与错误监控平台(Sentry)的数据打通,形成了一个智能的反馈闭环。 工作流详解:
除了集成外部工具,Sentry 团队还定义了一种名为 Systematic Debugging 的思维链技能 。这是一种纯认知类的技能,旨在纠正 LLM“胡乱猜测”代码修复方案的倾向。 SKILL.md 结构分析: Systematic Debugging Skill 核心原则: 你是一名为高级调试工程师。在编写任何代码之前,必须严格遵循科学方法:
严禁在没有复现脚本的情况下直接修改源代码。 这种技能实际上是对智能体思维过程的约束(Constrained Reasoning)。实战表明,强制智能体先写复现脚本,能够显著降低“修复了一个 bug 却引入两个新 bug”的概率 。
Agent Skills 的应用不仅局限于代码和数据,它在创意领域和文档处理上也展现了强大的能力。### 算法艺术与资产模版 Algorithmic Art 技能展示了如何利用 assets/ 目录中的 HTML 模版来生成交互式艺术 。
实现机制:
该技能在 assets/ 目录下预置了一个 viewer.html 文件,其中包含了 p5.js 的基础引用、画布设置和 UI 控件逻辑。 当用户要求“生成一个流场效果的生成艺术”时,智能体不需要从零编写 HTML。它只需读取 assets/viewer.html,然后编写核心的 p5.js 算法逻辑注入到模版的预留位置中。 这种“填空式”生成保证了输出的 HTML 始终结构完整、样式统一,且能够直接在浏览器中运行,极大地提高了生成成功率。
PDF/Excel Skill 利用了 Python 强大的生态库(如 pypdf, openpyxl)来处理文档,而不是让 LLM 去理解二进制文件 。 实战技巧:表格提取 对于 PDF 中的表格,SKILL.md 指导智能体使用 pdfplumber 库进行提取,并将其转换为 Markdown 或 CSV 格式供后续分析。这里的关键洞察是:不要让 LLM 读 PDF,让 Python 读 PDF,LLM 读 Python 的输出。这种间接机制是处理复杂文档的黄金法则。
随着组织内技能数量的激增,如何编排这些技能成为新的挑战。基于上述案例,我们总结出以下核心编排模式与实施建议。
模式名称 | 典型场景 | 优缺点 |
|---|---|---|
序列化编排 (Sequential) | Web 测试、文档审批流 | 优:确定性高,易于调试。缺:速度慢,单点故障导致全链路中断。 |
并发编排 (Concurrent) | 多源日志分析、市场调研 | 优:速度快,视角多元。缺:结果聚合困难,可能产生冲突结论。 |
路由编排 (Routing/Handoff) | 客户服务、多产品支持 | 优:专业度高,上下文隔离。缺:需要强大的“元智能体”进行准确分发。 |
基于 BGL、Sentry 等企业的成功经验,我们为准备落地 Agent Skills 的组织提出以下战略建议: 采用“借书卡”模型: 不要试图构建一个包含所有知识的万能 CLAUDE.md。将知识碎片化为独立的 Skill,让智能体像持有借书卡一样,仅在任务需要时“借阅”特定技能。这能最大化利用上下文窗口,保持智能体的敏捷性 。 坚持“工具优先” (Tool-First) 原则: 成功的技能(如 Log Analyzer, Web Testing)本质上都是成熟工具(grep, Playwright)的封装。不要试图用 Prompt 解决可以通过代码解决的问题。构建 Skill 的流程应该是:先写好 Python 脚本,再写 SKILL.md 教智能体如何调用它 。 建立确定性护栏: 对于任何涉及数据写入或修改的操作(SQL Update, File Write),必须在 Skill 中强制引入校验脚本层。LLM 永远不应拥有直接的“写”权限,它只能提交“写请求”给校验脚本 。 标准化与版本控制: 强制使用 skill-creator 和 init_skill.py 流程来创建新技能。将所有 Skill 纳入 Git 版本控制,并像对待生产代码一样进行 Code Review 和安全扫描 。
最强大的智能体,不是拥有最大参数量的模型,而是拥有最丰富、最精良“技能库”的系统。 未来的竞争,将是企业专属 Skill 资产库的竞争。