agentlytics
Comprehensive analytics dashboard for AI coding agents — Cursor, Windsurf, Claude Code, VS Code Copilot, Zed, Antigravi…
Teams-first Multi-agent orchestration for Claude Code
git clone https://github.com/Yeachan-Heo/oh-my-claudecode.gitYeachan-Heo/oh-my-claudecodeEnglish | 한국어 | 中文 | 日本語 | Español | Tiếng Việt | Português
For Codex users: Check out oh-my-codex — the same orchestration experience for OpenAI Codex CLI.
Multi-agent orchestration for Claude Code. Zero learning curve.
Don't learn Claude Code. Just use OMC.
Get Started • Documentation • CLI Reference • Workflows • Migration Guide • Discord
| Role | Name | GitHub |
|---|---|---|
| Creator & Lead | Yeachan Heo | @Yeachan-Heo |
| Name | GitHub |
|---|---|
| Sigrid Jin | @sigridjineth |
| Name | GitHub |
|---|---|
| devswha | @devswha |
| Name | GitHub | Commits |
|---|---|---|
| JunghwanNA | @shaun0927 | 65 |
| riftzen-bit | @riftzen-bit | 52 |
| Seunggwan Song | @Nathan-Song | 20 |
| BLUE | @blue-int | 20 |
| Junho Yeo | @junhoyeo | 15 |
Step 1: Install
Marketplace/plugin install (recommended for most Claude Code users). These are Claude Code slash commands — enter them one at a time (pasting both lines at once will fail):
/plugin marketplace add https://github.com/Yeachan-Heo/oh-my-claudecode
Then:
/plugin install oh-my-claudecode
If you prefer the npm CLI/runtime path instead of the marketplace flow:
npm i -g oh-my-claude-sisyphus@latest
Known npm warning: npm may print
deprecated prebuild-install@7.1.3during the CLI install. This currently comes from the upstreambetter-sqlite3native-addon dependency (better-sqlite3 -> prebuild-install);prebuild-install@7.1.3is still the latest published version, so there is no safe repo-side dependency bump or override to remove the warning yet. The warning is tracked in #2913 and does not by itself mean the OMC CLI install failed.
Step 2: Setup
# Inside a Claude Code / OMC session /setup /omc-setup # From your terminal omc setup
If you run OMC via omc --plugin-dir <path> or claude --plugin-dir <path>, add --plugin-dir-mode to omc setup (or export OMC_PLUGIN_ROOT before running it) so the installer doesn't duplicate skills/agents that the plugin already provides at runtime. See the Plugin directory flags section in REFERENCE.md for a complete decision matrix and all available flags.
Step 3: Build something
# Inside a Claude Code / OMC session /autopilot "build a REST API for managing tasks" # Natural-language in-session shortcut autopilot: build a REST API for managing tasks
Select a configured stage profile only through /autopilot --workflow <name> <task>:
/autopilot --workflow plan-build-qa "build a REST API for managing tasks"
Profiles are configured under autopilot.workflows in .claude/omc.jsonc (project) or ~/.config/claude-omc/config.jsonc (user). A v1 profile contains only version: 1 and stages:
{
"autopilot": {
"workflows": {
"plan-build-qa": {
"version": 1,
"stages": ["ralplan", "execution", "qa"]
}
}
}
}
The admitted sequences are [ralplan, execution], [ralplan, execution, ralph], [ralplan, execution, qa], and [ralplan, execution, ralph, qa]. A project profile of the same name wholly replaces the user profile; different names coexist. Environment variables cannot define profiles. Profiles remain within autopilot's existing state, cancel, resume, Stop, and HUD lifecycle; legacy invocations without --workflow remain compatible.
Named profiles currently require Linux with the flock utility because their transcript evidence boundary uses Linux no-follow file-descriptor traversal and their recoverable mutation lock uses kernel advisory locking. Unsupported environments reject explicit --workflow invocation before creating or changing autopilot state; legacy autopilot remains available.
V1 intentionally excludes model fields or routing (stageModels), inline execution, dynamic commands/modes/state, arbitrary stages or plugins, and the separate custom-skill frontmatter parser mismatch. See Named Autopilot Stage Profiles ADR and Reference.
That's it. Everything else is automatic.
OMC exposes two different surfaces:
omc ... from your shell after installing the npm/runtime path (npm i -g oh-my-claude-sisyphus@latest) or from a local checkout./... inside a Claude Code session after installing the plugin/setup flow.| Feature | Terminal CLI | In-session skill | Notes |
|---|---|---|---|
| Setup | omc setup |
/setup or /omc-setup |
Both are real entrypoints. /setup is the easiest plugin-first path. |
| Ask providers | omc ask codex "review this patch" |
/ask codex "review this patch" |
Both route through the same advisor flow. Providers: claude, codex, gemini, antigravity, grok, cursor. |
| Team orchestration | omc team 2:codex "review auth flow" |
/team 3:executor "fix all TypeScript errors" |
Both exist, but they are different runtimes: omc team launches tmux CLI workers; /team runs the in-session native team workflow. |
| Autopilot / Ralph / Ultrawork / Deep Interview | — | /autopilot ..., /ralph ..., /ultrawork ..., /deep-interview ... |
These are in-session skills. There is no omc autopilot / omc ralph / omc ultrawork CLI subcommand in this repo. |
| Autoresearch | omc autoresearch (hard-deprecated shim) |
/deep-interview --autoresearch ... + /oh-my-claudecode:autoresearch |
Setup stays in deep-interview; execution now belongs to the stateful skill. |
createOmcSession() and prompt expansion utilities for local Node.js programs using @anthropic-ai/claude-agent-sdk. This is a library surface, not a replacement for the Claude Code plugin UI.omc setup, omc ask, omc session search, repository scripts such as npm run sync-metadata:verify) and set ANTHROPIC_API_KEY or provider-specific CLI auth in the runner environment. Do not rely on interactive slash commands (/autopilot, /ralph, /team) in CI; they require an active Claude Code session.If you're uncertain about requirements, have a vague idea, or want to micromanage the design:
/deep-interview "I want to build a task management app"
The deep interview uses Socratic questioning to clarify your thinking before any code is written. It exposes hidden assumptions and measures clarity across weighted dimensions, ensuring you know exactly what to build before execution begins.
Starting in v4.1.7, Team is the canonical orchestration surface in OMC. The legacy swarm keyword/skill has been removed; use team directly.
/team 3:executor "fix all TypeScript errors"
Use /team ... when you want Claude Code's in-session native team workflow. Use omc team ... when you want terminal-launched tmux CLI workers (claude / codex / gemini panes).
Team runs as a staged pipeline:
team-plan → team-prd → team-exec → team-verify → team-fix (loop)
Enable Claude Code native teams in ~/.claude/settings.json:
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
If teams are disabled, OMC will warn you and fall back to non-team execution where possible.
v4.4.0 removes the Codex/Gemini MCP servers (x, g providers). Use the CLI-first Team runtime (omc team ...) to spawn real tmux worker panes:
omc team 2:codex "review auth module for security issues" omc team 2:gemini "redesign UI components for accessibility" omc team 2:antigravity "redesign UI components for accessibility" omc team 1:claude "implement the payment flow" omc team 1:cursor "implement the payment flow" omc team status auth-review omc team shutdown auth-review
/omc-teams remains as a legacy compatibility skill and now routes to omc team ....
For mixed Codex + Antigravity work in one command, use the /ccg skill (routes via /ask codex + /ask antigravity, then Claude synthesizes; Gemini remains available as an enterprise/API-key fallback):
/ccg Review this PR — architecture (Codex) and UI components (Antigravity)
| Surface | Workers | Best For |
|---|---|---|
omc team N:codex "..." |
N Codex CLI panes | Code review, security analysis, architecture |
omc team N:gemini "..." |
N Gemini CLI panes | UI/UX design, docs, large-context tasks (enterprise/API-key) |
omc team N:antigravity "..." |
N Antigravity (agy) panes |
UI/UX design, docs, large-context tasks |
omc team N:grok "..." |
N Grok Build CLI panes | Code review, analysis cross-check |
omc team N:cursor "..." |
N Cursor agent panes | Executor-style implementation tasks |
omc team N:claude "..." |
N Claude CLI panes | General tasks via Claude CLI in tmux |
/ccg |
/ask codex + /ask antigravity | Tri-model advisor synthesis |
Workers spawn on-demand and die when their task completes — no idle resource usage. Requires the selected CLI (codex, gemini, agy (antigravity), grok, or cursor-agent) installed/authenticated and an active tmux session.
Autopilot can prefer Cursor executor workers during team execution via .claude/omc.jsonc:
{
"autopilot": {
"execution": "team",
"team": { "agentTypes": ["cursor"] }
}
}
This config makes the autopilot execution stage use omc team 1:cursor "..." or /omc-teams 1:cursor "..." for executor-style implementation work. Reviewer, critic, security-review, validation verdict, and final approval roles remain native Claude/OMC reviewer roles; Cursor requires an installed/authenticated cursor-agent.
Native team worker worktrees are being added behind an opt-in/config gate. See Native Team Worktree Mode for the workspace contract, canonical state-root rules, dirty-worktree preservation policy, and verification checklist.
Note: Package naming — The project is branded as oh-my-claudecode (repo, plugin, commands), but the npm package is published as
oh-my-claude-sisyphus. If you install or upgrade the CLI tools via npm/bun, usenpm i -g oh-my-claude-sisyphus@latest; the package installs bothoh-my-claudecodeand the shortomccommand aliases.
If you installed OMC via npm, upgrade with the published package name:
npm i -g oh-my-claude-sisyphus@latest
Package naming note: the repo, plugin, and commands are branded oh-my-claudecode, but the published npm package name remains
oh-my-claude-sisyphus. npm installs expose bothoh-my-claudecodeandomc; examples preferomcfor brevity.
If you installed OMC via the Claude Code marketplace/plugin flow, update with:
# 1. Update the marketplace clone /plugin marketplace update omc # 2. Re-run setup to refresh configuration /setup
If you are developing from a local checkout or git worktree, update the checkout first, then re-run setup from that worktree so the active runtime matches the code you are testing.
Note: If marketplace auto-update is not enabled, you must manually run
/plugin marketplace update omcto sync the latest version before running setup.
If you experience issues after updating, clear the old plugin cache:
/omc-doctor
Multiple strategies for different use cases — from Team-backed orchestration to token-efficient refactoring. Learn more →
| Mode | What it is | Use For |
|---|---|---|
| Team (recommended) | Canonical staged pipeline (team-plan → team-prd → team-exec → team-verify → team-fix) |
Coordinated Claude agents on a shared task list |
| omc team (CLI) | tmux CLI workers — real claude/codex/gemini/antigravity/grok/cursor-agent processes in split-panes |
Codex/Gemini/Antigravity/Grok/Cursor CLI tasks; on-demand spawn, die when done |
| ccg | Tri-model advisors via /ask codex + /ask antigravity, Claude synthesizes |
Mixed backend+UI work needing both Codex and Antigravity |
| Autopilot | Autonomous execution (single lead agent) | End-to-end feature work with minimal ceremony |
| Ultrawork | Maximum parallelism (non-team) | Burst parallel fixes/refactors where Team isn't needed |
| Ralph | Persistent mode with verify/fix loops | Tasks that must complete fully (no silent partials) |
| UltraQA | QA cycling until tests/build/lint/typecheck goals pass | Quality gates that need repeat diagnose/fix cycles |
Claude Code /goal |
Native Claude Code cross-turn goal loop | One measurable session completion condition; not an OMC evidence ledger |
| Artifact-only Ultragoal | Durable goal/checkpoint/evidence artifacts without starting a loop | Handoffs, audits, or unavailable/conflicting loop runtimes |
| Pipeline | Sequential, staged processing | Multi-step transformations with strict ordering |
| Ultrapilot (legacy) | Deprecated compatibility mode (autopilot pipeline alias) | Existing workflows and older docs |
Use only one primary loop authority in a session. Claude Code /goal is useful for a native cross-turn completion condition, while Ralph owns single-agent verified completion, Team owns parallel staged execution, and UltraQA owns repeated quality-gate cycling. Artifact-only Ultragoal is the safe fallback when you need durable goal artifacts and evidence without starting another loop.
For /goal behavior, rely on Claude Code/Anthropic sources: the Claude Code /goal docs and Anthropic Claude Code changelog. Do not claim the /goal evaluator independently runs commands or reads files; surface test output, diffs, and review evidence in the conversation before treating a goal as proven.
ralph, ulw, ralplan; Team stays explicit via /teamclaude --plugin-dir <path> (bypassing the omc shim), export OMC_PLUGIN_ROOT=<path> in your shell so the HUD bundle resolves to the same checkout as the plugin loader. See the Plugin directory flags section in REFERENCE.md for details.Want to contribute to OMC? See CONTRIBUTING.md for the full developer guide, including how to fork, set up a local checkout, link it as your active plugin, run tests, and submit PRs.
Learn once, reuse forever. OMC extracts hard-won debugging knowledge into portable skill files that auto-inject when relevant.
| Project Scope | User Scope | |
|---|---|---|
| Path | .omc/skills/ |
~/.omc/skills/ |
| Shared with | Team (commit the skill file to keep it across worktrees) | All your projects |
| Priority | Higher (overrides user) | Lower (fallback) |
# .omc/skills/fix-proxy-crash.md --- name: Fix Proxy Crash description: aiohttp proxy crashes on ClientDisconnectedError triggers: ["proxy", "aiohttp", "disconnected"] source: extracted --- Wrap handler at server.py:42 in try/except ClientDisconnectedError...
Manage skills: /skill list | add | remove | edit | search
Skillify: /skillify extracts reusable patterns with strict quality gates
Auto-inject: Matching skills load into context automatically — no manual recall needed
Project-scoped OMC-authored skills are stored in .omc/skills/ and are intended to be committed when you want them shared. During slash/skill execution OMC also reads Claude Code workspace skills from .claude/skills/ and compatibility skills from .agents/skills/, so existing workspace-local SKILL.md packages remain callable without copying them into user-global skills. If you create project-local skills inside a linked git worktree and do not commit them, they disappear when that worktree is removed.
.omc/ state and gitOMC writes runtime state, session data, plans, logs, handoffs, research notes, and local artifacts under .omc/ by default. The repository .gitignore keeps that runtime data local with one intentional exception: .omc/skills/** remains committable for project-scoped skills you want to share with the team. Treat everything else under .omc/ as local operational state that may contain prompts, transcripts, or machine-specific paths.
For linked git worktrees, the default .omc/ directory lives inside that worktree, so deleting the worktree deletes its local OMC state. Set OMC_STATE_DIR if you want state to survive worktree deletion, or add a .omc-workspace marker when several independent repos should share one parent-level state root. See OMC state, gitignore, worktree, and workspace contract.
When several independent git repos share a parent directory, drop a .omc-workspace marker at the parent so all sub-repos share one .omc/ state root:
cd /path/to/parent-dir-with-many-repos
echo '{"id":"my-workspace"}' > .omc-workspace
# Sessions inside any sub-repo now share /path/.omc/
# For parallel ultragoal runs:
cd repo-A && omc ultragoal create-goals --auto-plan-id --brief "..."
cd ../repo-B && omc ultragoal create-goals --auto-plan-id --brief "..."
See Multi-repo workspaces in REFERENCE.md for resolution order, OMC_STATE_DIR, and workspace identifier options.
These shortcuts run inside a Claude Code / OMC session, not as terminal CLI commands. For shell commands, use the omc ... forms shown above. Team mode is explicit: use /team ... in-session or omc team ... from your shell rather than expecting a bare team keyword trigger.
| In-session form | Kind | Effect | Example |
|---|---|---|---|
/team |
Slash skill | Canonical Team orchestration | /team 3:executor "fix all TypeScript errors" |
/ccg |
Slash skill | /ask codex + /ask antigravity synthesis |
/ccg review this PR |
/autopilot / autopilot |
Skill / prompt trigger | Full autonomous execution | /autopilot "build a todo app" |
/ralph / ralph |
Skill / prompt trigger | Persistence mode | /ralph "refactor auth" |
/ultrawork / ulw |
Skill / prompt trigger | Maximum parallelism | /ultrawork "fix all errors" |
/ralplan / ralplan |
Skill / prompt trigger | Iterative planning consensus | /ralplan "plan this feature" |
/deep-interview |
Slash skill | Socratic requirements clarification | /deep-interview "vague idea" |
deepsearch |
Prompt trigger | Codebase-focused search routing | deepsearch for auth middleware |
ultrathink |
Prompt trigger | Deep reasoning mode | ultrathink about this architecture |
cancelomc, stopomc |
Prompt trigger | Stop active OMC modes | stopomc |
Notes:
swarm compatibility alias has been removed; migrate existing prompts to /team syntax.plan this / plan the keyword triggers were removed; use ralplan or explicit /oh-my-claudecode:plan.omc ask / /ask)Run local provider CLIs and save a markdown artifact under .omc/artifacts/ask/.
# Terminal CLI omc ask claude "review this migration plan" omc ask codex --prompt "identify architecture risks" omc ask gemini --prompt "propose UI polish ideas" omc ask antigravity --prompt "propose UI polish ideas" omc ask grok --prompt "cross-check this code review" omc ask cursor --prompt "apply this implementation plan" omc ask claude --agent-prompt executor --prompt "draft implementation steps" # Inside a Claude Code / OMC session /ask claude "review this migration plan" /ask codex "identify architecture risks" /ask antigravity "propose UI polish ideas" /ask cursor "apply this implementation plan"
Canonical env vars:
OMC_ASK_ADVISOR_SCRIPTOMC_ASK_ORIGINAL_TASKPhase-1 aliases OMX_ASK_ADVISOR_SCRIPT and OMX_ASK_ORIGINAL_TASK are accepted with deprecation warnings.
omc autoresearch is now a hard-deprecated shim. The authoritative workflow is:
/deep-interview --autoresearch improve startup performance /oh-my-claudecode:autoresearch
deep-interview --autoresearch generates/sets up the mission and evaluatorautoresearch runs the bounded, single-mission stateful loopAuto-resume Claude Code sessions when rate limits reset.
omc wait # Check status, get guidance omc wait --start # Enable auto-resume daemon omc wait --stop # Disable daemon
Requires: tmux (for session detection)
Use the HUD for live observability and the current session/replay artifacts for post-session inspection:
/oh-my-claudecode:hud setup then use a supported preset such as "omcHud": { "preset": "focused" }.omc/sessions/*.json.omc/state/agent-replay-*.jsonlomc hudomc session friction report --since 24h summarizes context-bloat and operator-friction signals from local session artifacts without printing raw prompts or tool output; add --json for automation.You can configure who gets tagged when stop callbacks send session summaries.
# Set/replace tag list omc config-stop-callback telegram --enable --token <bot_token> --chat <chat_id> --tag-list "@alice,bob" omc config-stop-callback discord --enable --webhook <url> --tag-list "@here,123456789012345678,role:987654321098765432" omc config-stop-callback slack --enable --webhook <url> --tag-list "<!here>,<@U1234567890>" # Incremental updates omc config-stop-callback telegram --add-tag charlie omc config-stop-callback discord --remove-tag @here omc config-stop-callback discord --clear-tags
Tag behavior:
alice becomes @alice@here, @everyone, numeric user IDs, and role:<id><@MEMBER_ID>, <!channel>, <!here>, <!everyone>, <!subteam^GROUP_ID>file callbacks ignore tag optionsForward Claude Code session events to an OpenClaw gateway to enable automated responses and workflows via your OpenClaw agent.
Quick setup (recommended):
/oh-my-claudecode:configure-notifications # → When prompted, type "openclaw" → choose "OpenClaw Gateway"
Manual setup: create ~/.claude/omc_config.openclaw.json:
{
"enabled": true,
"gateways": {
"my-gateway": {
"url": "https://your-gateway.example.com/wake",
"headers": { "Authorization": "Bearer YOUR_TOKEN" },
"method": "POST",
"timeout": 10000
}
},
"hooks": {
"session-start": {
"gateway": "my-gateway",
"instruction": "Session started for {{projectName}}",
"enabled": true
},
"stop": {
"gateway": "my-gateway",
"instruction": "Session stopping for {{projectName}}",
"enabled": true
}
}
}
Environment variables:
| Variable | Description |
|---|---|
OMC_OPENCLAW=1 |
Enable OpenClaw |
OMC_OPENCLAW_DEBUG=1 |
Enable debug logging |
OMC_OPENCLAW_CONFIG=/path/to/config.json |
Override config file path |
Supported hook events (6 active in bridge.ts):
| Event | Trigger | Key template variables |
|---|---|---|
session-start |
Session begins | {{sessionId}}, {{projectName}}, {{projectPath}} |
stop |
Claude response completes | {{sessionId}}, {{projectName}} |
keyword-detector |
Every prompt submission | {{prompt}}, {{sessionId}} |
ask-user-question |
Claude requests user input | {{question}}, {{sessionId}} |
pre-tool-use |
Before tool invocation (high frequency) | {{toolName}}, {{sessionId}} |
post-tool-use |
After tool invocation (high frequency) | {{toolName}}, {{sessionId}} |
Reply channel environment variables:
| Variable | Description |
|---|---|
OPENCLAW_REPLY_CHANNEL |
Reply channel (e.g. discord) |
OPENCLAW_REPLY_TARGET |
Channel ID |
OPENCLAW_REPLY_THREAD |
Thread ID |
See scripts/openclaw-gateway-demo.mjs for a reference gateway that relays OpenClaw payloads to a custom HTTPS automation endpoint.
omc commands, flags, and toolsOMC features like omc team and rate-limit detection require tmux:
| Platform | tmux provider | Install |
|---|---|---|
| macOS | tmux | brew install tmux |
| Ubuntu/Debian | tmux | sudo apt install tmux |
| Fedora | tmux | sudo dnf install tmux |
| Arch | tmux | sudo pacman -S tmux |
| Windows | psmux (native) | winget install psmux |
| Windows (WSL2) | tmux (inside WSL) | sudo apt install tmux |
Windows users: psmux provides a native
tmuxbinary for Windows with 76 tmux-compatible commands. No WSL required.
OMC can optionally orchestrate external AI providers for cross-validation and design consistency. These are not required — OMC works fully without them.
| Provider | Install | What it enables |
|---|---|---|
Antigravity CLI (agy) |
Install per the official instructions (provides the agy binary) |
Design review, UI consistency — Google's successor to the Gemini CLI |
| Gemini CLI | npm install -g @google/gemini-cli |
Design review, UI consistency (1M token context) — enterprise/API-key access unaffected |
| Codex CLI | npm install -g @openai/codex |
Architecture validation, code review cross-check |
| Grok Build | Download from build.grok.com (grok at ~/.grok/bin/grok) |
Code review, analysis cross-check |
Migrating from Gemini CLI: Per Google's announcement, the Gemini CLI is being superseded by the Antigravity CLI (
agy); see the official Antigravity docs. Useomc team N:antigravityandomc ask antigravitywherever you previously usedgemini. Windows headless support foragyis unknown/untested — report issues upstream.
Cost: 3 Pro plans (Claude + Antigravity/Gemini + ChatGPT) cover everything for ~$60/month.
MIT
Inspired by: oh-my-opencode • claude-hud • Superpowers • everything-claude-code • Ouroboros
Zero learning curve. Maximum power.
Top personal non-fork, non-archived repos from all-time OMC contributors (100+ GitHub stars).
If Oh-My-ClaudeCode helps your workflow, consider sponsoring:
OmC includes a geobench product spec for measuring LLM hit rate, MRR, share of voice, and citations.
geobench/oh-my-claudecode.yamldocs/geobench.mdmore like this
Comprehensive analytics dashboard for AI coding agents — Cursor, Windsurf, Claude Code, VS Code Copilot, Zed, Antigravi…
Skill Claude Code de veille tech francophone. Agrège les flux RSS (Journal du Hacker, Human Coders News…) et produit un…
A to-do list that runs your Claude Code agents — capture anywhere, dispatch in parallel, review from your phone.
Arduino library and MATLAB/Simulink API for the AutomationShield Arduino expansion boards for control engineering educa…
search projects, people, and tags