This is a submission for the repo has 1,400+ pre-built ones if you'd rather not start from scratch.
Bold opinion: The community Skills library is actually the most underrated thing about this ecosystem. You can drop in a production-grade code-review workflow in 90 seconds. Most people skip it and hand-write prompts forever.
Hooks: Intercept the Agent Loop
Hooks let you fire shell commands at lifecycle moments. Config is JSON:
// .agents/config.json
{
"hooks": {
"before_tool_call": [
{ "command": "echo '$TOOL_NAME' >> .agents/tool-log.txt" }
],
"on_loop_stop": [
{ "command": "node scripts/notify.js" }
]
}
}
Available hook points: before_tool_call, after_model_call, on_loop_stop, on_error.
The pattern I use on every project: on_loop_stop writes a summary to a log file, before_tool_call audits tool use so I can see what the agent actually did. Thirty lines of config, total.
Subagents: The Part Gemini CLI Couldn't Do
This is the actual upgrade.
Gemini CLI was synchronous. You waited. The agent finished. You moved on. Antigravity CLI ships async subagents — dispatch a long-running task to a background agent and keep prompting in the foreground, same session.
From inside the TUI:
> Refactor the auth module to use the new token schema.
[Dispatching to subagent...]
> While that runs — write a changelog entry for the last 10 commits.
Both run in parallel. The subagent reports back when it's done.
From the CLI:
# Dispatch a background agent
agy dispatch "Run the full test suite and write a summary to test-report.md"
# Check active subagents
agy agents list
# Pull output from a specific agent
agy agents output <agent-id>
I Tried It: Parallelizing a Real Refactor
Here's what I actually tested. I had a Next.js project with a type refactor that touched ~40 files.
I dispatched the refactor to a background subagent, then used the foreground agent to write the PR description and update the changelog — simultaneously.
The refactor completed in about 4 minutes. The PR description and changelog were ready before the refactor finished. Total wall-clock time: 4 minutes instead of 8–10 in sequence.
That's not a benchmark. That's just what parallel async agents feel like in practice.
Managed Agents: Serverless Version
Don't want the CLI? There's an API:
import google.generativeai as genai
genai.configure(api_key="YOUR_API_KEY")
agent = genai.create_agent(
model="gemini-3.5-flash",
instructions="You are a code reviewer. Review the diff for correctness and security issues.",
tools=["code_execution"],
)
result = agent.run("Review this diff:\n" + open("changes.diff").read())
print(result.output)
Same agent harness. Same Gemini 3.5 Flash intelligence. Zero local setup. The agent runs in an isolated Linux environment on Google's infrastructure.
Migration Cheat Sheet
| Gemini CLI | Antigravity CLI |
|---|---|
gemini run | agy run |
~/.gemini/skills/ | ~/.antigravity/skills/ |
| Extensions | Plugins (same concept) |
gemini inspect | agy inspect |
| Synchronous only | agy dispatch for async |
Skills files don't need to change. The biggest behavioral win: agy is built in Go. Startup is noticeably faster than the old CLI.
Bold opinion: The deprecation of Gemini CLI felt abrupt. But Google made the right call — maintaining two separate CLIs with diverging capability models would have been worse for the ecosystem than a clean cut.
What This Is Really About
Gemini CLI was a terminal wrapper around a language model.
Antigravity CLI is a terminal interface for an agent harness. The Skills/Hooks/Plugins model is also cross-compatible with Claude Code, Cursor, and Codex CLI — a Skill you write here works elsewhere.
The transition was abrupt. The thing that replaced it is better.
Antigravity CLI at .
Tags: googleio ai productivity devtools
SOCIAL SHARE CARD GENERATOR