Antigravity Agent Skills

Antigravity Agent Skills(智能体技能)

技能是一种开放标准,用于扩展智能体的能力。一个技能是一个包含 SKILL.md 文件的文件夹,其中包含智能体在处理特定任务时可以遵循的指令。

什么是技能?

技能是可复用的知识包,用于扩展智能体能够执行的操作。每个技能包含:

  • 如何处理特定类型任务的说明

  • 需要遵循的最佳实践和约定

  • 智能体可以使用的可选脚本和资源

当对话开始时,智能体会看到可用技能的列表及其名称和描述。如果某个技能看起来与您的任务相关,智能体会阅读完整的说明并遵循它们。

技能存放位置

Antigravity 支持两种类型的技能:

表格

<?XML:NAMESPACE PREFIX = “[default] http://www.w3.org/2000/svg” NS = “http://www.w3.org/2000/svg” />

位置
范围

<工作区根目录>/.agents/skills/<技能文件夹>/
工作区特定

~/.gemini/config/skills/<技能文件夹>/
全局(所有工作区)

工作区技能非常适合项目特定的工作流,例如您团队的部署流程或测试约定。

全局技能适用于所有项目。将这些用于您希望在任何地方使用的个人工具或通用工具。

注意:Antigravity 现在默认使用 .agents/skills,但仍保持对 .agent/skills 的向后兼容。

创建技能

要创建技能:

  1. 在其中一个技能目录中为您的技能创建一个文件夹

  2. 在该文件夹内添加一个 SKILL.md 文件

plain

.agents/skills/ └─── my-skill/ └─── SKILL.md

每个技能都需要一个带有 YAML 前置信息的 SKILL.md 文件:

yaml

--- name: my-skill description: 帮助完成特定任务。当您需要做 X 或 Y 时使用。 --- # 我的技能 给智能体的详细说明放在这里。 ## 何时使用此技能 - 当……时使用此技能 - 这对……有帮助 ## 如何使用 智能体应遵循的分步指导、约定和模式。

前置信息字段

表格

字段
必需
描述

name

技能的唯一标识符(小写,用连字符代替空格)。如果未提供,默认为文件夹名称。

description

清晰描述技能的功能以及何时使用。这是智能体在决定是否应用该技能时看到的内容。

提示:用第三人称编写描述,并包含帮助智能体识别何时使用该技能的关键词。例如:”使用 pytest 约定为 Python 代码生成单元测试。”

技能文件夹结构

虽然 SKILL.md 是唯一必需的文件,但您可以包含额外的资源:

plain

.agents/skills/my-skill/ ├─── SKILL.md # 主要说明(必需) ├─── scripts/ # 辅助脚本(可选) ├─── examples/ # 参考实现(可选) └─── resources/ # 模板和其他资源(可选)

智能体在遵循您技能的说明时可以阅读这些文件。

智能体如何使用技能

技能遵循渐进式披露模式:

  • 发现:对话开始时,智能体看到可用技能的列表及其名称和描述

  • 激活:如果某个技能看起来与您的任务相关,智能体会阅读完整的 SKILL.md 内容

  • 执行:智能体在处理您的任务时遵循技能的说明

您不需要明确告诉智能体使用某个技能——它会根据上下文自行决定。但是,如果您想确保使用某个技能,可以提及技能的名称。

最佳实践

保持技能专注 每个技能应该做好一件事。与其创建一个”无所不能”的技能,不如为不同的任务创建单独的技能。

编写清晰的描述 描述是智能体决定是否使用您技能的方式。具体说明技能的功能以及何时有用。

将脚本视为黑盒 如果您的技能包含脚本,建议智能体先使用 --help 运行它们,而不是阅读整个源代码。这能让智能体的上下文集中在任务上。

包含决策树 对于复杂的技能,添加一个帮助智能体根据情况选择正确方法的章节。

示例:代码审查技能

以下是一个帮助智能体审查代码的简单技能:

yaml

--- name: code-review description: 审查代码变更中的错误、风格问题和最佳实践。在审查 PR 或检查代码质量时使用。 --- # 代码审查技能 审查代码时,遵循以下步骤: ## 审查清单 1. **正确性**:代码是否做了它应该做的事? 2. **边界情况**:是否处理了错误条件? 3. **风格**:是否遵循项目约定? 4. **性能**:是否存在明显的低效之处? ## 如何提供反馈 - 具体说明需要更改什么 - 解释原因,而非仅仅说明内容 - 尽可能建议替代方案

文章摘自:https://www.cnblogs.com/wintersun/p/20420891