PLATFORM_SPEC.md — Google Antigravity (agent-first IDE + CLI + SDK)¶
New to gald3r on this platform? Start at Use gald3r with Google Antigravity for a short overview before the full breakdown below.
Google Antigravity (DeepMind) is an agent-first development platform — a desktop IDE, a CLI,
and an SDK that share one agent harness. As of the Antigravity 2.0 relaunch (agent-first;
Subagents / Hooks / Scheduled Tasks / Agent Management announced at Google I/O 2026, May 2026),
the IDE/CLI harness natively supports all six gald3r-relevant extension primitives — Workflows
(slash commands), Rules, dynamic Subagents, Agent Skills (SKILL.md), lifecycle Hooks, and MCP.
Critically for gald3r, Antigravity reads AGENTS.md (cross-tool) and GEMINI.md
(Antigravity-specific, higher precedence), and discovers Anthropic-format SKILL.md packages,
so gald3r's existing AGENTS.md + g-skl-*/SKILL.md artifacts are largely drop-in reusable.
Authoring path: UPDATE. Verified 2026-06-02 against https://antigravity.google/docs (see
Verification Evidence). This supersedes the prior spec (last_doc_scan: 2026-05-28) which
conservatively marked hooks/skills/rules as ❓/⚠️ — they are now confirmed NATIVE in the
post-2.0 IDE/CLI harness.
Surface split (READ THIS): the capability ratings below reflect the Antigravity IDE / CLI product (one shared harness; docs at
antigravity.google/docs). The hosted Gemini API "Managed Agents" surface (ai.google.dev/gemini-api/docs/antigravity-agent) is a separate product that currently states custom tools / function-calling and subagent delegation are "not yet supported." Do not conflate the two — gald3r targets the IDE/CLI harness, which does support hooks + subagents.Instruction-file convention: Antigravity reads
AGENTS.md(cross-tool, shared with Cursor / Claude Code) andGEMINI.md(Antigravity-specific). It does not rely onCLAUDE.md. Precedence: System Rules (immutable, DeepMind) >GEMINI.md>AGENTS.md.
1. Folder Hierarchy¶
Antigravity 2.0 splits config between project-local dirs and user-global state under
~/.gemini/ (shared with the Gemini CLI state tree).
<project-root>/
├── AGENTS.md ← instruction file Antigravity reads (cross-tool)
├── GEMINI.md ← Antigravity-specific instructions (higher precedence)
└── .agents/ ← workspace customization root
├── rules/ *.md ← Manual / Always On / Model Decision / Glob (≤12,000 chars each)
├── skills/ <name>/SKILL.md ← Agent Skills (Anthropic SKILL.md standard) [path varies — see §4]
├── workflows/ *.md ← project-relative Workflows (slash commands) [confirmed — see §5]
└── hooks.json ← lifecycle hooks (workspace scope)
.antigravity/
└── mcp.json ← project-local MCP config { "mcpServers": { ... } }
~/.gemini/ ← user-global state (Gemini-namespaced)
├── GEMINI.md ← global Antigravity-specific rules
├── AGENTS.md ← global cross-tool rules (v1.20.3+)
├── config/ ← global customizations (hooks.json customization dir)
└── antigravity/
├── skills/ ← global Agent Skills (all workspaces)
├── mcp_config.json ← global MCP config (same mcpServers shape)
└── global_workflows/ ← saved-prompt Workflows (slash commands, /)
Path caveat (skills): the workspace skill dir is cited across official + community sources as
.agents/skills/AND.antigravity/skills/AND.agent/skills/(singular). Native skill discovery is unambiguous; the exact canonical path should be pinned by a live install test before being hard-coded into gald3r installers. Global-scope is~/.gemini/antigravity/skills/.
- gald3r writes:
AGENTS.md,GEMINI.md(Antigravity-only directives),.agents/skills/<name>/SKILL.md,.agents/rules/*.md,.agents/workflows/*.md,.agents/hooks.json,.antigravity/mcp.json - Platform owns:
~/.gemini/global state, IDE settings, the Orchestrator/subagent runtime, System Rules (immutable)
2. AI Instruction File¶
Antigravity reads, in precedence order: System Rules (immutable, DeepMind) → GEMINI.md
(Antigravity-specific) → AGENTS.md (cross-tool, also read by Cursor / Claude Code). Global
variants live at ~/.gemini/GEMINI.md and ~/.gemini/AGENTS.md (cross-tool global, v1.20.3+). No
dedicated ANTIGRAVITY.md is required — gald3r's AGENTS.md is a first-class input. For
Antigravity-only must-win directives, put them in GEMINI.md (it wins over AGENTS.md).
Antigravity also has a durable "memories" concept (agent state) distinct from rule files.
3. Agents Support — ✅ NATIVE (platform) / ⚠️ gald3r g-agnt-*.md convention does NOT auto-map¶
- Dynamic Subagents: an Orchestrator (dispatch-only manager) decomposes the goal and spawns
subagents on the fly (
start_subagenttool) with isolated context; they run asynchronously in the background and communicate via unique agent IDs. Agent Management groups conversations by "project" with its own settings/permissions. - IMPORTANT gald3r nuance: subagents are dynamic — there is no documented file-based
static-role discovery (no honored
.agents/agents/dir forg-agnt-*.md). gald3r's markdown agent-role files do NOT auto-map; fold critical agent guidance into rules/skills instead. - Orchestrator self-handoff: tracks cumulative subagent spawn count; on hitting a limit it dumps state to handoff files, kills background tasks, and spawns a successor that resumes — relevant to gald3r long-running autonomous loops.
- Managed Agents caveat: the separate hosted Gemini API "Managed Agents" SDK currently states subagent delegation is not yet supported — that is the hosted-SDK limitation, distinct from the IDE/CLI harness which does spawn subagents.
- Source: https://antigravity.google/docs/subagents
4. Skills Support — ✅ NATIVE¶
- Agent Skills (Anthropic
SKILL.mdopen format, progressive disclosure): a directory-based package containing a definition file (SKILL.md) + optional supporting assets. Frontmatter:name(optional / unique / lowercase-hyphen),description(mandatory — the semantic trigger); markdown body. Loaded on-demand when the agent deems it relevant. - "The
SKILL.mdformat is the same standard used by Claude Code, Cursor, and every other compatible agent." gald3rg-skl-*/SKILL.mdfiles are directly compatible. - Directory path varies across official + community sources: workspace-scope cited as
.agents/skills/and.antigravity/skills/and.agent/skills/; global-scope~/.gemini/antigravity/skills/. Native discovery is unambiguous; pin the exact path via install test. Same harness shared by the Antigravity CLI and IDE. - Source: https://codelabs.developers.google.com/getting-started-with-antigravity-skills
5. Commands / Workflows — ✅ NATIVE¶
- Workflows (saved-prompt slash commands): markdown files invoked in Agent via a slash command
/<workflow-name>. A workflow file contains a title, description, and a series of steps; files are limited to 12,000 chars. Created via + Global (all workspaces) or + Workspace; global workflows are stored at~/.gemini/antigravity/global_workflows/. A dedicated/docs/commandpage also exists. - Project-relative directory CONFIRMED (reversing the downgrade, re-scanned
2026-07-18): "+ Workspace" Workflows resolve to a real, project-relative directory —
<project-root>/.agents/workflows/*.md— distinct from the global~/.gemini/antigravity/global_workflows/path. Confirmed via the official first-party Google Codelab (literal shell instructionmkdir -p .agents/workflows .agents/skillsand file-creation stepCreate .agents/workflows/startcycle.md:), cross-checked against a Google AI Developer Forum thread describing workflows as resolving "in the current workspace" (project-scoped, not global-only). Path caveat (same ambiguity as §4 Skills): third-party sources (a Google Antigravity blog write-up and a community rules aggregator) spell the directory singular (.agent/workflows/) rather than plural (.agents/workflows/); the first-party Google Codelab uses plural, and gald3r's own.agents/rules,.agents/hooks,.agents/skillsentries for this platform are all plural, so.agents/workflowsis adopted here for internal consistency — pin the exact spelling via a live install test before treating it as immutable, same caveat already carried for the skills path.layout_map.yamlnow carries a realcommands: {dir: ".agents/workflows", ext: ".md", prefix: "g-"}entry forantigravity(previously absent found only the undocumented global path and downgraded the matrixCommandscell to⚠). Flipping the live the platform capability matrixantigravityCommandscell from⚠back to✅is a coordinator-owned.gald3r/write (g-rl-33 Swarm Reconciliation Gate — bucket agents don't write shared.gald3r/ledgers directly; same deferral pattern as the gooseCommandscell), not included in this authoring pass. - gald3r
@g-*//g-*commands map directly to Workflows (the closest analogue). - Source: https://antigravity.google/docs/rules-workflows ·
https://codelabs.developers.google.com/autonomous-ai-developer-pipelines-antigravity
(first-party Google Codelab —
mkdir -p .agents/workflows .agents/skills;Create .agents/workflows/startcycle.md:) · https://discuss.ai.google.dev/t/agents-not-reading-workflow-when-directed-with-slash-commands/115448 (community forum — workflows exist "in the current workspace")
6. Hooks System — ✅ NATIVE¶
- Lifecycle Hooks (added in Antigravity 2.0 / Google I/O 2026, May 2026): execute custom
local shell scripts at critical stages of the agent's execution cycle. Configured in
hooks.jsonin the customization dir (.agents/workspace, or~/.gemini/config/global; workspace precedence). Hooks receive input via stdin as JSON and return output via stdout as JSON. - Hook points:
before_tool_call,after_tool_call(logging),before_model_call(inject system instructions),after_model_call(override exit rules),on_loop_stop,on_error. - gald3r
g-hk-*.pyhooks (python <path>, post- Python port; no PowerShell involved) can be wired as the executed shell scripts:before_tool_call~ preToolUse,on_loop_stop~ stop,before_model_callenables session-start-style instruction injection. - Source: https://antigravity.google/docs/hooks
7. Rules / Memory — ✅ NATIVE¶
- Rules are plain Markdown files of constraints. Activation types: Manual
(at-mention), Always On, Model Decision (NL description), Glob (file pattern). Each rule
file is limited to 12,000 chars. Global rules:
~/.gemini/GEMINI.md; workspace rules:.agents/rules/of the workspace/git root. - A full always-on guarantee exists (
Always Onactivation) — stronger than the partial picture in the prior gald3r spec. Precedence: System Rules (immutable, DeepMind) >GEMINI.md>AGENTS.md. A durable "memories" concept also exists. - gald3r
g-rl-*map to Always On (foralwaysApply: true) or Model Decision (fordescription:-scoped) rules. - Source: https://antigravity.google/docs/rules-workflows
8. MCP Support — ✅ NATIVE¶
- Model Context Protocol: connect local tools, databases, and external services. Config shape
{ "mcpServers": { ... } }at.antigravity/mcp.json(project) or~/.gemini/antigravity/mcp_config.json(global; Settings → Customizations → Open MCP Config). Both a JSON-file config and a GUI MCP Store ("..." dropdown → Browse & Install & Authenticate). Trusted/owned-workspace security gating for write-capable servers. - gald3r MCP servers (e.g.
example_app) integrate via themcpServersJSON. - Source: https://antigravity.google/docs/mcp
9. Scheduled Tasks — ✅ NATIVE (Antigravity-native bonus)¶
- Scheduled Tasks (Antigravity 2.0): define crons to trigger agent invocations on a schedule. Adoptable for gald3r heartbeat / scheduled jobs.
- Source: https://antigravity.google/docs/hooks + I/O 2026 deep-dive https://antigravity.google/blog/google-io-2026-feature-deep-dive
Parity vs. Cursor Reference¶
Antigravity now reaches near-full parity with the Cursor reference (g-skl-platform-cursor):
native commands (Workflows), rules, agents (dynamic subagents), skills, hooks, and MCP, plus an
Antigravity-native Scheduled Tasks bonus with no Cursor analog. The one structural caveat is that
subagents are dynamic (Orchestrator-spawned) — there is no file-based g-agnt-*.md role
discovery, so gald3r agent-role files must be folded into rules/skills rather than dropped into an
agents dir.
Reuse note (important): because Antigravity reads AGENTS.md + GEMINI.md and discovers
Anthropic-format SKILL.md packages, gald3r's AGENTS.md + g-skl-*/SKILL.md artifacts are
largely reusable on Antigravity without a separate port. The exact skill directory path
(.agents/skills vs .antigravity/skills vs .agent/skills) and the hook payload schemas should be
pinned by a live install test before being hard-coded into installers.
Hook System¶
- Type: native (
hooks.json, shell scripts, stdin/stdout JSON) - Config file:
hooks.jsonin the customization dir —.agents/(workspace) or~/.gemini/config/(global); workspace precedence - Events available:
before_tool_call,after_tool_call,before_model_call,after_model_call,on_loop_stop,on_error - Event payload format: JSON via stdin; result returned as JSON via stdout
- Command extensions: local shell scripts (official examples are
.sh); gald3rg-hk-*.pywired via{ "type":"command", "command":"python <path> …" }(post- Python port; no PowerShell involved) - gald3r hook files:
g-hk-*.pymap tobefore_tool_call(pre-tool guards),on_loop_stop(stop),before_model_call(session-start-style instruction injection) - OS note: hooks invoke the local shell directly;
python <path>runs cross-platform with no PowerShell dependency — pin payload schema via install test
Atypical Handling¶
- Two products, one name: the IDE/CLI harness (full extensibility — this spec) vs the hosted Gemini API "Managed Agents" (separate; no subagents / custom tools yet). Do not conflate.
- Instruction file:
AGENTS.md+GEMINI.md(NOTCLAUDE.md);GEMINI.mdoutranksAGENTS.md; immutable System Rules sit above both. - Dynamic subagents: Orchestrator spawns subagents on the fly — no static
g-agnt-*.mddir. - Global state is Gemini-namespaced under
~/.gemini/(shared with the Gemini CLI tree). - Skill dir path is not yet canonical across sources — pin via install test.
- Workflows dir path: confirmed project-relative (
.agents/workflows/per the first-party Google Codelab); same singular/plural spelling ambiguity as the skill dir across third-party sources — pin via install test.
gald3r Integration Notes¶
- Ship gald3r's
AGENTS.md+g-skl-*/SKILL.md— Antigravity reads/discovers them natively. - Ship gald3r's
@g-*//g-*commands as Workflows at.agents/workflows/*.md( — project-relative,layout_map.yamlcommandsentry now authored). - Put Antigravity-only must-win directives in
GEMINI.md(outranksAGENTS.md). - Hooks fire natively (shell commands;
g-hk-*.pyviapython <path>, post- Python port; no PowerShell involved) —before_model_callcovers session-start injection,on_loop_stopcovers stop,before_tool_callcovers.gald3r/guards. - Fold
g-agnt-*guidance into rules/skills (no file-based subagent discovery). - Adopt Scheduled Tasks (crons) for gald3r heartbeat jobs.
- Evidence caveat:
antigravity.google/docs/*is a JS SPA (WebFetch returned title only); capability evidence comes from search-engine extractions quoting the official pages verbatim, cross-checked against multiple 2026 sources + Google codelabs. Pin skill path + hook payload schema via a live install test before hard-coding. - New, high-churn platform (relaunched ~2026-05-19) — re-verify on the next
@g-platform-scan-docs antigravity(crawl_max_age_days: 7).
Capability Summary¶
| Hooks | Rules | Skills | Commands | MCP | Docs Fresh |
|---|---|---|---|---|---|
| ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Legend: ✅ verified working · ⚠️ partial / Cursor-generic · ❌ not supported · ❓ untested.
Agents (6th primitive): ✅ native dynamic subagents at the platform level; ⚠️ the gald3r
g-agnt-*.mdfile convention does not auto-map (no static-role discovery) — fold into rules/skills.
Verification Evidence (docs crawl 2026-06-02, https://antigravity.google/docs)¶
| Capability | How verified |
|---|---|
| Commands / Workflows | /docs/rules-workflows — Workflows = markdown saved-prompts, /workflow-name, title/description/steps, ≤12,000 chars, Global vs Workspace; also /docs/command. (2026-07-18): Workspace scope is project-relative .agents/workflows/*.md — confirmed via codelabs.developers.google.com/autonomous-ai-developer-pipelines-antigravity (first-party Google Codelab, literal mkdir -p .agents/workflows) + discuss.ai.google.dev forum thread 115448 (workflows resolve "in the current workspace"); singular/plural spelling ambiguity noted, same as the skills path below |
| Rules | /docs/rules-workflows — Markdown rules; activation Manual / Always On / Model Decision / Glob; ≤12,000 chars; ~/.gemini/GEMINI.md (global) + .agents/rules/ (workspace); precedence System Rules > GEMINI.md > AGENTS.md |
| Agents | /docs/subagents — dynamic Orchestrator-spawned subagents (start_subagent), async/background, agent IDs, Agent Management; no file-based g-agnt-*.md discovery |
| Skills | codelabs (getting-started-with-antigravity-skills) — Anthropic SKILL.md standard ("same as Claude Code, Cursor"); YAML frontmatter (name optional, description mandatory); on-demand load; path .agents/.antigravity/.agent skills (pin via install test) |
| Hooks | /docs/hooks — hooks.json shell scripts, stdin/stdout JSON; events before_tool_call / after_tool_call / before_model_call / after_model_call / on_loop_stop / on_error; global + workspace (workspace precedence); added Antigravity 2.0 / I/O 2026 |
| MCP | /docs/mcp — { "mcpServers": {...} } at .antigravity/mcp.json (project) / ~/.gemini/antigravity/mcp_config.json (global); MCP Store GUI; owned-workspace gating |
| Instruction file | /docs/rules-workflows — AGENTS.md (cross-tool, also Cursor/Claude Code) applied after GEMINI.md; global ~/.gemini/GEMINI.md + ~/.gemini/AGENTS.md (v1.20.3+) |
| Scheduled Tasks | /docs/hooks + blog/google-io-2026-feature-deep-dive — cron-style agent invocations |
| Surface separation | ai.google.dev/gemini-api/docs/antigravity-agent — hosted "Managed Agents": custom tools + subagent delegation "not yet supported" → distinct from IDE/CLI harness rated here |
| Evidence method | antigravity.google/docs/* is a JS SPA (WebFetch → title only); ratings from search-engine extractions quoting official pages verbatim, cross-checked vs multiple 2026 sources + Google codelabs; confirmed pages: /docs/rules-workflows, /docs/mcp, /docs/subagents, /docs/hooks, /docs/agent, /docs/command, /docs/task-list |
Reference page — canonical source: g-skl-platform-antigravity/PLATFORM_SPEC.md in the engine repo, generated by scripts/generate_platform_support_docs.py. Pages marked curated are hand-assessed and not yet live-verified.