Antigravity · Google 官方图文教程

9. 技能

虽然 Antigravity 的底层模型是强大的通才,但它们并不了解您的具体项目背景或团队标准。将每条规则或工具都加载到智能体的上下文窗口中会导致工具膨胀、成本增加、延迟和混淆。

技能通过渐进式披露来解决此问题。技能是一种专业知识包,在需要时才会激活。只有当您的具体请求与技能说明相符时,才会加载到代理的上下文中。

结构和范围

技能是基于目录的软件包。您可以根据需要,在以下两个范围内定义它们:

  • 全局范围 (~/.gemini/config/skills/):适用于所有 Antigravity 产品(Antigravity、Antigravity IDE、Antigravity CLI)和项目。
  • 项目/工作区范围 (<project-root>/.agents/skills/):这会使技能仅在特定项目内可用。

技能剖析

典型的技能目录如下所示:

my-skill/
├── SKILL.md    #(Required) metadata & instructions.
├── scripts/    # (Optional) Python or Bash scripts for execution.
├── references/ # (Optional) text, documentation, or templates.
└── assets/     # (Optional) Images or logos.

现在,我们来添加一些技能。

代码审核技能

这是一个仅包含指令的技能,也就是说,我们只需要创建 SKILL.md 文件,其中将包含元数据和技能指令。我们来创建一个技能,该技能可向代理提供详细信息,以便代理审核代码更改是否存在 bug、样式问题和最佳实践问题。

假设您位于特定项目文件夹(例如 $HOME/agy2-projects/my-skills-project)),第一步是在项目文件夹中创建一个将包含技能的目录。

mkdir -p .agents/skills/code-review

在刚刚创建的项目文件夹(例如 .agents/skills/code-review)中创建一个 SKILL.md 文件,其中包含以下内容:

---
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

请注意,上面的 SKILL.md 文件顶部包含元数据(名称和说明),然后是指令。当代理加载时,它只会读取技能的元数据,并且仅在需要时才会加载完整的技能指令。

让我们验证一下代码审核技能。在 Antigravity 中打开您选择的特定项目中的对话,然后提供以下提示。

Antigravity 官方界面截图

它应显示 code-review 技能。

试试看

在 $HOME/agy2-projects/my-skills-project 中创建一个名为 demo_bad_code.py 的新文件,其中包含以下内容:

import time

def get_user_data(users, id):
   # Find user by ID
   for u in users:
       if u['id'] == id:
            return u
   return None

def process_payments(items):
   total = 0
   for i in items:
       # Calculate tax
       tax = i['price'] * 0.1
       total = total + i['price'] + tax
       time.sleep(0.1) # Simulate slow network call
  
   return total

def run_batch():
   users = [{'id': 1, 'name': 'Alice'}, {'id': 2, 'name': 'Bob'}]
   items = [{'price': 10}, {'price': 20}, {'price': 100}]
  
   u = get_user_data(users, 3)
   print("User found: " + u['name']) # Will crash if None
  
   print("Total: " + str(process_payments(items)))

if __name__ == "__main__":
   run_batch()

在 Antigravity 中打开特定项目中的新对话,然后输入以下提示:review the @demo_bad_code.py file。

智能体应识别 code-review 技能,加载详细信息,然后根据 code-review/SKILL.md 文件中的说明执行操作。

以下是输出示例:

Antigravity 官方界面截图