特工技能技能是扩展代理能力的开放标准。技能是一个包含 SKILL.md 文件的文件夹,其中包含代理在处理特定任务时可以遵循的说明。
什么是技能?技能是可重复使用的知识包,可以扩展代理的功能。每个技能包含:
- 关于如何完成特定类型任务的说明
- 最佳实践和要遵循的约定
- 代理可以使用的可选脚本和资源
当您开始对话时,客服人员会看到可用技能的列表及其名称和描述。如果某项技能看起来与您的任务相关,客服人员会阅读完整的说明并遵循它们。
技能存在的地方反重力支持两种类型的技能:
| 地点 | 范围 |
|---|---|
<workspace-root>/.agents/skills/<skill-folder>/ |
特定于工作空间 |
~/.gemini/antigravity/skills/<skill-folder>/ |
全局(所有工作区) |
工作空间技能非常适合特定于项目的工作流程,例如团队的部署过程或测试约定。
全球技能适用于您的所有项目。将它们用于您想要的个人实用程序或通用工具。注意:反重力现在默认为 .agents/skills,但仍保持对 .agent/skills 的向后支持。
创造技能创建技能:
- 在技能目录之一中为您的技能创建一个文件夹
- 在该文件夹中添加
SKILL.md文件
.agents/skills/
└─── my-skill/
└─── SKILL.md
每个技能都需要一个 SKILL.md 文件,顶部包含 YAML frontmatter:
---
name: my-skill
description: Helps with a specific task. Use when you need to do X or Y.
---
# My Skill
Detailed instructions for the agent go here.
## When to use this skill
- Use this when...
- This is helpful for...
## How to use it
Step-by-step guidance, conventions, and patterns the agent should follow.
Frontmatter 字段
| 领域 | 必填 | 描述 |
|---|---|---|
name |
没有 | 技能的唯一标识符(小写,空格连字符)。如果未提供,则默认为文件夹名称。 |
description |
是的 | 清楚地描述该技能的作用以及何时使用它。这是代理在决定是否应用该技能时所看到的。 |
提示:以第三人称撰写描述,并包含可帮助客服人员识别技能何时相关的关键字。例如:“使用 pytest 约定为 Python 代码生成单元测试。”
技能文件夹结构虽然 SKILL.md 是唯一必需的文件,但您可以包含其他资源:
.agents/skills/my-skill/
├─── SKILL.md # Main instructions (required)
├─── scripts/ # Helper scripts (optional)
├─── examples/ # Reference implementations (optional)
└─── resources/ # Templates and other assets (optional)
客服人员可以按照您的技能指示读取这些文件。
代理人如何使用技能技能遵循渐进式披露模式:
- 发现:对话开始时,客服人员会看到可用技能的列表及其名称和描述
- 激活:如果某项技能看起来与您的任务相关,则代理会读取完整的
SKILL.md内容 - 执行:代理在执行您的任务时遵循技能的指示您不需要明确告诉代理使用某项技能——它会根据上下文做出决定。但是,如果您想确保使用某项技能,则可以指定该技能的名称。
最佳实践
保持技能专注每项技能都应该做好一件事。不是“做所有事情”的技能,而是为不同的任务创建单独的技能。
写出清晰的描述描述是代理如何决定是否使用你的技能。具体说明该技能的用途以及何时有用。
使用脚本作为黑匣子如果您的技能包括脚本,请鼓励代理首先使用 --help 运行它们,而不是阅读整个源代码。这使得代理的上下文集中在任务上。
包括决策树对于复杂的技能,添加一个部分来帮助代理根据情况选择正确的方法。
示例:代码审查技能这是一个帮助代理审查代码的简单技巧:
---
name: code-review
description: Reviews code changes for bugs, style issues, and best practices. Use when reviewing PRs or checking code quality.
---
# Code Review Skill
When reviewing code, follow these steps:
## Review checklist
1. **Correctness**: Does the code do what it's supposed to?
2. **Edge cases**: Are error conditions handled?
3. **Style**: Does it follow project conventions?
4. **Performance**: Are there obvious inefficiencies?
## How to provide feedback
- Be specific about what needs to change
- Explain why, not just what
- Suggest alternatives when possible