agent skill的规则
Agent skill注意事项
-
完整路径:项目根目录
/.github/skills/你的技能名/SKILL.md -
SKILL.md 文件名必须全大写
-
技能名称文件夹(如
code-review)可以任意命名,建议用英文小写加连字符 -
在一个技能文件夹(例如
code-review)里,只能放一个SKILL.md文件 - 在一个仓库中的 项目根目录
/.github/skills/ 这个目录下可以创建多个“技能文件名”:在不同的技能文件夹中,创建不同情况下调用的SKILL.md文件.
在 VS Code 中打开代码仓库文件夹作为工作区根目录,Copilot 就能自动识别这个路径下的 Skills。
SKILL.md 是一个技能的“入口文件”。每个技能文件夹就是一个独立的“技能包”,Copilot 只认识这个文件夹下唯一的 SKILL.md,不能包含多个。
正确的目录结构
你应该用多个不同的文件夹来区分不同的技能,这样能更好地实现模块化管理。一个典型的目录结构如下:
.github/skills/ ├── code-review/ # 技能A:代码审查 │ └── SKILL.md # 唯一的入口文件 ├── generate-tests/ # 技能B:生成单元测试 │ └── SKILL.md └── commit-message/ # 技能C:生成提交信息 └── SKILL.md
补充说明与规范
-
一个文件夹,一个技能:这种“一文件夹一技能”的布局,本质上是 Agent Skills 的标准化设计,确保了 Copilot 能准确地识别和调用你的技能。
-
文件夹名必须与
name一致:SKILL.md中name字段的值必须与父文件夹的名称完全一致。例如,如果你的文件夹是code-review,SKILL.md开头的元数据部分需要这样写: -
--- name: code-review description: 执行代码审查、检查代码风格、提供改进建议。 ---
一个文件夹,多个资源文件:虽然只能有一个
SKILL.md,但你可以在它旁边放很多辅助文件(如脚本、模板、参考资料),实现更复杂的自动化流程。目录结构可以像这样: -
code-review/ ├── SKILL.md # 唯一的入口文件 ├── scripts/ # 存放可执行脚本 │ └── linter.py ├── references/ # 存放参考资料 │ └── style-guide.md └── templates/ # 存放模板文件 └── report.md
例如,下面截图是一个SKILL.md的内容,通过它能一目了然SKILL.md和一些辅助参考文件(references)和脚本(scripts)如何协同工作的:
-


问答环节:
-
Q : SKILL.md中的元数据和body都是系统提示词吗?
-
A:实际上在 skill.md 文件中:
-
元数据(如
name、description等)主要用于标识、索引和调用该技能,并非作为系统提示词直接送入模型。它通常由系统框架读取,决定何时使用哪个技能。 -
主体(body) 才是实际注入到模型上下文中的指令内容,相当于系统提示词的一部分,用于指导模型的行为和输出。
-
所以只有 body 属于系统提示词,元数据不是。

浙公网安备 33010602011771号