有的agent skills 就一个.Md文件,他们是如何达到执行的效果的

TwoAdmin 2025-10-21 6 10/21

一个 .md 文件之所以能被 Agent 执行,是因为它并非普通文档,而是一个结构化的“指令包”。其核心并非文件本身运行代码,而是通过元数据触发 Agent 按需加载,并通过 Markdown 正文中的清晰步骤指导 Agent 一步步完成任务

这背后的机制可以总结为:一种称为"渐进式披露"的三阶段激活流程

下面我们来详细拆解一个 SKILL.md 的结构以及它是如何生效的。

SKILL.md 的"外壳":让 Agent 认识你

一个标准的 SKILL.md 文件以 --- 包围的 YAML 格式元数据开头,这是 Agent 识别和决定是否调用你的关键。其中有两个必填字段

  • name: 技能的唯一标识名(例如:pdf-processing)。命名规则很严格,只能用小写字母、数字和连字符-,并且不能以-开头或结尾

  • description: 这是最核心的字段。Agent 就是靠这段描述来决定是否激活技能的。所以描述必须清晰、具体地说明技能的功能和使用场景,并包含关键词,方便 Agent 进行语义匹配

示例

yaml
---
name: pdf-text-extractor
description: 从 PDF 文件中提取文本内容。当用户需要处理、解析或读取 PDF 文件时使用此技能。
---

这个 description 就是 Agent 在启动时加载的全部内容。它像一个"搜索引擎摘要",让 Agent 知道"哦,这里有个处理 PDF 的专家,等用户提到 PDF 时我再去找他详细问"

SKILL.md 的"内核":指导 Agent 如何做

当用户的请求与 description 匹配时,Agent 就会加载整个 SKILL.md 文件的正文部分(也就是 Markdown 内容),并将其作为核心指令来执行

这部分内容虽然是自然语言,但需要像写"操作手册"一样清晰。它通常包含

  • 具体步骤:告诉 Agent 先做什么,后做什么。

  • 条件判断:在什么情况下该怎么做。

  • 预期结果:每一步完成后应该得到什么。

  • 异常处理:如果出错了该怎么办。

示例

markdown
# PDF 文本提取技能

## 执行流程
1.  接收用户提供的 PDF 文件路径。
2.  检查文件是否存在。如果不存在,向用户报告错误并终止。
3.  调用 `scripts/pdf_parser.py` 脚本,将文件路径作为参数传递给它。
4.  获取脚本返回的文本结果。
5.  将结果以清晰的格式呈现给用户。

从"说明书"到"行动":如何执行具体任务

你可能注意到了,上面的步骤里出现了 scripts/pdf_parser.py。这正是 SKILL.md 强大之处:它通过引用外部脚本,将需要高精度、重复性的工作交给确定性代码完成,避免了让模型"自由发挥"带来的不确定性

这也是一个 Skill 文件夹的完整形态,但这一切都是可选的。一个 .md 文件也能工作,只是通过引入这些资源,可以变得更强大

text
my-skill/
├── SKILL.md          # 必需:核心指令文件
├── scripts/          # 可选:存放可执行的Python/Shell脚本,用于完成确定性任务
├── references/       # 可选:存放详细的文档、API手册等,供Agent按需查阅
└── assets/           # 可选:存放模板、图片等静态资源

这里的 scripts/ 目录是执行的关键。在 SKILL.md 中,你可以明确指示 Agent 运行这些脚本,而不是让它自己去写代码。脚本的行为是确定的、可重复的,极大地提升了任务的成功率

如何自己编写一个 Skill

编写一个 Skill 其实很简单,主要就是创建一个符合规范的 Markdown 文件。

  1. 创建文件夹和文件:首先为你想要创建的 Skill 起一个名字(例如 code-review),并用这个名字创建一个文件夹。然后在文件夹内创建一个名为 SKILL.md 的文件。

  2. 编写元数据:在 SKILL.md 顶部,用 --- 包裹 YAML 格式的元数据,其中 namedescription 是必填的

    yaml
    ---
    name: code-review
    description: 根据团队编码规范对代码变更进行审查。当用户请求代码审查、PR 评审或代码质量检查时使用此技能。
    ---
  3. 编写指令正文:在元数据下方,使用 Markdown 格式编写清晰的、分步骤的操作指南,告诉 Agent 应该按照什么流程执行任务

    markdown
    # 代码审查流程
    1. 获取本次代码变更的文件列表。
    2. 对于每个变更文件,检查是否存在违反以下规范的情况:
    - 行尾是否有多余的空格。
    - 是否有未使用的导入或变量。
    3. 汇总所有发现的问题,并生成审查报告。

总结

Agent Skills 的核心就是将专业能力封装成 Agent 可发现、可加载、可执行的模块。它通过"渐进式披露"机制,先加载轻量级的元数据进行匹配,匹配成功后再加载详细的指令和脚本,以此来实现高效、精准的任务执行

- THE END -

TwoAdmin

5月15日16:24

最后修改:2026年5月15日
0

非特殊说明,本博所有文章均为博主原创。