全部文章

AI Agent Skills 指南

理解 skills 的作用、目录结构、编写方式,以及它与 MCP 的关系

目录 16 节

AI Agent Skills 指南

在越来越多的 AI Agent 工作流里,skills 用来把可复用的方法、操作步骤、脚本和参考资料打包成一个长期可维护的能力单元。

相比每次都重新写一段很长的 Prompt,skills 更适合那些会被反复执行、而且步骤相对稳定的任务。

什么是 Skill

一个 skill 通常包含:

  • 一份核心说明文档,例如 SKILL.md
  • 必要时配套的 scripts/references/assets/ 或模板文件
  • 清晰的触发条件、适用范围和输出要求

常见用途:

  • 安装和初始化某一类开发环境
  • 代码审查、排错、重构、发布检查
  • 调用固定脚本生成报告、文档或配置
  • 把团队经验沉淀成可复用流程

什么时候应该先写成 Skill

如果你在团队里反复遇到下面这些情况,通常就该考虑沉淀成 skill:

  • 每次做同一类任务都要先解释一遍背景和约束
  • 流程里已经有固定脚本、模板、检查清单或输出格式
  • 任务本身不复杂,但很依赖执行顺序和细节
  • 同一个问题由不同人来做时,结果质量波动很大

Skills 和 MCP 的关系

skillsMCP 经常一起出现,但它们职责不同:

维度SkillsMCP
核心作用复用步骤与知识连接工具与数据
主要形式Markdown、脚本、模板Server、资源、工具接口
典型场景发布 SOP、编码规范、排障流程GitHub、数据库、浏览器、Docker、搜索

一句话总结:

  • Skill 负责“怎么做”
  • MCP 负责“能做什么”

这也是为什么很多成熟的 Agent 工作流,都会同时维护一套 skills 和一组 MCP Servers。

典型目录结构

skills/
  release-check/
    SKILL.md
    scripts/
      run.ps1
    references/
      checklist.md
    assets/
      template.md

一个简单的 SKILL.md 通常会说明:

  1. 什么时候触发这个 skill
  2. 执行时先看哪些文件或配置
  3. 要优先使用哪些脚本或模板
  4. 成功输出应该长什么样

示例

# Release Check

适用于发布前检查。

流程:
1. 读取 changelog 与 package.json
2. 运行测试与构建
3. 按 references/checklist.md 输出检查结果

这个 skill 本身并不一定直接拥有“执行权限”,但它会告诉 Agent 在什么前提下该读哪些文件、调用哪些脚本、输出怎样的结果。

一个更实用的 SKILL.md 骨架

# Skill Name

## 什么时候使用
- 用户明确提到某个工具、平台或场景
- 仓库中出现特定文件、依赖或错误特征

## 先看什么
- `README.md`
- `package.json`
- `scripts/check.ps1`

## 执行顺序
1. 读取关键配置
2. 优先运行已有脚本
3. 必要时再补最小代码修改
4. 输出结果摘要与后续建议

## 输出要求
- 先给结论
- 再列出改动文件
- 最后给验证命令

## 不要做什么
- 不要绕过现有脚本另起炉灶
- 不要修改无关模块

这个骨架的核心思想是:让 Agent 少猜、少走弯路、少重复造轮子。

什么时候值得写成 Skill

满足下面 3 条中的 2 条,通常就值得沉淀成 skill:

  • 同类任务已经重复做了很多次
  • 每次都要解释一遍背景、步骤和格式
  • 这个流程已经有稳定脚本、模板或参考资料可复用

写好 Skill 的几个关键点

  • 触发条件要窄:避免“只要提到 Python 就触发”这种过宽规则
  • 输入来源要清楚:告诉 Agent 应该先读哪个文件、哪类日志、哪个目录
  • 优先级要明确:先用脚本、再用模板、最后才是现场手写
  • 输出格式要稳定:让不同人、不同轮次得到的结果结构一致
  • 失败路径要写出来:比如“缺少权限时停止并提示用户登录 / 授权”

编写建议

  • 先写清 触发条件,避免误触发
  • 说明 输入来源,例如某个目录、配置文件、PR 评论或 API 输出
  • 说明 输出格式,例如 Markdown 清单、JSON、补丁、发布说明
  • 如果已有脚本、模板、截图或样例,优先复用,不要让 Agent 现场重造
  • 把不稳定或高风险的系统调用交给 MCP 或脚本,不要全靠自然语言描述

AGENTS.md、仓库规则怎么分工

  • AGENTS.md:更像仓库级协作协议,约束整个目录树的工作方式
  • SKILL.md:更像可复用工作流,适合沉淀某一类任务的做法
  • 项目文档:补背景、示例、理念和人为可读说明
  • 脚本 / MCP:负责真正执行工具调用、读取外部系统、生成结果

如果一个规则只在当前仓库生效,优先写进 AGENTS.md;如果你希望它能跨项目复用,更适合做成 skill。

常见问题

Skill 会不会和 Prompt 重复

会有重叠,但 skill 的价值在于 长期稳定复用。Prompt 更适合临时说明,skill 更适合团队标准化。

Skill 一定要配脚本吗

不一定。纯文档型 skill 也能工作,但如果流程里有高频命令、格式化输出或外部接口调用,最好配脚本或模板。

Skill 越长越好吗

不是。好的 skill 应该尽量短,但对关键分支、输入来源和输出要求足够明确。信息太散、太长,反而会降低触发质量和执行稳定性。

和 Codex / Claude Code / 其他 Agent 的搭配方式

实践里常见的拆分是:

  • 项目级规则:放在仓库里的 AGENTS.md
  • 可复用工作流:放进 skills/ 目录中的 SKILL.md
  • 外部系统能力:通过 MCP 模型上下文协议 接入

这样做的好处是:仓库规则、长期经验、工具能力三者职责清晰,不容易互相污染。

延伸阅读

阅读建议
  • - 先读标题和摘要,再结合目录决定从哪个章节开始精读。
  • - 看到具体命令、配置或步骤时,尽量在自己的环境里同步验证。
  • - 如果你只是快速查资料,可先看目录和相关文档,再决定是否深入全文。
适合谁看
  • - 希望把零散经验整理成长期可复用工作流的人
  • - 正在使用 AI 工具、Agent 或自动化工作流的人
  • - 希望阅读时顺手建立自己的操作清单或收藏体系的人
执行前检查
  • - 先浏览标题、摘要和目录,带着问题阅读会更高效
  • - 确认模型供应商、API Key、CLI 工具链与本地资源是否已准备好
  • - 如果页面里提到相关文档,尽量一起打开对照,效果通常更完整
同类内容
← 上一篇浏览器扩展推荐