摘要

AI Agent 的能力,不只来自模型本身,还来自围绕模型构建的 Skill Library

过去我们总在优化 Prompt,希望模型一次性理解更多上下文。

但真正稳定的做法,不是不断写更长的提示词,而是把团队的经验、工具、脚本、验证方法、踩坑记录和操作规范,封装成 Agent 可以主动发现、调用和执行的能力模块。

这就是从 Prompt Engineering 进入 Context Engineering 的关键一步。

团队经验从一次性 Prompt,沉淀为可发现、可调用、可验证的 Skill Library。

团队经验从一次性 Prompt,沉淀为可发现、可调用、可验证的 Skill Library。

01. Skill 不是 Prompt,而是能力模块

很多人会误解 Skill,以为它只是一个更长、更复杂的提示词。

这个理解太浅。

Prompt 解决的是:

这一次怎么做。

Skill 解决的是:

以后遇到这类任务都怎么做。

一个真正有价值的 Skill,不只是写几段说明,而是把一类任务所需的上下文、工具、脚本、参考文件、验证方式、异常处理和团队经验放在一起,让 Agent 在需要时可以自动调用。

所以,Skill 的本质不是“提示词模板”,而是:

把团队反复使用、容易出错、依赖工具、需要验证的经验,沉淀成 AI Agent 可复用、可执行、可迭代的能力包。

这也是 Agent 从“会聊天”走向“能干活”的关键。

02. 什么任务值得做成 Skill?

不要为了写 Skill 而写 Skill。

一个任务是否值得封装成 Skill,可以看它是否满足以下几个条件:

  1. Agent 经常在这里犯错
  2. 团队已经有固定 SOP,但 Agent 不知道
  3. 任务依赖内部工具、API、CLI、数据库或监控系统
  4. 输出质量不能只靠模型自信,必须验证
  5. 同类任务反复发生,值得标准化
  6. 操作有风险,需要 guardrails
  7. 任务需要跨多个工具、文件、系统执行

一句话:

Skill 最适合封装“模型默认不会、团队反复在做、出错代价高、需要稳定复用”的能力。

如果一个任务只是偶尔做一次,或者模型默认已经能处理得很好,就没有必要做成 Skill。

真正值得做成 Skill 的,通常是团队里那些“老员工知道,但新人不知道;人类知道,但 Agent 不知道”的隐性经验。

03. 最值得建设的 9 类 Skill

Anthropic 在 Claude Code 的内部实践中,把常见 Skills 总结成 9 类。对任何想建设 Agent 能力库的团队,都很有参考价值。

团队可以优先沉淀 Library、Verification、Data、Automation、Templates、Review、Deployment、Runbook 和 Infrastructure Skills。

先从高频、高错、高价值场景开始,而不是一次性规划大而全的 Skill 平台。

1. Library / API Reference Skill

用于封装内部库、CLI、SDK、API 的正确用法。

适合内容包括:

  • 内部 API 使用方式
  • CLI 命令
  • SDK 示例
  • 参数说明
  • 常见误用
  • 废弃接口提醒
  • 内部库的边界条件

适用场景:

Agent 会写代码,但不知道你们公司内部库怎么用。

比如公司内部有 billing library、model router、sandbox proxy、deployment CLI,这些东西模型默认不知道。如果不做 Skill,Agent 只能猜。

这类 Skill 的价值,是把“内部工具的正确用法”交给 Agent。

2. Product Verification Skill

这是最值得优先建设的一类 Skill。

Agent 最大的问题不是“不会做”,而是“做完以后不知道是否真的对”。

Verification Skill 的价值在于:

让 Agent 不只是完成任务,而是证明任务真的完成了。

适合内容包括:

  • Playwright 测试
  • UI 自动验证
  • 登录流程检查
  • 注册流程检查
  • 支付流程检查
  • Smoke Test
  • 状态断言
  • 录屏验证
  • CLI 验证脚本

例如:

  • signup-flow-driver:自动跑注册、邮箱验证、onboarding 流程
  • checkout-verifier:自动验证支付流程和订单状态
  • tmux-cli-driver:验证需要交互式终端的 CLI 工具

这类 Skill 是 AI 编程从 Demo 走向生产的关键。

因为生产环境不只需要“代码看起来对”,而需要“结果真的被验证过”。

3. Data Fetching / Analysis Skill

用于封装数据查询、监控分析、指标口径和业务看板。

适合内容包括:

  • 数据表说明
  • 指标定义
  • Dashboard 地址
  • Grafana 查询方式
  • Datadog 查询方式
  • 用户转化漏斗
  • Cohort 分析方法
  • Trace ID / Request ID 查询路径

适用场景:

Agent 不只是写代码,还能自己查数据、看监控、定位问题。

比如你问:

为什么昨天注册转化率下降?

如果没有 Data Skill,Agent 只能泛泛分析。

如果有 Data Skill,它可以知道去哪里查数据、哪些表是事实来源、哪些指标口径不能混用、哪个 dashboard 对应哪个问题,以及哪些字段在不同系统里叫法不同。

这会让 Agent 从“回答问题”变成“调查问题”。

4. Business Process / Team Automation Skill

用于封装团队日常重复流程。

适合内容包括:

  • 站会总结
  • 周报汇总
  • Ticket 创建
  • Slack 通知
  • GitHub 活动汇总
  • Release Note 生成
  • 历史执行记录

这类 Skill 的价值,不只是自动化流程,还可以形成轻量记忆。

例如 weekly-recap Skill 可以读取本周合并的 PR、关闭的 ticket、发布记录和上一次周报内容,然后生成一份只包含增量变化的周报。

这意味着 Skill 不只是“执行一次流程”,还可以让 Agent 记住过去的执行结果,下一次运行时知道发生了什么变化。

5. Code Scaffolding / Templates Skill

用于封装代码模板、项目脚手架、迁移文件和服务初始化。

适合内容包括:

  • 新服务模板
  • Migration 模板
  • Auth 模板
  • Logging 模板
  • Deploy 配置
  • 目录结构规范
  • 框架最佳实践

适用场景:

让 Agent 不要每次重新发明项目结构,而是按团队标准生成。

比如新建一个内部 App,团队通常会有固定要求:认证怎么接、日志怎么打、配置怎么放、部署文件怎么写、错误处理怎么做、权限边界在哪里。

这些都可以封装成 Skill。

这样 Agent 生成的不是“能跑的代码”,而是“符合团队规范的代码”。

6. Code Quality / Review Skill

用于封装代码审查、测试规范、风格要求和质量门禁。

适合内容包括:

  • Code Review Checklist
  • Testing Practice
  • 安全检查
  • Lint
  • Typecheck
  • Unit Test
  • Adversarial Review
  • GitHub Action 集成

这类 Skill 可以进一步和 CI、hooks 结合,变成自动化质量控制层。

例如:

  • 修改代码后必须跑 typecheck
  • 涉及支付必须补充测试
  • 涉及权限必须做安全审查
  • 涉及 UI 必须跑视觉验证
  • 涉及数据库必须检查 migration 风险

Code Quality Skill 的价值,是让 Agent 不只是“写代码”,而是按团队质量标准写代码。

7. CI/CD / Deployment Skill

用于封装 PR、部署、灰度、回滚和上线验证流程。

适合内容包括:

  • 监控 PR
  • 修复 flaky CI
  • 解决 merge conflict
  • Smoke Test
  • 灰度发布
  • 错误率对比
  • 自动回滚

核心价值:

Agent 不只是写代码,还能推进代码进入生产,但必须带验证和回滚机制。

比如 deploy-service Skill 可以定义:

  1. 构建服务
  2. 运行测试
  3. 执行 smoke test
  4. 小流量灰度
  5. 对比错误率
  6. 检查核心指标
  7. 异常时自动回滚
  8. 输出部署报告

这类 Skill 是 Agent Ops 的关键部分。

8. Runbook Skill

用于封装故障处理、告警排查、日志关联和服务调试路径。

适合内容包括:

  • 告警排查流程
  • 服务异常定位
  • Slack Thread 分析
  • Request ID 全链路追踪
  • 日志查询路径
  • 常见故障处理步骤

Runbook Skill 的本质是:

把资深工程师的排障路径,变成 Agent 可以执行的调查流程。

比如用户给 Agent 一个错误日志,Agent 可以根据 Skill 自动知道先查哪个服务、再查哪个 dashboard、哪些日志字段能关联、哪些错误是已知问题、哪些异常需要升级给人类、最终如何输出调查报告。

这会让 Agent 在 incident 处理里变得更有价值。

9. Infrastructure Operations Skill

用于封装基础设施维护、成本排查、资源清理等高风险操作。

适合内容包括:

  • 孤儿资源清理
  • 依赖升级
  • Kubernetes 操作
  • 成本异常调查
  • 数据迁移
  • 回滚操作
  • 高危操作确认机制

这类 Skill 必须非常谨慎。

因为它可能涉及删除、迁移、回滚、生产环境变更等高风险动作,必须配套 guardrails。

比如:

  • 删除前必须 dry-run
  • 操作生产环境前必须确认
  • 高危命令必须拦截
  • 回滚前必须生成影响说明
  • 资源清理前必须保留观察期

Infrastructure Skill 的原则不是“不让 Agent 执行”,而是让 Agent 在明确边界内执行。

涉及部署、数据库、生产环境和删除操作的 Skill,需要 dry-run、人工确认、回滚计划和执行报告。

Agent 越能干活,越需要边界。

04. 写好 Skill 的 8 条原则

原则一:不要写显而易见的内容

不要在 Skill 里写:

先阅读代码,再修改代码,再运行测试。

这种内容模型本来就知道。

Skill 应该写模型不知道、但团队知道的东西:

  • 哪个字段容易误解
  • 哪个 API 文档已经过时
  • 哪个环境会返回假成功
  • 哪个数据表才是真实来源
  • 哪个命令不能在生产环境乱用
  • 哪个测试必须补充人工断言

如果 Skill 只是重复模型默认会做的事情,它只会增加上下文成本,不会增加能力。

好的 Skill 应该提供“模型不知道的关键上下文”。

原则二:一定要写 Gotchas

Gotchas 是 Skill 里最高价值的部分。

所谓 Gotchas,就是:

Agent 最容易踩坑的地方。

例如:

subscriptions 是 append-only,不能直接取最新 created_at,要取最高 version。
API Gateway 里叫 request_id,Billing Service 里叫 trace_id。
Staging 返回 200 不代表 Stripe webhook 真的处理成功,还要查 payment_events。

一个判断标准:

没有 Gotchas 的 Skill,通常不是好 Skill。

因为真正的组织经验,往往就藏在这些“别人不知道但你踩过坑”的地方。

Gotchas 不应该一次写完,而应该从 Agent 的真实失败中不断补充。

每次 Agent 出错,都要问一句:

这个错误是不是下次还可能发生?

如果是,就写回 Gotchas。

Agent 在真实任务中失败后,将失败原因写回 gotchas.md、references 或 scripts,让下一次少犯同样错误。

没有 Gotchas 的 Skill,通常只是更长的提示词。

原则三:用文件系统做 Progressive Disclosure

不要把所有内容都塞进一个巨大的 SKILL.md

更好的方式是把 Skill 拆成多层结构:

my-skill/
  SKILL.md
  gotchas.md
  config.json
  references/
    api.md
    cli.md
    data-model.md
  scripts/
    verify.ts
    fetch-data.py
  examples/
    happy-path.md
    edge-cases.md
  assets/
    report-template.md

SKILL.md 只负责做总入口:

  • 这个 Skill 什么时候用
  • 先读哪些文件
  • 哪些情况要读 reference
  • 哪些脚本可以调用
  • 最后按什么格式输出

这样做的好处是:

既能提供丰富上下文,又不会一次性把上下文撑爆。

这就是 Context Engineering 的关键:

不是把所有信息一次性塞给 Agent,而是让 Agent 按需读取正确的信息。

SKILL.md 做入口,按需读取 gotchas、references、scripts、examples 和 assets。

不是一次性塞满上下文,而是让 Agent 按需读取正确的信息。

原则四:不要把 Agent 管死

Skill 不是死板 SOP。

如果写得太细、太硬,Agent 会被迫照着错误路径执行,反而失去判断能力。

好的 Skill 应该提供背景、约束、工具、常见坑、验证方法和输出标准,但不要把所有步骤写成绝对命令。

更好的写法是:

在这些情况下优先这样做;如果上下文不匹配,先检查并解释原因。

给 Agent 边界,而不是给 Agent 上枷锁。

Skill 的目标不是让 Agent 机械执行,而是让 Agent 在正确上下文里做更好的判断。

原则五:把 Setup 信息配置化

很多 Skill 都需要初始化配置。

例如:

  • Slack 频道
  • GitHub Repo
  • Dashboard 地址
  • 环境变量
  • API Key
  • 默认项目
  • 数据库连接
  • 部署环境

这些信息不要全部写死在说明里,建议放进 config.json

{
  "slack_channel": "",
  "default_repo": "",
  "dashboard_url": "",
  "environment": "staging"
}

原则是:

能配置的不要写死;缺配置时再让 Agent 向用户确认。

这样 Skill 才能在不同团队、不同项目、不同环境里复用。

原则六:Description 是给模型看的,不是给人看的

Skill 的 description 不是宣传文案。

它的真正作用是:

帮助模型判断什么时候应该触发这个 Skill。

不好的写法:

description: Help with deployment.

更好的写法:

description: Use this skill when the user asks to deploy a service, monitor a rollout, run smoke tests, compare error rates, or rollback a failed release.

核心规则:

Description 不要只写“这个 Skill 是什么”,要写“什么情况下应该用它”。

因为 Agent 会通过 description 判断当前任务是否需要调用这个 Skill。

如果 description 写得太泛,Skill 容易误触发。

如果 description 写得太窄,Skill 又可能该用时没有被调用。

原则七:给 Agent 脚本,不要只给文字

好的 Skill 不只是说明文档,还应该提供可执行工具。

比如数据分析 Skill,不要只写:

查询用户事件表,然后分析转化率。

更好的方式是提供脚本:

scripts/
  fetch_events.py
  compare_cohort.py
  generate_report.py

Agent 可以直接组合这些脚本完成任务。

这就是 Skill 和 Prompt 的关键区别:

Prompt 让 Agent 想办法。 Skill 给 Agent 现成工具。 好 Skill 让 Agent 少猜、多执行。

代码、脚本、模板、测试文件,都是 Skill 的一部分。

不要只给 Agent 文字,要给它可以直接使用的工具。

原则八:高风险任务要有 Guardrails

涉及生产环境、数据库、部署、删除、迁移、回滚的 Skill,必须有安全边界。

例如:

  • 禁止直接删除生产数据
  • 禁止未经确认执行 DROP TABLE
  • 禁止 force push
  • 禁止直接操作生产 Kubernetes
  • 禁止修改非目标目录
  • 删除前必须 dry-run
  • 回滚前必须生成影响说明

高风险 Skill 的核心原则:

不是不让 Agent 执行,而是让 Agent 在边界内执行。

Agent 越能干活,越需要边界。

没有 guardrails 的 Agent Automation,很容易从效率工具变成生产风险。

05. 一个标准 Skill 应该长什么样?

推荐结构:

skill-name/
  SKILL.md
  gotchas.md
  config.json
  references/
    api.md
    data-model.md
    cli.md
  scripts/
    verify.sh
    smoke-test.ts
    fetch-metrics.py
  examples/
    success-case.md
    failure-case.md
  assets/
    output-template.md
  logs/
    history.log

其中:

  • SKILL.md:入口说明,告诉 Agent 什么时候用、怎么用
  • gotchas.md:常见坑和失败经验
  • config.json:项目、环境、频道、repo 等配置信息
  • references/:API、数据模型、CLI、内部规范
  • scripts/:验证脚本、查询脚本、执行脚本
  • examples/:成功案例和失败案例
  • assets/:报告模板、输出模板
  • logs/:历史执行记录,形成轻量记忆
标准 Skill 包含入口说明常见坑参考资料脚本案例模板和运行日志
标准 Skill 不是一段长提示词,而是一组可被 Agent 调用的上下文、工具和验证材料。

06. SKILL.md 推荐模板

可以直接参考这个结构:

# Skill Name

## When to use this skill

Use this skill when the user asks to...

## What this skill helps with

- ...
- ...
- ...

## Required setup

Read `config.json`.

If required fields are missing, ask the user before continuing.

## Workflow

1. Understand the user request
2. Check relevant references
3. Run the required scripts
4. Verify the output
5. Produce the final report

## Gotchas

Read `gotchas.md` before making changes.

## Verification

Use scripts in `scripts/` to verify the result.

## Output format

Use `assets/output-template.md`.

这个模板的重点不是格式,而是思路:

先让 Agent 判断什么时候用,再让 Agent 按需读取上下文,最后让 Agent 执行并验证。

07. Skill 从 0 到 1 的建设流程

Step 1:从失败中找 Skill

不要先规划一个庞大的 Skill Library。

先问团队几个问题:

  • Agent 最近在哪些任务里反复失败?
  • 哪些地方总需要人类提醒?
  • 哪些任务每次都要复制同一套说明?
  • 哪些内部工具 Agent 经常不会用?
  • 哪些输出看起来完成了,但其实没有验证?

这些地方就是第一批 Skill 候选。

Skill 不应该从“我们想建设什么能力”开始。

而应该从“Agent 现在在哪里反复失败”开始。

Step 2:只做一个窄 Skill

不要一开始写一个巨大的:

frontend-engineering-master-skill

更好的方式是写具体、窄、可触发的 Skill:

checkout-verifier
signup-flow-driver
billing-lib-reference
new-migration
deploy-payment-service

Skill 越具体,触发越稳定。

越大的 Skill,越容易让 Agent 困惑。

好的 Skill 应该解决一个明确场景,而不是试图覆盖整个工程体系。

Step 3:先写最小版本

第一版 Skill 不需要复杂。

可以只有:

SKILL.md
gotchas.md
scripts/verify.sh

不要追求一次写完。

Skill 是随着真实使用不断进化的。

第一版只要能解决一个真实问题,就值得存在。

Step 4:让 Agent 在真实任务中使用

Skill 写出来以后,必须进入真实任务。

例如:

  • 写代码
  • 修 bug
  • 查日志
  • 做验证
  • 跑部署
  • 生成报告
  • 创建 ticket
  • 处理 incident

只有真实执行以后,才知道这个 Skill 哪些地方有效,哪些地方会误导模型。

Skill 不是文档资产,而是运行资产。

不用起来,就没有价值。

Step 5:把失败沉淀回 Gotchas

每次 Agent 出错,不要只修这一次。

要问:

这个错误是不是下次还可能发生?

如果是,就把它写回:

gotchas.md
references/
scripts/
config.json

Skill 的进化,不靠一次写完,而靠持续吸收失败。

真正优秀的 Skill,往往不是第一版写得多完整,而是经历过真实任务、真实错误、真实修正。

Step 6:加入验证脚本

当一个 Skill 开始稳定使用后,必须加入验证。

最低要求是:

  • 是否能自动检查输出?
  • 是否能断言关键状态?
  • 是否能跑测试?
  • 是否能生成可复查日志?
  • 是否能留下执行证据?

因为 Agent 最大的问题不是“不会做”,而是“做完后不知道是否真的对”。

所以,Verification 不是锦上添花,而是 Agent 进入生产环境的基本条件。

Step 7:记录 Skill 的使用情况

Skill 一旦变多,就需要运营。

团队应该记录:

  • 哪些 Skill 被频繁调用
  • 哪些 Skill 很少触发
  • 哪些 Skill 调用后失败率高
  • 哪些 Skill 经常被错误触发
  • 哪些 Skill 明显提升了效率

这会让 Skill Library 从“经验库”变成“可运营资产”。

未来团队管理 Agent,不只是看模型效果,也要看 Skill Library 的质量。

从失败记录出发建设窄 Skill 并通过真实任务验证和迭代
Skill 从 0 到 1 的正确起点,不是规划大库,而是吸收真实失败。

08. 团队应该优先建设哪 5 类 Skill?

如果一个团队从 0 开始建设 Agent Skill Library,不建议先做大而全的知识库。

应该从高频、高错、高价值场景开始。

P0:Verification Skill

因为它决定 Agent 输出能不能进入生产。

示例:

web-ui-verifier
checkout-verifier
api-smoke-test
tmux-cli-driver

优先级最高。

因为没有验证,Agent 做得越多,风险越大。

P1:Gotchas Skill

把团队最容易踩坑的经验先沉淀下来。

示例:

billing-gotchas
database-gotchas
deployment-gotchas
model-routing-gotchas

这类 Skill 成本低、收益高。

只要把团队过去踩过的坑写进去,Agent 下次就可能少犯一次错。

P2:Internal API / CLI Skill

让 Agent 会用内部系统。

示例:

internal-platform-cli
billing-lib-reference
sandbox-proxy
model-router-api

这类 Skill 可以显著降低 Agent 对内部系统的误解。

P3:Runbook Skill

让 Agent 能处理线上问题。

示例:

service-debugging
oncall-runner
log-correlator
cost-investigation

这类 Skill 的价值在于把资深工程师的排障路径标准化。

P4:Business Automation Skill

让团队日常工作自动化。

示例:

weekly-recap
standup-post
create-ticket
release-note-generator

这类 Skill 适合快速提高团队日常效率。

团队优先建设 Verification Gotchas Internal API Runbook 和 Business Automation 五类 Skill
第一批 Skill 应该先覆盖高频、高错、高价值的任务。

09. 判断一个 Skill 好不好:7 个标准

一个 Skill 是否有效,可以用这 7 个问题判断:

  1. 触发条件是否明确?
  2. 是否解决了模型默认不知道的上下文?
  3. 是否包含真实 Gotchas?
  4. 是否提供可执行脚本?
  5. 是否有验证方法?
  6. 是否能按需读取细节,而不是一次性塞满上下文?
  7. 是否能从真实使用中持续更新?

如果一个 Skill 只有说明,没有 Gotchas、脚本、验证、配置、日志,那它大概率只是一个“更长的提示词”。

真正的 Skill 应该是:

指令 + 上下文 + 工具 + 验证 + 记忆 + 约束。

判断 Skill 是否有效的七个质量门
好 Skill 必须能被触发、能执行、能验证,也能从真实使用中继续更新。

10. 最终方法论:Skill 是 Agent 的组织记忆

这篇文章真正重要的地方,不是 Claude Code 多了一个功能。

而是它揭示了 AI Native 组织的一个底层趋势:

未来团队的经验,不会只沉淀在文档里。
它会沉淀成 Agent 可以调用的 Skill。

过去团队资产主要是:

  • 文档
  • SOP
  • 代码库
  • Wiki
  • Runbook
  • 老员工经验

现在这些资产需要被重新组织成:

  • 可发现
  • 可调用
  • 可执行
  • 可验证
  • 可迭代
  • 可分发

这就是 Skill Library 的战略意义。

它不是知识管理工具。

它是 Agent 时代的能力管理系统。

团队经验通过 Skill 形成组织记忆并在下一次任务中复用
团队经验进入 Skill,才会从一次性提醒变成可复用的组织记忆。

行动清单

如果你今天就要开始,不要先做一个宏大的 Skill 平台。

先做 3 件事:

  1. 找出 Agent 最近 10 次失败记录
  2. 把最高频的 3 个失败写成 Gotchas
  3. 为其中 1 个任务加上验证脚本

第一批 Skill 不需要完美。

它只需要让 Agent 下次少犯一个真实错误。

这就是 Skill 进化的起点。

一句话总结

别再只写 Prompt 了。

真正能让 Agent 稳定变强的,是把团队经验封装成可发现、可执行、可验证、可迭代的 Skill。