前提条件
- 安装了 GitHub Copilot 的 VS Code
本教程使用 VS Code,但 Agent 技能是一种开放格式。相同的技能可在任何兼容的 Agent 中工作,包括 Claude Code 和 OpenAI Codex。
创建技能
技能是一个包含SKILL.md 文件的文件夹。VS Code 默认在 .agents/skills/ 中查找技能。在你的项目中创建 .agents/skills/roll-dice/SKILL.md:
.agents/skills/roll-dice/SKILL.md
name— 技能的简短标识符。必须与文件夹名称匹配。description— 告诉 Agent 何时使用此技能。这是 Agent 决定是否激活它的方式。- 主体 — 技能激活时 Agent 遵循的指令。在这里,指示 Agent 使用终端命令生成随机数,并替换用户请求中的面数。
试一试
- 在 VS Code 中打开你的项目。
- 打开 Copilot Chat 面板。
- 从聊天面板底部的模式下拉菜单中选择 Agent 模式。
- 输入
/skills以确认roll-dice出现在列表中。如果没有,请检查文件是否位于相对于项目根目录的.agents/skills/roll-dice/SKILL.md。 - 提问:“掷一个 d20”
roll-dice 技能。它可能会请求运行终端命令的权限 —— 允许它。它将运行命令并返回 1 到 20 之间的随机数。
工具使用的可靠性因模型而异 —— 有些模型会遵循技能指令并一致地运行命令,而另一些模型可能会尝试自行回答。如果 Agent 在没有运行终端命令的情况下响应,请尝试从模型下拉菜单中选择不同的模型。
工作原理
以下是幕后发生的事情:- 发现 — 当聊天会话开始时,Agent 扫描了默认技能目录并找到了你的技能。它只读取了
name和description,足以知道技能何时可能相关。 - 激活 — 当你询问掷骰子时,Agent 将你的问题与技能描述匹配,并将完整的
SKILL.md主体加载到上下文中。 - 执行 — Agent 遵循主体中的指令,根据你请求中的面数调整终端命令。