agy-staff
keli-wen · keli-wen/agy-staff
Integrates Google's Antigravity CLI (agy) as a fast Gemini staffer, allowing Claude Code and OpenAI Codex to delegate tasks to specific personas.
Hire Google's Antigravity CLI (agy) as a fast Gemini staffer for Claude Code and OpenAI Codex.
Preview
What you can do with it
- Delegate research tasks to `agy` for quick answers and summaries using Gemini Flash.
- Get a fast second opinion or code review from a different model family to improve robustness.
- Handle scoped implementation tasks in parallel with your main agent, saving quota on expensive models.
Safety check
Usable, but read the notes first.
- ●Installer downloads a remote script and pipes it to the shell.
README.md
Automated scan of the repo files. Always review code you run.
From the README
English | Simplified Chinese
Hire Google's Antigravity CLI (agy) as a staffer for Claude Code, OpenAI Codex, Pi, and OpenCode.
Bench · Install · Examples · Core design · Build your own · Upgrade
What & Why
agy-staff lets your senior agents delegate to agy, which ships fast Gemini 3.8 Flash. Five personas: staffer (general-purpose), researcher, reviewer (code and plans/decisions), implementer, and ask — plus a model-facing jobs skill. Claude Code uses /agy: and Codex uses $agy:.
If you use Codex you know the feeling: GPT-5.6-Sol is slow even with fast mode on. Claude Code is quicker but still not fast, and Fable quota is scarce enough that you want it orchestrating subagents, not grinding through every survey and review itself. An agy worker gives you a fast lane — second opinions in seconds, research and reviews at Flash speed, scoped implementation handled off to the side while you keep moving. And where speed isn't the point, a second model family looking at the same code buys coverage and robustness your main agent can't give itself.
Bench — Harness & Orchestration
agy-staff Bench v1 runs Claude Code and Codex on three benchmarks, each task three ways: alone, with their own subagents, and with agy through lead.
[!NOTE] Why a bench. It runs the same tasks on different hosts, with and without agy, to answer three questions:
- When to delegate. Which tasks and which hosts gain from handing work to agy, and which are better left solo. The answers become best practices for using agy-staff.
- What to fix in agy-staff. Each run shows where delegation wastes time or tokens. Those findings go back into the plugin as fixes, and later bench versions check whether the fixes worked.
- How harnesses differ. Same prompt, same worker, different host. Gaps in the results trace back to design choices in each harness.
What v1 says (one run per task and setup, so a first baseline, not a verdict):
- agy suits research best. DeepSearchQA is the only benchmark where agy cut host spend on both hosts: Claude Code −50%, Codex −16%. Host spend is what your Claude or ChatGPT plan pays.
- Claude Code's harness suits agy better. With agy, Claude Code's host spend fell on all three benchmarks (−16% to −50%). Codex's rose on two (SWE-bench +86%, QnA +22%). Claude Code waits in the background until the agy job ends; Codex polls, and every wake-up carries its full context.
- The price is time. Median time per task rose from 2–8 minutes alone to 13–26 minutes with agy. Tasks solved matched solo or dropped by one.
Method, caveats and versions → bench/README.md
How
Invoke a persona
Type /agy: in Claude Code and the five personas are right there:
Same plugin in Codex, invoked with $agy:
Install
For humans
Step 1 — install the Antigravity CLI (official docs), then verify with agy --version. Node.js is also required:
curl -fsSL https://antigravity.google/cli/install.sh | bash
Step 2 — install the plugin into your harness:
claude plugin marketplace add keli-wen/agy-staff
claude plugin install agy@agy-staff
codex plugin marketplace add https://github.com/keli-wen/agy-staff
codex plugin add agy@agy-staff
Using Pi?
Install: pi install git:github.com/keli-wen/agy-staff.
Skills are prefixed as /skill:agy- (e.g. /skill:agy-ask reply with OK), with /skill:agy-jobs for job management.
Update with pi update --extension git:github.com/keli-wen/agy-staff, then run /reload.
Using OpenCode?
With OpenCode V1 (verified on 1.18.34), install the package through its native plugin manager:
opencode plugin 'agy-staff@git+https://github.com/keli-wen/agy-staff.git' --global
Restart OpenCode, then run /agy-ask reply with OK. The plugin automatically registers all seven agy-* skills and their native slash commands, including /agy-lead and /agy-jobs. No separate skills path or command wrappers are needed. Node.js and an authenticated agy are required, as above.
OpenCode caches the complete package spec. Restarting does not refresh an unchanged Git spec. To upgrade, choose a newer Git tag or commit and run opencode plugin 'agy-staff@git+https://github.com/keli-wen/agy-staff.git#<tag-or-commit>' --global --force, then restart. See the reference for config and local development. OpenCode V2 is not covered by this adapter.
Restart Claude Code or Codex afterwards. First run: /agy:ask reply with OK (Claude Code) or $agy:ask reply with OK (Codex). Ask is tool-free and needs no setup.
[!IMPORTANT] There is no mandatory setup step.
staffer,researcher,reviewerandimplementerrun unrestricted by default: agy can inspect the repo, run commands, and edit files. agy-staff keeps that practical with prompts that adapt to the current repo state. For example, whenimplementerstarts in a dirty workspace, the companion tells agy which files already had changes and reminds it not to overwrite or deliver unrelated user work. If the task asks for a commit, push, or PR, agy can do that delivery; otherwise it leaves a working-tree diff for review. These prompt instructions do not provide permission isolation.setup+--restrictedis optional hardening for untrusted input — per run (--restricted) or as a per-repo default (setup --restrict review,research).setupdry-runs and asks before writing anything ("set up agy" triggers it); read the permission notes first — the allowlist is prefix-matched, applies machine-wide, and a restricted run can return less than an unrestricted one.
For agents
Paste this into any coding agent:
Read the raw text of https:/