From oh-my-claudecode
Spawns multiple AI CLI workers (Claude, Codex, Gemini) in tmux panes for parallel task execution. Useful for distributing independent subtasks across agents.
How this skill is triggered — by the user, by Claude, or both
Slash command
/oh-my-claudecode:omc-teamsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Spawn N CLI worker processes in tmux panes to execute tasks in parallel. Supports `claude`, `codex`, and `gemini` agent types. Unlike `/team` (which uses Claude Code's native `TeamCreate`/`Task` tools), this skill uses the tmux runtime to launch actual CLI processes in visible tmux panes.
Spawn N CLI worker processes in tmux panes to execute tasks in parallel. Supports claude, codex, and gemini agent types. Unlike /team (which uses Claude Code's native TeamCreate/Task tools), this skill uses the tmux runtime to launch actual CLI processes in visible tmux panes.
/oh-my-claudecode:omc-teams N:claude "task description"
/oh-my-claudecode:omc-teams N:codex "task description"
/oh-my-claudecode:omc-teams N:gemini "task description"
claude (Claude CLI), codex (OpenAI Codex CLI), or gemini (Google Gemini CLI)/omc-teams 2:claude "implement auth module with tests"
/omc-teams 2:codex "review the auth module for security issues"
/omc-teams 3:gemini "redesign UI components for accessibility"
/omc-teams 1:codex "write comprehensive tests for src/api/"
$TMUX set in the current shell)npm install -g @anthropic-ai/claude-code (for claude workers)npm install -g @openai/codex (for codex workers)npm install -g @google/gemini-cli (for gemini workers)mcp__team__omc_run_team_start then mcp__team__omc_run_team_waitruntime-cli.cjs (co-located in the same install directory)done.json on completionExtract from the user command:
N — number of workers (integer, 1–10)agent-type — must be claude, codex, or gemini; reject anything else with an errortask — the task descriptionBreak the task into exactly N subtasks. Each subtask must be:
Choose a teamName slug from the task (e.g., auth-security-review).
CRITICAL: Activate team state BEFORE calling MCP tools. This prevents the session from
stopping prematurely after MCP tool calls return. The persistent-mode Stop hook checks
team-state.json to know whether to block the stop or allow it.
state_write(mode="team", current_phase="team-exec", active=true)
Then call mcp__team__omc_run_team_start — it spawns workers in the background and returns a
jobId immediately. No Bash, no path resolution; the MCP server finds runtime-cli.cjs
from its own install directory automatically.
mcp__team__omc_run_team_start({
"teamName": "{teamName}",
"agentTypes": ["{agentType}", "{agentType}", ...],
"tasks": [
{"subject": "Subtask 1 title", "description": "Full description..."},
{"subject": "Subtask 2 title", "description": "Full description..."}
],
"cwd": "{cwd}"
})
Returns: { "jobId": "omc-...", "pid": 12345, "message": "Team started in background..." }
Call mcp__team__omc_run_team_wait — a single blocking call that polls internally
(500ms → 2000ms exponential backoff) and returns only when the job reaches a terminal
state. No repeated polling needed; one call instead of N.
mcp__team__omc_run_team_wait({
"job_id": "{jobId}",
"timeout_ms": 60000
})
Timeout guidance:
timeout_msis optional; the default wait timeout is fine. If a wait call times out, workers are left running — wait timeout does NOT kill worker processes or panes. You have two options:
- Call
omc_run_team_waitagain with the samejob_idto keep waiting (workers continue)- Call
omc_run_team_cleanuponly when you explicitly want to cancel and stop panesTeams can silently stall due to stuck workers or tmux session issues. Use
mcp__team__omc_run_team_statusto inspect live progress before deciding to cancel.
Returns when done:
{
"jobId": "omc-...",
"status": "completed|failed",
"elapsedSeconds": "95.3",
"result": {
"status": "completed",
"teamName": "...",
"taskResults": [
{"taskId": "1", "status": "completed", "summary": "Done: added 12 tests"},
{"taskId": "2", "status": "failed", "summary": "Worker exited early"}
],
"duration": 95.1,
"workerCount": 2
}
}
Why no deadlock?
omc_run_team_waitusesasync/awaitwithsetTimeout, which yields the Node.js event loop between polls. Thechild.on('close', ...)callback that updates job status fires during those yields. The backgroundruntime-cli.cjschild process is completely independent — it never calls back into this MCP server.If you need non-blocking checks (e.g. to do other work while waiting), use
mcp__team__omc_run_team_statusinstead.
Report results to the user. For failed or wait-timeout errors, explain what happened and suggest next steps (reduce scope, check CLI installation, verify tmux is running).
Update OMC state:
state_write(mode="team", current_phase="completed", active=false)
| Error | Cause | Fix |
|---|---|---|
not inside tmux | Shell not running inside a tmux session | Start tmux and rerun |
codex: command not found | Codex CLI not installed | npm install -g @openai/codex |
gemini: command not found | Gemini CLI not installed | npm install -g @google/gemini-cli |
| wait timeout error | omc_run_team_wait hit timeout_ms before completion | Call omc_run_team_wait again to keep waiting, or call omc_run_team_cleanup to explicitly stop worker panes |
status: failed | All workers exited with work remaining | Check stderr for crash details |
/team| Aspect | /team | /omc-teams |
|---|---|---|
| Worker type | Claude Code agents (Task(subagent_type=...)) | claude / codex / gemini CLI processes |
| Invocation | TeamCreate / SendMessage / TeamDelete | mcp__team__omc_run_team_start + omc_run_team_wait |
| Coordination | Native Claude Code team messaging | tmux panes + inbox files + done.json sentinels |
| Communication | Native Claude Code team messaging | File-based (inbox.md → done.json) |
| Use when | You want Claude agents with full tool access | You want CLI autonomy (codex/gemini) at scale |
npx claudepluginhub sigridjineth/oh-my-claudecode6plugins reuse this skill
First indexed Jul 11, 2026
Spawns N CLI worker processes in tmux panes to execute tasks in parallel across multiple agent types (Claude, Codex, Gemini, Antigravity, Grok, Cursor).
Spawns and manages background coding agents (Claude Code, Codex, Gemini, Ollama) in persistent tmux sessions. Run agents in parallel, check progress, and retrieve results.
Orchestrates parallel Claude agents via filesystem protocol with tmux panes, JSON message queues, and fcntl locks. Use for multi-file implementation, parallel code review, or large refactoring with task dependencies.