oh-my-gemini-cli

Context-engineering-powered multi-agent workflow pack for Gemini CLI.

Install

Official Gemini Extensions command

gemini extensions install https://github.com/Joonghyun-Lee-Frieren/oh-my-gemini-cli
Verify:
  gemini extensions list
  /extensions list

"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 interview

OmG started from this question: "What if we bring that harness model to Gemini CLI?"

13
Sub-agents
8
Retained skills
40
Namespaced commands
5
Context layers

Latest Update (Gemini CLI 2-Week Sync)

OmG is now aligned with recent Gemini CLI stable releases (v0.35.0, v0.36.0) plus preview tracking for v0.37.0-preview.1.

Area Update
Upstream compatibility window Reviewed Gemini CLI updates from 2026-03-20 to 2026-04-03 and reflected stable-channel impact in OmG docs and diagnostics.
Stable baseline refresh Raised recommended runtime baseline to v0.36.0+ to match current assumptions around native worktree sessions, sandboxing, and subagent orchestration.
Doctor diagnostics hardening /omg:doctor now flags runtime compatibility drift (older CLI builds that miss current worktree/sandbox behavior assumptions).
Recent release mapping Added explicit guidance for stable v0.35.0 (keyboard/vim + sandbox/JIT context), stable v0.36.0 (multi-registry, worktree, native sandbox), and preview v0.37.0-preview.1 (optional).
Version + docs refresh README, Korean README, landing page, and changelog were updated with extension/package version bump to 0.6.0.
Extension boundary All changes stay inside Gemini CLI extension primitives (prompt, skills, command policy, docs/state guidance) with no new daemon/service layer.

System Diagram

How user intent becomes a validated output

User Request
    |
Gemini CLI
    |
OmG Extension (gemini-extension.json)
    |--- commands/omg/*.toml  -> command-driven orchestration
    |--- skills/*/SKILL.md    -> retained deep-work skills only
    |--- agents/*.md          -> role prompts and behavior contracts
    |--- GEMINI.md -> context/omg-core.md
    |
Structured Result
(plan / implementation / review / next actions)

Model Allocation

Role-aware split across gemini-3.1-pro, gemini-3-flash, and gemini-3.1-flash-lite lanes.

Judgment & Acceptance Gates (gemini-3.1-pro)60%
Implementation & Delivery (gemini-3-flash)25%
Exploration & Quick Low-Risk Work (gemini-3.1-flash-lite)15%

Capability Matrix

What OmG adds over a plain single-session run

Work Need Plain Session OmG Extension
Large feature planning Manual prompt decomposition $plan / $omg-plan and omg-planner with phased output format
Parallel role execution Single-thread thinking /omg:team-assemble builds role lanes first, then /omg:team executes with explicit handoffs
Task-fit team composition Manual role guessing each session Domain specialists + format specialists are selected dynamically with approval gate
Parallel lane or worktree coordination Implicit branch/path assumptions and repeated restarts /omg:workspace keeps root/lane ownership explicit and /omg:workspace audit surfaces dirty or untrusted lanes before parallel execution
Consistency in decisions High drift risk across long chats Shared baseline from a thin GEMINI.md -> context/omg-core.md chain
Debug/review loop Ad-hoc and easy to skip Dedicated omg-reviewer + omg-debugger path
Command discoverability No namespaced workflow surface Stable /omg:* command namespace
Intent-stage mismatch prevention Manual interpretation each turn /omg:intent gate routes requests to the right stage
Long-session bootstrap Ad-hoc codebase scanning /omg:deep-init creates project map and validation baseline
Done criteria discipline Premature completion risk /omg:taskboard + /omg:team-verify keep stable task IDs and verifier-backed completion evidence
Prior-decision recall Manual transcript scrolling and guesswork /omg:recall retrieves prior rationale via state-first search with bounded fallback.
Informational sessions trigger noisy learn nudges Manual filtering or turning off learning prompts entirely omg-learn-signal-after-agent filters informational-only queries and prompts /omg:learn only when actionable implementation signals exist.
Deep interview gets interrupted by auto nudges Manual pause of hooks during interview windows omg-learn-signal-after-agent suppresses learn nudges automatically while .omg/state/deep-interview.json reports an active lock.
Task-specific guardrails Global/static prompt policies /omg:rules injects conditional rule packs per task
Durable memory management Decisions spread across turns and easy to lose /omg:memory keeps a compact MEMORY.md index plus topic/rule files
Status visibility control Single fixed output density /omg:hud profiles (normal, compact, hidden) adapt status readability
Approval policy posture Ad-hoc confirmation behavior /omg:approval manages suggest/auto/full-auto with risk guardrails
Preflight diagnostics Manual setup checks /omg:doctor provides readiness findings and prioritized remediation
Hook safety and trigger discipline Manual event policing and ad-hoc checks /omg:hooks + /omg:hooks-validate enforce deterministic lanes, safety policy, and trigger health checks
Long-run alerting Manual monitoring or ad-hoc shell notifications /omg:notify keeps approvals, blockers, verify failures, checkpoints, and idle drift observable with extension-native policy files
Per-turn usage visibility Manual /stats model checks only Built-in AfterAgent hook prints compact turn/session token usage after each completed turn and suppresses duplicate replays of the same transcript snapshot
Startup/discovery weight Broad mirrored command/skill surface plus disconnected shared context Slash-command-first surface with 8 retained deep-work skills and a real root GEMINI.md entrypoint

Dynamic Team Assembly

Assemble first, execute after approval.

Step Behavior
1. Analyze task shapeInfer domain, output type, risk posture, and evidence depth.
2. Build role lanesSelect domain specialists and format specialists separately.
3. Assign models + reasoningMap model profiles and teammate reasoning effort by lane risk.
4. Ask approvalPause and request explicit confirmation before autonomous team execution.
5. Run lifecycleExecute team-plan -> team-prd -> taskboard -> team-exec -> team-verify -> team-fix.

Example Roster

Competitor analysis + executive report

Lane Agent(s) Purpose
Orchestrationomg-directorRoute messages, resolve conflicts, maintain acceptance focus.
Explorationomg-researcher x3Parallel evidence collection across competitor segments.
Decisionomg-consultantDefine criteria and recommend strategic direction.
Editorialomg-editorDeliver concise executive-ready output.
Qualityomg-reviewerCheck consistency, unsupported claims, and missing evidence.

Workspace Audit and Taskboard

Compact state anchors plus lane hygiene for parallel lanes and long verify/fix loops.

Command Role
/omg:workspaceTrack primary root, optional worktree/path lanes, collision boundaries, and lane health.
/omg:taskboardTrack stable task IDs, owners, dependencies, verifier-backed completion, and lane-health notes.
/omg:recallRecover prior rationale from compact state first, then widen to bounded recent history only when required.
/omg:checkpointResume from compact state references instead of replaying full chat history.
/omg:cacheAudit whether compact state anchors are actually keeping cache prefixes stable.

Example Flow

Lightweight control without adding a runtime daemon.

/omg:workspace set .
/omg:workspace audit
/omg:workspace add ../feature-auth omg-executor
/omg:taskboard sync
/omg:team Implement auth flow with tests
/omg:taskboard next
/omg:recall "why was auth lane blocked" scope=state
/omg:checkpoint

Automatic Hook Monitors

Extension-native AfterAgent hooks for usage visibility and learn-signal safety filtering, including deep-interview lock suppression.

Artifact Purpose
hooks/hooks.jsonRegisters omg-quota-watch-after-agent on AfterAgent
hooks/scripts/after-agent-usage.jsReads transcript, calculates turn/session/model token totals, and deduplicates repeated retries against the same snapshot
.omg/state/quota-watch.jsonPersists turn counter, latest usage snapshot, and last processed transcript fingerprint
hooks/scripts/learn.jsFilters informational-only learning nudges, deduplicates retries, and sanitizes legacy state before emit
.omg/state/learn-watch.jsonPersists learn-signal dedupe key, prompt-once session tracking, and skip reason
.omg/state/deep-interview.jsonLock-state input; when active, learn nudges are suppressed to protect interview flow

Boundary: the hook cannot fetch authoritative remaining account quota by itself. Use /stats model for remaining quota/limits.

Sample Output

Printed automatically after each completed agent turn.

[OMG][USAGE][TURN 12] turn=9,703 tok (in 9,487 / out 48 / cache 3,195)
session=18,859 tok model=gemini-3-flash-preview 18,859 tok remaining=/stats model
(actionable session only) [OMG][Learn] Actionable session signals detected (4/11). Run '/omg:learn'
(deep-interview lock active) learn nudge suppressed
(duplicate retries against the same transcript snapshot are suppressed)

Disable per hook with hooksConfig.disabled = ["omg-quota-watch-after-agent"] or ["omg-learn-signal-after-agent"].

Interface Catalog

Commands

Primary control plane for status, notification routing, intent routing, workspace/task tracking, approval posture, and staged execution control.

Skills

Small retained deep-work skill set for discovery, planning, scoped execution, PRD drafting, research, and context cleanup.

Sub-agents

Role-specialized behavior contracts across orchestration, analysis, implementation, quality, and final packaging.

Type Name Primary Use
Command/omg:statusSnapshot progress, risk, and next actions
Command/omg:doctorDiagnose extension/team/workspace/hook readiness and generate remediation plan
Command/omg:hudSwitch status visibility profile (normal/compact/hidden)
Command/omg:hud-onQuick toggle to full HUD status view
Command/omg:hud-compactQuick toggle to compact HUD status view
Command/omg:hud-offQuick toggle to hidden HUD (plain status sections)
Command/omg:hooksInspect/switch hook trigger profile, lanes, and safety policy
Command/omg:hooks-initBootstrap hook policy files and plugin contract scaffolding
Command/omg:hooks-validateValidate trigger graph, lifecycle symmetry, ordering, and worker-session safety constraints
Command/omg:hooks-testDry-run event sequences and estimate hook efficiency impact
Command/omg:notifyConfigure approvals/blockers/verify/checkpoint/idle notification routing
Command/omg:intentClassify request intent and route to the right stage
Command/omg:workspaceSet primary root, worktree/path lane ownership, and audit lane health
Command/omg:taskboardMaintain compact task ledger with stable IDs, verify state, and lane-health notes
Command/omg:recallRecover prior decisions/evidence with state-first search and bounded history fallback
Command/omg:team-assembleBuild a task-fit team roster and request execution approval
Command/omg:deep-initBuild project map and validation baseline before long sessions
Command/omg:rulesActivate task-conditional guardrail rule packs
Command/omg:memoryManage MEMORY.md index, topic notes, and rule packs
Command/omg:reasoningSet global/teammate reasoning effort profile for depth and cost control
Command/omg:loopContinue exec/verify/fix cycles until done or blocked
Command/omg:approvalSwitch approval posture (suggest/auto/full-auto)
Command/omg:teamRun full multi-agent lifecycle with optional assembled roster and compact taskboard sync
Command/omg:cancelHarness-style safe cancel alias with resume handoff
Command/omg:optimizeTune prompt/context quality and cost profile
Command/omg:cacheInspect cache/context behavior and compact-state anchoring
Skill$planMilestone-level decomposition
Skill$omg-planSlash-friendly planning alias that avoids native /plan collision
Skill$executeImplementation pass for a scoped slice
Skill$prdMeasurable scope and acceptance-criteria drafting
Skill$ralplanStrict staged planning with rollback points
Skill$researchOption comparison and tradeoff synthesis
Skill$deep-diveTrace-to-interview discovery with clarity score and launch brief
Skill$context-optimizeSignal-to-noise optimization in context
Agent Responsibility Model Profile
omg-architectSystem boundaries and long-term design qualitygemini-3.1-pro
omg-plannerTask slicing, dependencies, execution ordergemini-3.1-pro
omg-productScope lock and measurable acceptance criteriagemini-3.1-pro
omg-executorCode-level implementation and incremental deliverygemini-3-flash
omg-reviewerRegression checks and correctness reviewgemini-3.1-pro
omg-verifierAcceptance-gate evidence checks and release readinessgemini-3.1-pro
omg-debuggerRoot cause analysis and fix strategygemini-3.1-pro
omg-consensusOption convergence and decision scoringgemini-3.1-pro
omg-researcherEvidence gathering and decision supportgemini-3.1-pro
omg-directorLane orchestration, conflict resolution, and handoff controlgemini-3.1-pro
omg-consultantDecision criteria, strategic analysis, and recommendation framinggemini-3.1-pro
omg-editorFinal deliverable structure and consistency packaginggemini-3-flash
omg-quickSmall tactical editsgemini-3.1-flash-lite

Operational Runbook

Stage Operator Command Expected Output
Install gemini extensions install https://github.com/Joonghyun-Lee-Frieren/oh-my-gemini-cli Extension registered as oh-my-gemini-cli
Validate gemini extensions list or /extensions list Extension appears in active extension list
Doctor preflight /omg:doctor (or /omg:doctor team) Readiness findings with prioritized remediation before autonomy
Set operator posture /omg:approval auto Explicit confirmation policy aligned to task risk
Set alert posture /omg:notify profile watchdog Approval, blocker, verify-failure, checkpoint, and idle-watchdog alerts persisted to policy state
Enable usage visibility /stats model (periodic quota check) + built-in AfterAgent usage hook Automatic per-turn token usage line plus authoritative remaining quota on demand
Learn signal (automatic) Built-in AfterAgent learn-signal hook /omg:learn nudge appears only for actionable sessions; informational-only turns and deep-interview lock windows are suppressed
Start workflow /omg:deep-init <task> then /omg:intent <task> Project map + stage-routed handoff before coding
Set workspace lanes /omg:workspace set ., /omg:workspace audit, and optionally /omg:workspace add <path> <owner> Explicit root/lane ownership plus lane hygiene before parallel implementation
Recall prior rationale /omg:recall "<keyword>" scope=state (expand to scope=recent only if needed) Fast context recovery without replaying full transcript history
Assemble team /omg:team-assemble <task> Role-fit roster proposal + approval gate before autonomous execution
Sync task ledger /omg:taskboard sync Compact source of truth for ready, blocked, done, and verified tasks
Refresh memory /omg:memory Sync index and active rules for current task Compact memory index + task-aware rule activation context
Bootstrap hooks /omg:hooks-init then /omg:hooks profile balanced Deterministic hook lane policy persisted for the session
Validate hook graph /omg:hooks-validate then /omg:hooks-test Safe-to-run decision, lifecycle symmetry check, and dry-run evidence before high-autonomy loops
Execute lifecycle /omg:team Implement feature X with tests (approved roster) team-plan -> team-prd -> taskboard -> team-exec -> team-verify -> team-fix progression summary
Enforce completion loop /omg:loop Continue unresolved verify backlog Explicit continue/done/blocked status with taskboard coverage and evidence
Observe state /omg:status Current progress, blockers, and next actions
Tune visibility /omg:hud compact or /omg:hud-off Status output density aligned to terminal/session style
Tune context /omg:optimize or $context-optimize Cleaner context with lower drift, stable task anchors, and better cache reuse

Troubleshooting Matrix

Symptom Likely Cause Action
settings.filter is not a function Outdated CLI runtime or stale extension cache Update Gemini CLI, uninstall extension, reinstall via extensions command
/omg:* not found Extension not loaded in current process Run gemini extensions list and restart session
Workspace/sandbox behavior differs from docs Gemini CLI runtime is older than the current OmG compatibility baseline Upgrade Gemini CLI to stable v0.36.0+, then rerun /omg:doctor and /omg:workspace audit
/plan opens native plan mode when OmG planning skill was expected Built-in /plan and skill slash invocation names can collide in newer Gemini CLI versions Use /omg-plan (or $omg-plan) for OmG planning skill behavior, or /omg:team-plan for staged planning
Autonomous flow confirms too often or too little Approval posture not aligned with risk profile Run /omg:approval suggest|auto|full-auto and re-check policy
Review or automation is about to run on a dirty or untrusted lane Shared worktree hygiene is unclear Run /omg:workspace audit, isolate the lane if needed, and only then continue verify/review steps
Hooks seem to miss terminal events or fire twice after continuation Hook lifecycle symmetry is not explicit Run /omg:hooks-validate, then fix lifecycle policy before re-enabling autonomous loops
Output feels generic or repetitive Reasoning posture and quality gate too weak for target artifact Raise /omg:reasoning (optionally teammate overrides) and rerun /omg:team-verify
Team assembly keeps proposing but not executing No explicit approval token after roster proposal Reply with yes, approve, go, or run and re-run /omg:team-assemble
Done status keeps drifting after long loops No compact task source of truth or missing verifier signoff Run /omg:taskboard sync, then rerun /omg:team-verify to close remaining task IDs
Setup health is unclear before a long run State/config drift accumulated across sessions Run /omg:doctor and apply remediation list
Skills not triggering Skill files not loaded in active extension context Confirm skills/*/SKILL.md files and reload CLI