Antigravity CLI: Gemini CLI will be replaced by Antigravity CLI on June 18th. If you previously installed oh-my-gemini-cli in Gemini CLI, Antigravity CLI will ask whether to import plugins during installation. Check that option to bring your plugin over.
$ npx -y skills add Joonghyun-Lee-Frieren/oh-my-antigravity --agent claude-code
Repo: Joonghyun-Lee-Frieren/oh-my-antigravity
What's inside
한국어 | 日本語 | Français | 中文 | Español
[!IMPORTANT] Antigravity CLI: Gemini CLI will be replaced by Antigravity CLI on June 18th.
If you previously installed
oh-my-gemini-cliin Gemini CLI, Antigravity CLI will ask whether to import plugins during installation. Check that option to bring your plugin over.You can also install OmA directly with:
agy plugin install https://github.com/Joonghyun-Lee-Frieren/oh-my-antigravity
Context-engineering-powered multi-agent workflow pack for Antigravity CLI.
"Claude Code's core competitiveness isn't the Opus or Sonnet engine. It's Claude Code itself. Surprisingly, Gemini works well too when attached to Claude Code."
- Jeongkyu Shin (CEO of Lablup Inc.), from a YouTube channel interview
This project started from that observation: "What if we bring that harness model to Gemini CLI?"
OmA extends Gemini CLI from a single-session assistant into a structured, role-driven engineering workflow.
Install from GitHub using the official Gemini Extensions command:
gemini extensions install https://github.com/Joonghyun-Lee-Frieren/oh-my-antigravity
Verify in interactive mode:
/extensions list
Verify in terminal mode:
gemini extensions list
Run a smoke test:
/oma:status
Run a goal-style autonomous delivery loop:
/oma:goal "Implement the requested change, update tests, and verify acceptance criteria"
Note: extension install/update commands run in terminal mode (gemini extensions ...), not in interactive slash-command mode.
BeforeModel router can now write an opt-in last-decision trace to .omg/state/model-router-last.json.OMG_MODEL_ROUTING_TRACE=1 to capture selected lane, model, strategy, and match reason without restoring the old per-request banner./oma:doctor, /oma:status, /oma:model, and hook validation guidance now account for router trace freshness and missing custom lane mappings.v0.9.2.gemini extensions ...; do not rely on copied command/skill folders as the primary runtime path.gemini extensions list first, then refresh or reinstall the extension before editing shipped files./oma:workspace audit as the default preflight before review, automation, or team-exec./oma:interview session state is now intended to live under .omg/state/interviews/[slug]/ instead of one shared interview file..omg/state/interviews/active.json tracks the current interview so resume/status commands stay deterministic without mixing separate requirement threads..omg/state/session-lock.json is now the single-writer lock for shared workflow and operating-profile state inside one project.workspace.json, taskboard.md, workflow.md, checkpoint.md, mode.json, hud.json, approval.json, reasoning.json, hooks.json, and notify.json..omg/state/sessions/[session-slug]/ and hand those notes back to the orchestrator for merge.| Item | Summary |
|---|---|
| Delivery model | Official Gemini CLI extension (gemini-extension.json) |
| Core building blocks | GEMINI.md, agents/, commands/, skills/, context/ |
| Main use case | Complex implementation tasks that need plan -> execute -> review loops |
| Control surface | Slash-command-first /oma:* control plane + 11 retained $skills (including oma-plan alias) + sub-agent delegation |
| Default model strategy | Configurable via /oma:model (balanced lane split uses gemini-3.1-pro-preview / gemini-3-flash-preview / gemini-3.1-flash-lite-preview by default, with optional auto or custom overrides) |
| Problem in raw single-session flow | OmA response |
|---|---|
| Context gets mixed across planning and execution | Role-separated agents with focused responsibilities |
| Hard to keep progress visible in long tasks | Explicit workflow stages and command-driven status checks |
| Parallel lanes or worktrees drift out of sync | workspace + taskboard keep lane ownership, task IDs, and verification state compact and explicit |
| Permission-denied tool calls keep looping with no recovery path | Denied actions become explicit approval/fallback events with blocker tracking |
| Deep interview sessions get interrupted by automated nudges | Learn-signal hook suppresses nudges while deep-interview lock is active and resumes only after lock release |
| Repetitive prompt engineering for common jobs | Slash commands for operational control plus retained deep-work skills ($plan, $oma-plan, $execute, $research) |
| Drift between "what was decided" and "what was changed" | Review and debugging roles inside the same orchestration loop |
Use team-assemble when a fixed engineering roster is not enough.
oma-researcher xN) for broad discovery tasks.oma-consultant or oma-architect).oma-reviewer -> oma-verifier -> oma-debugger).Example flow:
/oma:team-assemble "Compare 3 competitors and produce an exec report"
-> proposes: researcher x3 + consultant + editor + director
-> asks: Proceed with this team? (yes/no)
-> after approval: team-plan -> team-prd -> taskboard -> team-exec -> team-verify -> team-fix
Activation note:
/oma:team-assemble is immediately available.Use workspace and taskboard when work spans multiple roots, multiple implementation lanes, or long verify/fix loops.
/oma:workspace keeps the primary root plus optional worktree/path lanes in .omg/state/workspace.json./oma:workspace audit checks lane cleanliness, trust status, and handoff readiness before parallel execution, review, or automation./oma:taskboard keeps stable task IDs, owners, dependencies, statuses (todo, ready, in-progress, blocked, done, verified), baseline anchors, lane-health notes, and evidence pointers in .omg/state/taskboard.md.team-plan seeds stable task IDs plus lane assumptions and baseline anchors, team-exec pulls the smallest ready slice with explicit lane/subagent context and baseline checks, and team-verify marks tasks verified only with evidence plus safe lane state.checkpoint and status can reference these files instead of replaying the whole chat, which improves cache stability and reduces token waste./oma:recall "<query>" performs state-first recall and bounded fallback search, so you can recover prior rationale without replaying full transcripts.Example flow:
/oma:workspace set .
/oma:workspace audit
/oma:workspace add ../feature-auth oma-executor
/oma:taskboard sync
/oma:taskboard next
/oma:recall "why was auth lane blocked" scope=state
Use these controls when long sessions start drifting because lane ownership, delegated execution, or hook continuation behavior is no longer obvious.
/oma:workspace audit surfaces dirty shared worktrees, untrusted review paths, and handoff-ready vs handoff-blocked lanes./oma:hooks and /oma:hooks-validate now model paired agent lifecycle outcomes (completed, blocked, stopped) so blocked continuations re-enter the safety lane once before downstream hooks resume.team-exec, team, team-verify, stop, and cancel keep delegated lane/subagent context compact and explicit, expanding details only when execution stops early or hits a blocker.Use notify when a long-running OmA session needs explicit signals for approvals, verification outcomes, blockers, or idle drift.
quiet: only urgent interruptions (approval-needed, verify-failed, blocker-raised, session-stop)balanced: quiet + checkpoint and team-approval updateswatchdog: balanced + idle-watchdog alerts for unattended loopsdesktop (host notification adapter)terminal-bellfilewebhook (external bridge)Example flow:
/oma:notify profile watchdog
-> enables: approval-needed, verify-failed, blocker-raised, checkpoint-saved, idle-watchdog, session-stop
-> suggests channels: terminal-bell + file by default
-> persists policy: .omg/state/notify.json
OmA ships a quiet model-routing hook. The previous AfterAgent quota-watch usage monitor was removed in v0.8.4 because Gemini CLI can report usage as unavailable, which created noisy low-value output.
hooks/hooks.json (BeforeModel -> oma-model-router)hooks/scripts/before-model-banner.jsFAQ
oh-my-antigravity is a Claude Code plugin with 11 hand-picked skills for development work, indexed on Flowy. Install it with the command on its page. It includes blueprint, context-optimize, deep-dive. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it