news 2026/9/14 4:22:08

Antigravity 加载 Skill/Rules/MCP 跑代码审查,Key 走 TaoToken

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Antigravity 加载 Skill/Rules/MCP 跑代码审查,Key 走 TaoToken

1. 先接上模型通道,再谈 Skill 和 Rules

Antigravity 跑代码审查,先要有稳定的模型 API 通道,我选的是 TaoToken(TaoToken)。通道接好之后,Skill 决定审查步骤,Rules 约束代码风格,MCP 拿 GitHub 上的真实 diff,三者组合起来才像真正的自动审查员。

第一次让 Antigravity 审 PR 时,我在对话框里顺手写了句“看看这个 PR 有没有问题”,它给了三条比较宽泛的建议。第二次我补了一句“注意边界条件”,它就盯着并发和空值。第三次我说“按团队风格检查”,重点又变了。问题不在模型,而在于临时 Prompt 没有把审查标准固定下来。真正能复用的做法,是把审查流程写进 SKILL.md,把团队硬性规范写进 Rules,再用 Workflow 把整件事固化成一条命令。但这些能力启动前,还得先有一个不发神经的模型通道——多 Key 来回切、长会话聊到一半断掉,都是 Skill 写得再漂亮也补不回来的。

1.1 三条临时 Prompt,换来三种审查结果

Skill 在 Antigravity 里是一个可复用的知识包,本质上是一个文件夹加一个 SKILL.md 文件。它解决的问题很直接:把“谁来审、按什么审、审完怎么反馈”固定成文件,而不是每次在输入框里现编。原文把这种机制叫渐进式披露——对话开始时,Antigravity 只看到技能名称和描述列表;如果描述和当前任务相关,它才读取完整 SKILL.md。换句话说,你不需要每次告诉它“去读技能”,只要描述写得够准,它自己会判断。

代码审查是最适合先做成 Skill 的场景,因为审查标准相对稳定:正确性、边界情况、风格、性能,这些不会一天一变。如果你手头有三个项目,每个项目的规范都不同,把它们分别固化成三个 SKILL.md,比每次复制粘贴一长段 Prompt 要省事得多。

1.2 Skill、Rules、Workflows、MCP 在审查链路里各自管什么

用一句话概括这几样东西的分工:Skill 是“要做哪些事”,Rules 是“绝对不能突破的边界”,Workflow 是“按什么顺序做”,MCP 是“从哪里拿到真实数据”。代码审查这个场景刚好把它们串起来:

  • Skill 定义审查步骤:正确性、边界条件、风格、性能、安全。
  • Rules 强制团队规范:命名、缩进、禁止循环内查询之类的硬约束。
  • Workflow 把“取 diff → 逐条检查 → 汇总反馈”变成一条命令,比如/review
  • MCP 把 GitHub 的 PR diff 和文件变更列表交给模型,让审查有据可依,不靠猜。

这四件套都就位后,Antigravity 才真正像一个审查员。不过原文主要在讲概念和配置,真正跑起来还需要一个稳定的模型请求通道。我把这个通道接到 TaoToken,后面会细说 Provider 的填法。

2. 创建 SKILL.md:把审查要求固化成技能包

2.1 审查技能放在 .agent/skills 还是全局目录

Antigravity 支持两种 Skill 位置:工作区级放在/.agent/skills/,全局放在~/.gemini/antigravity/skills/。团队仓库里的审查规范适合放工作区级,随仓库提交,每个成员拿到代码就自带审查标准;自己的通用审查习惯可以放全局,比如你无论写什么项目都想先过一遍安全 checklist。目录结构像这样:

.agent/skills/ └── code-review/ ├── SKILL.md ├── scripts/ └── resources/

scripts/resources/不是必需的,但可以放一些辅助脚本和模板。唯一必需的就是SKILL.md

2.2 一份可执行的 code-review SKILL.md

下面是一份可以直接落地的 SKILL.md,比原文示例多加了决策树和输出规范,目的是让模型每次反馈颗粒度一致:

--- name: code-review description: 检查代码变更中的错误、风格偏离和最佳实践遗漏。当用户要求 review PR、检查 diff、评估代码质量时使用。 --- # 代码审查技能 按这里的步骤审查代码变更,不要跳过任何一项。 ## 适用范围 - Pull Request 或本地未提交的 diff。 - 单个文件或跨模块改动。 ## 审查清单 1. 正确性:代码是否实现预期功能?条件分支是否覆盖了 false、null、空集合? 2. 边界情况:超时、并发、重试、溢出、格式非法时如何处理? 3. 风格:是否遵守 .agent/rules 目录下的项目规范? 4. 性能:是否存在循环内查询、重复请求、无必要的大对象拷贝? 5. 安全:是否有注入、敏感信息硬编码、文件路径串联等风险? ## 决策树 - diff 小于 20 行:按清单逐项快速过一遍。 - diff 涉及多个文件:先看接口签名与数据流,再查每个调用方。 - 出现空 catch 或 pass:提高严重程度,要求补上错误处理。 - 涉及数据库操作:确认是否在循环内,是否缺索引,是否可能全表扫描。 ## 输出格式 - 按严重程度分组:严重、建议、可选。 - 每条问题必须包含:文件位置、问题描述、修改建议。 - 没有问题时直接说“未发现明显问题”,不要堆套话。 ## 禁止事项 - 不修改任何文件,除非用户明确要求自动修复。 - 不只给结论不给依据。 - 不把 20 条小问题一股脑列出,只列优先级最高的 5 条。 ## 可选脚本 如果 scripts/ 目录下有辅助脚本,先用 --help 查看用法,不要通读源码。

2.3 让模型在正确时机自动加载这个 Skill

SKILL.md 的description字段决定模型何时加载它。Antigravity 在对话开始时只读技能名称和描述,不会把所有技能内容全部塞进上下文,这就是渐进式披露省 token 的方式。因此description里一定要写清楚“什么时候用”,并且带上用户口语里会出现的词,比如 review、PR、diff、代码质量。如果你写“用于帮助处理特定任务”,模型大概率不会在需要审查时想起它。

写完 SKILL.md 后,先不用急着配复杂模型。下一步是把模型 Provider 指到 TaoToken,否则技能文件永远不会被执行。

3. 在 Antigravity 里把模型 Provider 指向 TaoToken

3.1 打开 TaoToken 官网创建 API Key

浏览器打开 TaoToken,注册账号后在控制台创建一个新 Key。教程里的 Key 统一用占位符YOUR_API_KEY,你自己创建后把它替换成真实值。官网同时是模型广场的入口,选择模型 ID 时以那里展示的为准,不要凭记忆填一个版本号。

这个官网页只负责注册、创建 Key、看模型广场、看用量。它不能填进工具配置,工具配置里使用的是另一个接口地址。

3.2 Base URL 与 API Key 的精确填法

在 Antigravity 的模型 Provider 设置中新增一个供应商,名称随意。需要关注的只有三个值,按表格填:

配置项要点
Base URLhttps://taotoken.net/api末尾不要加/v1
API KeyYOUR_API_KEY从 TaoToken 创建
模型 ID以官网模型广场展示为准不要凭印象填版本号

注意:Base URL 填的是https://taotoken.net/api,不是官网链接,也不要加/v1。很多工具接入失败就是在这里多写了一段后缀。配好之后,长会话和切换模型就不再需要换 Key,换模型只改模型 ID 一个字段,这对反复试模型的场景很关键。

4. 用 Rules 约束代码风格

4.1 从 Customizations 打开 Rules 面板

Rules 是手动定义的 Markdown 约束文件。在 Antigravity 中,点击 Agent 面板底部的 Antigravity Settings,找到 Customizations,点 Manage,就能进入 Rules 面板。你可以创建 Global Rule 或 Workspace Rule:团队仓库的硬性规范放 Workspace,个人通用习惯放 Global。

4.2 代码审查 Rules 模板与激活方式

下面是一份审查场景的 Rules 模板,可以直接存到.agent/rules/下:

# 代码审查规则 1. 变量名使用小驼峰,常量使用全大写。 2. 函数体不超过 80 行,超过则拆分。 3. 禁止在循环里执行数据库查询。 4. 捕获异常后必须写日志,禁止空 catch。 5. 所有 SQL 语句必须带参数绑定,禁止字符串拼接。 6. 审查意见必须引用具体文件和行号。

创建规则时可以在面板选择激活方式:Manual 通过@手动唤起;Always On 常驻所有对话;Glob 模式绑定文件路径,只有打开匹配文件时生效。审查场景最推荐 Glob,例如仓库主要是 TypeScript,可以给规则配src/**/*.ts,这样审查 TS 文件时强制挂载规则,查看文档时规则不占上下文。

Rule 和 Skill 的差别在这里很清晰:Rule 是在 System Prompt 层面的持久约束,定义“不能做什么”;Skill 是任务触发后加载的操作步骤,定义“要做什么”。一次代码审查里两者都会用到,Rule 负责风格底线,SKILL.md 负责流程和质量维度。

5. 用 Workflow 固化审查 SOP

5.1 创建 /review 工作流

如果每次审查都要重复“拿 diff、查规则、汇总问题”这一套,可以把它沉淀成 Workflow。在 Customizations 的 Workflows 面板里创建全局或工作区工作流,文件格式是 Markdown,包含名称、描述和步骤。一个代码审查 Workflow 的模板如下:

--- name: review description: 对当前分支的未提交改动执行一次完整代码审查,并输出结构化问题清单。 --- 1. 列出当前分支相对 main 的改动文件。 2. 对每个文件应用 .agent/rules 下的审查规则。 3. 加载 code-review Skill,按审查清单逐项检查。 4. 把问题按严重程度分组输出。 5. 询问是否生成修复补丁;未获确认前不要修改文件。

保存后,在 Antigravity 对话框输入/review即可执行。Workflow 也可以嵌套,比如把风格检查、逻辑检查拆成原子工作流,再组合成/review,这样单独跑某一步时不用重复整个流程。

5.2 Workflow 与 Implementation Plan 的差异

Workflow 和 Antigravity 自动生成的implementation_plan.md不是一回事。Workflow 是长期流程模板,像工厂流水线,任何代码变更都可能经过它;Implementation Plan 是一次性施工图,只针对当前需求,任务合入后基本作废。如果你发现每次改完代码都要重复做一遍审查,那就把这段经验写成 Workflow,而不是让模型每次重新规划。

6. MCP 接通 GitHub:审查时能拿到真实 diff

6.1 用 npx 把 GitHub MCP Server 接进 MCP Store

代码审查如果只看模型上下文里的片段,很多问题发现不了。MCP 可以把 GitHub 的真实 diff、PR 变更列表、提交历史拉给模型。以 GitHub MCP Server 为例,编辑mcp_config.json,加入以下配置:

{ "mcpServers": { "github": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-github"], "env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_YOUR_TOKEN" } } } }

GITHUB_PERSONAL_ACCESS_TOKEN用你自己的 GitHub Token,权限只需要 repo 读写。保存后在 MCP Store 面板点击 Refresh,状态变成 Enabled 再继续。如果 GitHub 官方后续更新了推荐的 MCP 包名,以你当前环境的文档为准,这里沿用最常见的 npx 方案。Windows 下用 npx 比 Docker 省事不少,至少绕开了环境变量和镜像这一类报错。

6.2 从开放生态里安装现成 Skill

除了手写 SKILL.md,还可以用npx skills从开放生态里搜现成的审查技能。先运行:

npx skills find code-review

从返回结果里挑一个,再按这个格式安装到当前项目:

npx skills add -y 作者名/技能仓库@技能名

把“作者名/技能仓库@技能名”替换成实际搜索结果,不要照抄占位符。安装后它同样出现在.agent/skills下,Antigravity 会把它当普通 Skill 识别,触发方式与手写的一致。这适合不想从零写 skill 的开发者,装完先看内容再按团队规范改。

6.3 一次 PR 审查的执行轨迹

当 Skill、Rules、MCP 都接好后,一次 PR 审查会像下面这样跑:

阶段输入/指令Antigravity 执行
启动输入/review加载 code-review Skill,激活匹配的 Rules
取 diff调用 GitHub MCP 读取 PR 的文件变更列表与完整 diff
检查按审查清单逐项检查,Rules 里的约束一并生效
反馈输出按严重程度分组的问题清单,附文件位置和建议
提交评审“把意见发到这个 PR”调用 GitHub MCP 创建 PR Review,附上模型生成的总结

MCP 的价值在这一步完全体现出来:模型不再靠猜,而是直接读 GitHub 上真实 diff;审查结果也能以评论形式回流到 PR 页面,形成闭环。而整个闭环里的所有模型请求都走同一个 Key——经 TaoToken 的 Base URL 发出,任务里换来换去也不会锉断了。

7. 验证、排障与权限边界

7.1 完整调用验证

配完以后建议按这个顺序验证一次:

  1. 在仓库里随便改一行代码,保持未提交。
  2. 输入/review,观察 Antigravity 是否先出现 MCP 工具调用,再进入分析。
  3. 对照输出是否出现 SKILL.md 里定义的严重程度分组和行号引用。
  4. 在对话中问一句“你使用了哪些规则”,如果模型能说出.agent/rules下的具体条目,说明 Rules 已激活。
  5. 打开 https://taotoken.net/?utm_source=taotoken_aicg_blog_end 的用量页,核对刚才时段的调用记录和模型名称,确认这次审查确实记上账了。

7.2 常见失败现象对照

如果哪一步没跑通,多数是下面这几种原因:

  • 报 401:YOUR_API_KEY没替换成真实 Key,或者复制时多了空格。到官网控制台重新复制。
  • 报 404:八成是把官网链接当成了 Base URL,或者末尾多写了/v1。Base URL 应该是精确的https://taotoken.net/api
  • Skill 不触发:检查description是否包含reviewPRdiff这些词。Antigravity 靠描述决定是否加载技能。
  • GitHub MCP 显示红色:到 MCP Store 点 Refresh,确认本机装了 Node.js,GitHub Token 没有过期。

7.3 权限边界

MCP 接上 GitHub 后能读能写,但审查场景只需要“读 diff”和“创建 PR Review”两种能力。涉及批量修改文件、git push、合并分支时,让模型先输出方案,你审核后再执行。数据库和系统命令也一样:SQL 诊断、编译、运行必须由你在本地终端或 SQL*Plus 里执行,再把结果贴回对话,不要让 Agent 直接在生产库上跑命令。规则里写清楚“未获确认前不要修改文件”,能让模型在敏感操作前停下来等你。

7.4 拿上 Key,用 /review 跑一遍完整链路

把上面的 Provider 配好后,第一步不用急着写复杂规则。打开 TaoToken 创建 Key,回到 Antigravity 填好,跑一条最简单的指令:用 code-review Skill 检查当前分支的未提交改动。如果输出里出现了 SKILL.md 中定义的检查项和反馈格式,说明整条链路已经从“Skill 定义 → Rules 约束 → MCP 取 diff → Token 记账”闭环。后续再逐步往 SKILL.md 里补团队特有规范,把它变成一份会生长的代码审查资产。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 4:22:07

从功耗优化到Linux驱动:嵌入式工程师的技术迁移路径

最近后台收到不少类似的问题:“功耗优化做了两年,现在有点迷茫,天天对着电流曲线和热点图抠底电流,C代码虽然看得懂,但总觉得离‘写驱动’还有距离,是不是该转Linux驱动?”这个问题我太熟悉了。…

作者头像 李华
网站建设 2026/9/14 4:19:33

从超级个体到超级团队:企业级Agent平台的关键能力与落地实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/14 4:19:02

Linux内核模块编程从入门到工程化:Makefile、printk调试与实战排查

先跟你说个结论:内核模块编程,入门最难的不是 C 语法,也不是看不懂 API,而是“你对内核的运行方式缺乏敬畏”。这个坑我踩了三年,从当年以为insmod hello.ko成功就算完事,到后来在一次生产环境的 RMmod 现场…

作者头像 李华
网站建设 2026/9/14 4:18:52

CPL框架:跨任务图像复原技术的突破与应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/14 4:18:10

Claude Code 跑 Agent Skills 按需加载:Key 用 TaoToken

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华