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.
How 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`.
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.
npx claudepluginhub xiaolai/nlpm --plugin nlpmInvokes Google Gemini CLI for complex reasoning, research, and AI tasks in headless mode. Supports preview models, fallbacks, and session continuation.
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.
Guides building, linking, testing, and publishing Gemini CLI Extensions including extension.yaml, GEMINI.md context, slash commands, MCP servers, and GitHub releases.