Help us improve
Share bugs, ideas, or general feedback.
From nlpm
Scores and writes Antigravity CLI artifacts including .agent/ skills, gemini-extension.json, TOML slash commands, and Gemini-lineage hooks. Advisory-only during the Antigravity 2.0 transition window.
npx claudepluginhub xiaolai/nlpm --plugin nlpmHow this skill is triggered — by the user, by Claude, or both
Slash command
/nlpm:conventions-antigravityThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Tool-specific overlay for Google Antigravity CLI artifacts, including legacy Gemini CLI paths during the transition window. Loaded by the scorer and checker when an artifact is classified as **Tier 2-Antigravity** (per `agents/scorer.md` step 3). The universal floor lives in `nlpm:conventions`.
Invokes Google Gemini CLI for complex reasoning, research, and AI tasks in headless mode. Supports preview models, fallbacks, and session continuation.
Drives the AgentOps loop (claim→work→validate→close→persist) on Google's Antigravity CLI harness (AGY), supporting Gemini, Claude, and GPT models through AGY's plugin/skill/subagent architecture.
Provides Codex CLI conventions for writing and scoring artifacts: SKILL.md layout, config.toml schema, plugin.json, hooks, AGENTS.md hierarchy, marketplace.json, and OpenAI YAML sidecars.
Share bugs, ideas, or general feedback.
Tool-specific overlay for Google Antigravity CLI artifacts, including legacy Gemini CLI paths during the transition window. Loaded by the scorer and checker when an artifact is classified as Tier 2-Antigravity (per agents/scorer.md step 3). The universal floor lives in nlpm:conventions.
Status: Antigravity 2.0 was announced at Google I/O 2026 on 2026-05-19 (six days before this file was written). The directory layout is still settling, the official Antigravity-specific spec doc is sparse, and two authoritative research passes disagreed on .agent/ (singular) vs .agents/ (plural) as the canonical skills path. This skill is advisory-only for Antigravity-specific artifacts. PR-B verification trigger conditions are recorded in analysis/multi-tool-design-2026-05.md.
Transition timeline:
.gemini/ paths fade to legacy.Primary authoritative sources:
| Artifact | Project scope (Antigravity) | Project scope (Gemini, legacy) | User scope |
|---|---|---|---|
| Skills | <workspace>/.agent/skills/<name>/SKILL.md (singular — Antigravity per codelab); .agents/skills/<name>/SKILL.md (cross-tool alias, plural) | .gemini/skills/<name>/SKILL.md | ~/.gemini/antigravity/skills/ (transitional global) or ~/.gemini/skills/ (legacy) |
| Slash commands | (under-documented for Antigravity) | .gemini/commands/<name>.toml | ~/.gemini/commands/ |
| Hooks | (under-documented for Antigravity) | .gemini/settings.json → hooks object | ~/.gemini/settings.json |
| MCP servers | (under-documented for Antigravity) | mcpServers JSON key inside .gemini/settings.json | same |
| Extensions / plugins | "Antigravity plugins" — gemini-extension.json (renamed in transition, layout TBD) | ~/.gemini/extensions/<name>/gemini-extension.json | same |
| Memory file | GEMINI.md (inherited; configurable via context.fileName array) | GEMINI.md (workspace + ancestors) | ~/.gemini/GEMINI.md |
| System config | TBD | /etc/gemini-cli/settings.json | — |
Discovery precedence within a tier (Gemini-lineage; assumed to carry over): built-in → extension → user → workspace. .agents/skills/ beats .gemini/skills/ (cross-tool path wins).
Uncertainty (verify before scoring):
<workspace>/.agent/skills/ (singular, from Antigravity codelab) vs .agents/skills/ (plural, cross-tool alias from agentskills.io) — both may be true (Antigravity-specific singular path + cross-tool plural alias), or one may be a documentation error. Recommend recognizing both as valid skill paths.name, description required only)Antigravity (and Gemini CLI) explicitly adopt the agentskills.io open standard. Required: name, description. Same as every other tool.
Antigravity/Gemini-specific extensions documented to date:
activate_skill tool invocation (in-agent) to load a skill on demand./skills slash command (in-agent) lists installed skills.gemini skills terminal command (list/install/uninstall) — Gemini-only; Antigravity CLI uses npx skills add instead.Install verbs:
npx skills add github.com/google/skills (per github.com/google/skills repo page).npx skills install (treat as equivalent; add is the canonical command).gemini extensions install <github-url|path>.gemini-extension.json (extension manifest, becoming "Antigravity plugin"){
"name": "my-extension",
"version": "1.0.0",
"mcpServers": { /* MCP server registrations */ },
"contextFileName": "AGENTS.md",
"excludeTools": ["WebFetch"]
}
Required: name, version. Notable optional: mcpServers, contextFileName, excludeTools. The rename to "Antigravity plugin" is announced; the manifest schema is documented to "preserve" extension semantics but Google hasn't published the full delta.
.gemini/commands/<name>.toml (slash commands — TOML)prompt = """
Review the diff and check for {{args}}.
"""
description = "Custom code review with focus area"
Required field: prompt.
Optional: description (auto-generated from filename if omitted).
Template syntax (Gemini-specific):
{{args}} — raw argument injection.!{shell command} — runs shell, args auto-escaped.@{path} — file/directory injection. Respects .gitignore and .geminiignore. Supports PNG/JPEG/PDF/audio/video.Subdirectory layout becomes a namespace: .gemini/commands/ns/cmd.toml → /ns:cmd.
Antigravity CLI status: unclear whether TOML slash commands carry over. Treat as legacy-only for now; Antigravity-specific command format TBD.
Gemini (and inherited Antigravity) decomposes the lifecycle into Agent/Model/Tool layers, not the tool-centric model Claude and Codex use.
| Event | Trigger |
|---|---|
SessionStart | Session begin |
BeforeAgent | Before each agent turn |
BeforeModel | Before LLM invocation |
BeforeToolSelection | Before the model decides which tool to call |
BeforeTool | Before tool execution (after selection) |
AfterTool | After tool execution |
AfterModel | After LLM response |
AfterAgent | After agent turn complete |
SessionEnd | Session end |
Notification | On notification |
PreCompress | Before context compaction (Gemini's name for Claude's PreCompact) |
No 1:1 mapping to Claude Code or Codex events. Specifically:
BeforeModel vs BeforeToolSelection distinction has no Claude/Codex analog — both fall under Claude's PreToolUse.UserPromptSubmit or PermissionRequest.I/O contract (Gemini lineage): JSON on stdin with session_id, transcript_path, cwd, hook_event_name, timestamp. JSON on stdout: systemMessage, decision ("allow"/"deny"), reason, continue, suppressOutput. Exit codes: 0 = ok, 2 = block (stderr = reason), other = warning.
Antigravity CLI hook event names: TBD — Google's transition post says "preserves hooks" without enumerating the event set. Treat the Gemini list as the current best guess.
GEMINI.md is hierarchical: ~/.gemini/GEMINI.md → workspace + ancestor GEMINI.md files → JIT-discovered GEMINI.md on file access. All concatenated per prompt.
Distinctive features (versus AGENTS.md and CLAUDE.md):
@file.md imports via the Memory Import Processor. Verified 2026-05-26 against geminicli.com/docs/reference/memport/: imports nest (configurable max depth, default 5), accept any filename (not just GEMINI.md), and take relative or absolute paths. A GEMINI.md containing only @AGENTS.md resolves to AGENTS.md's full contents. validateImportPath restricts imports to allowed directories (repo-root siblings are fine).context.fileName in settings.json, which accepts an array — e.g., context.fileName: ["AGENTS.md", "CONTEXT.md", "GEMINI.md"]. This is the official interop hook for AGENTS.md (Codex's canonical) and CLAUDE.md (Claude Code's canonical).Recommended pattern for multi-tool projects (use context.fileName, NOT the @-import shim):
context.fileName: ["AGENTS.md"] in .gemini/settings.json — makes Gemini/Antigravity read AGENTS.md directly. nlpm decision #5: AGENTS.md is the canonical universal memory file. nlpm itself ships this exact .gemini/settings.json.GEMINI.md → @AGENTS.md shim? It works per the import-processor docs, but every documented example uses an explicit @./ / @../ prefix; the bare @AGENTS.md form (which Claude Code accepts natively in CLAUDE.md) is a valid relative path but unconfirmed against a live Gemini run. context.fileName has no such ambiguity — Gemini reads the named file directly with no import resolution involved.Gemini reads MCP servers from mcpServers key inside ~/.gemini/settings.json or .gemini/settings.json (NOT a separate .mcp.json file). Standard MCP server shape: command, args, env. Also configurable inside gemini-extension.json for extension-bundled servers.
Slash commands: /mcp list, /mcp auth.
Antigravity CLI MCP layout: TBD.
No central JSON marketplace manifest documented for Gemini CLI today. Discovery is via the Extensions Gallery at https://geminicli.com/extensions/ (community/partner/Google), GitHub-stars ranked, installed via gemini extensions install <github-url|path>.
Antigravity CLI marketplace layout: TBD.
github.com/google/skills is the official Google-published skills registry. Organized under skills/cloud/.... Installed via npx skills add google/skills. Cross-tool — targets Antigravity, Gemini CLI, Codex CLI, Claude Code, Cursor, and others.
| Date | Event |
|---|---|
| 2025-11-20 | Original Antigravity public preview |
| 2026-04 (Cloud Next) | github.com/google/skills official registry launched; npx skills cross-agent installer |
| 2026-05 | Extensions Gallery launched (Dynatrace, Elastic, Figma, Harness as partners) |
| 2026-05-19 (Google I/O) | Antigravity 2.0 announced; Antigravity CLI GA; Gemini CLI deprecation announced |
| 2026-06-18 (pending) | Gemini CLI stops serving AI Pro/Ultra/Free tiers |
This skill covers Antigravity CLI and legacy Gemini CLI conventions during the transition window. It does NOT cover:
nlpm:conventionsnlpm:scoringMajor uncertainties — defer deep audit until resolved:
.agent/ vs plural .agents/ — codelab uses singular for Antigravity workspace skills; agentskills.io cross-tool alias uses plural. Auditor should recognize both as valid.npx skills verb — add per repo page, install per Cloud Next blog. add is canonical.github.com/google-antigravity/antigravity-cli — research surfaced this org/repo URL but the namespace differs from google/ proper. Verify before citing as authoritative.PR-B verification trigger: when Google publishes a stable Antigravity directory-layout spec (or when Antigravity overtakes Gemini CLI in real-world repo count), upgrade this skill from advisory to authoritative and add Antigravity-specific penalty rows to nlpm:scoring.