关于 call-agy
用于将一个明确目标委派给本地 `agy` CLI 的 Agent 技能。它规定了授权、任务交接与结果核验流程,由调用方 Agent 保留任务所有权。
主要功能
- 01聚焦单一目标的委派
- 02区分执行意图与授权
- 03支持任务文本与文件提示
- 04读取交接结果并核验
- 05失败时有限重试
- 06保留运行收据与诊断
适用场景
- 01委派 Antigravity 代码修改
- 02请求只读代码审查或规划
- 03让子 Agent 执行测试或分析
- 04检查委派结果与工作区差异
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ f1rstdan/ call-agy --skill call-agy安装后在 Claude Code 中输入/call-agy确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreNOTICELICENSEhow_work.mdREADME.zh-CN.mdREADME.mdagents/openai.yamlreferences/cli-reference.mdpermissions-and-recovery.mdscripts/call_agy.ps1call_agy.pycall_agy.sh详细介绍
call-agy
将官方本地 agy CLI 用作范围明确的子 Agent。调用方 Agent 始终负责整个任务:确定任务范围、审查交接内容和工作区、核实重要声明,并报告综合结果。
路由规则
- 用户明确要求调用
$call-agy、agy或 Antigravity 时触发。即使任务很简单,明确调用也优先。 - 经授权的主机策略要求使用特定的 Antigravity 支持来实现、调试、审查、测试、分析或验证时,也触发。
- 安装、文档或定价问题、无人请求的简单工作,以及未明确指定 Antigravity 的通用“使用子 Agent”请求,均不触发。
- 主机策略或用户禁止跨 Agent 工作时,不要委派。
- 一次调用只负责一个目标明确且完成标准可观察的任务。委派前应拆分无关工作。
- 保留 CLI 的默认模型、工作量和 Agent,除非用户明确指定。绝不猜测或悄悄替换模型标识。
精简工作流
- 对于冒烟测试或直接文本回复,跳过仓库探查和文件提示。其他情况下,阅读足够的本地上下文,以说明目标、完成标准、约束、预期验证方式、工作区和最多六个优先路径。进行广泛检查时,告诉 AGY 控制探索范围,避免无界递归,并在时间耗尽前交付收集到的证据;不要设置可能掩盖明确目标的固定排除项。
- 将执行意图与授权分开。仅规划或只读工作使用
plan,已获授权的更改使用accept-edits,命令使用范围明确的权限规则。使用可信工作区预设前,先予以说明。 - 调用一次操作系统原生启动器。短请求使用
--task,多行请求使用 stdin,优先路径使用--file。 - 如果
status=SUCCESS,读取所报告的output_path,检查实际差异,并按风险程度执行主机侧验证。 - 如果失败,按照权限与恢复进行处理:诊断问题,进行一次安全的本地修正,然后至多针对同一任务重试一次。
- 返回实质性结果、验证情况、限制,以及任何已知的流程产物路径。
快速路径
规范实现是 scripts/call_agy.py;请使用此 Skill 目录中的原生启动器。
在 Windows 上,请留在当前 PowerShell 进程中,并使用 & 直接调用启动器。不要启动嵌套的 powershell -Command。简短任务使用 --task;对于大型提示词的回退方案,包装脚本会将其暂存到系统临时目录,并在运行后按对话分组。
显式连通性冒烟测试(不发现仓库):
& "<skill-directory>\scripts\call_agy.ps1" `
--task "Reply exactly: Antigravity is connected. Do not inspect files or run tools." `
--workspace "<absolute-workspace>" --timeout 90s
需要使用仓库工具的只读或规划任务:
& ".\scripts\call_agy.ps1" --task "Review the request flow and cite relevant files" `
--workspace . --mode plan --sandbox
plan 是执行意图,不是授予主机权限。在无头模式下,Shell 命令仍需要限定范围的 permissions.allow 规则。对于规划任务,包装脚本优先使用原生只读文件工具;若被阻止,则报告 HEADLESS_PERMISSION_BLOCKED,而不会悄悄提升权限。
sh ./scripts/call_agy.sh "Review the request flow and cite relevant files" --workspace .
在受信任的工作区中执行授权编辑时,使用此 Skill 选择的成功优先预设:
.\scripts\call_agy.ps1 "Fix the bug and run the focused tests" `
--workspace . --file "src/example.ts" --file "tests/example.test.ts" `
--mode accept-edits --sandbox --dangerously-skip-permissions
使用该预设前,请告知用户,--dangerously-skip-permissions 会使 Antigravity 自动批准所有工具调用。--sandbox 会限制终端执行,但不会让任意文件更改变得无害。仅在用户授权的受信任工作区中,并且用户提出请求时,才使用此预设。
如果用户要求安全、保守或不绕过权限的行为,请使用:
.\scripts\call_agy.ps1 "Fix the bug and report any blocked command" `
--workspace . --mode accept-edits --sandbox
恢复过程中也要保持这种安全策略。绝不要悄悄添加危险标志。
调用模型前,包装脚本会验证 AGY 版本,并以可逆方式探测状态根目录及 ~/.gemini/antigravity-cli 下现有的运行时子目录。
如果主机沙箱阻止访问该状态目录,脚本会移交失败信息,且不会消耗模型令牌。启动 AGY 前,脚本还会打印 receipt_path;此持续更新的产物会保留对话 ID、最后一个事件、已完成的工具调用次数、诊断信息以及流式响应文本,以便在包装脚本或主机中断运行时仍可查看。
委派约定
向 Antigravity 提供:
- 一个明确的目标,以及完成的判定标准
- 相关约束和明确的非目标
- 预期的验证命令或证据
- 绝对工作区路径,以及仅有用的
--file提示 - 所需的最终交接内容:更改/发现、验证结果和未解决的限制
--file 是优先级提示,不是访问授权。如果明确指定的目标位于工作区之外,请使用 --add-dir 传入其所在目录。对于较长或多行任务,请通过 stdin 传入完整请求,并在传完后关闭 stdin。
结果与验证
成功的包装器运行至少会报告:
conversation_id=<id>
output_path=<absolute-markdown-path>
elapsed=<seconds>s
status=SUCCESS
每次非试运行都会在启动 AGY 之前打印 receipt_path=<absolute-markdown-path>。包装器会等待 AGY 的流式输出,而不是轮询:有效的 init 和 step_update 事件会重置其活动期限。默认设置为:AGY 总时限 2 小时,空闲 10 分钟后发出警告,再沉默 5 分钟后终止。宿主 Agent 可在启动前通过 --timeout、--idle-timeout 和 --idle-grace 覆盖这些设置。宿主进程超时时间应高于包装器看门狗的超时时间。
进度通过简短的 stderr 行和回执报告:工具状态变化,以及最多每分钟一次的部分响应字符数、时间戳和 20 个字符的末尾片段。请将这些信息视为供宿主判断的观察结果,而非文本循环的自动证据。终端 result 表示该轮完成;随后 AGY 有 5 秒时间退出,之后会清理进程树。
对于范围有限的暂时性故障(ERROR + 响应为空 + token 用量为零 + 没有工具步骤),包装器会使用相同的新调用再试一次。它会报告 attempts=2;这会用尽唯一一次重试机会,因此宿主不得再启动第三次尝试。
- 仅在运行成功后读取交接内容。
- 空的最终响应绝不视为成功。如果有可用的流式
agent_response.text_delta文本,则会恢复该文本;否则交接内容会说明未收到最终响应。 - 超时或终端结果不完整且带有对话 ID 时,请读取交接内容中建议的恢复提示词。包装器绝不会自动启动额外一轮。
- 请将交接内容视为待审核的证据,而非自动视为事实或任务已完成。
- 对于编辑,请检查实际工作区和差异,并在宿主端重新运行相关测试。
- 仅当先前的 Antigravity 上下文有帮助时才恢复,并使用
--conversation <id>,不要使用工作区全局的--continue。 - 标准交接内容包含委托给 Antigravity 的完整组装后提示词。仅当
prompt_file_path、raw_output_path或宿主创建的提示词中间文件确实存在时,才列出它们。 - 请将
--raw-output和所有报告的产物路径都视为可能包含敏感信息。