Skip to content

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) and GEMINI.md (Antigravity-specific). It does not rely on CLAUDE.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_subagent tool) 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 for g-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.md open 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.md format is the same standard used by Claude Code, Cursor, and every other compatible agent." gald3r g-skl-*/SKILL.md files 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/command page 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 instruction mkdir -p .agents/workflows .agents/skills and file-creation step Create .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/skills entries for this platform are all plural, so .agents/workflows is 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.yaml now carries a real commands: {dir: ".agents/workflows", ext: ".md", prefix: "g-"} entry for antigravity (previously absent found only the undocumented global path and downgraded the matrix Commands cell to ). Flipping the live the platform capability matrix antigravity Commands cell 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 goose Commands cell), 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.json in 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-*.py hooks (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_call enables 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 On activation) — 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 (for alwaysApply: true) or Model Decision (for description:-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 the mcpServers JSON.
  • 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.json in 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); gald3r g-hk-*.py wired via { "type":"command", "command":"python <path> …" } (post- Python port; no PowerShell involved)
  • gald3r hook files: g-hk-*.py map to before_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 (NOT CLAUDE.md); GEMINI.md outranks AGENTS.md; immutable System Rules sit above both.
  • Dynamic subagents: Orchestrator spawns subagents on the fly — no static g-agnt-*.md dir.
  • 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.yaml commands entry now authored).
  • Put Antigravity-only must-win directives in GEMINI.md (outranks AGENTS.md).
  • Hooks fire natively (shell commands; g-hk-*.py via python <path>, post- Python port; no PowerShell involved) — before_model_call covers session-start injection, on_loop_stop covers stop, before_tool_call covers .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-*.md file 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.