[OMX] N coordinated agents on shared task list using tmux-based orchestration

AGPL-3.0Auto-check passedAgent Workflows

Install Team

skills CLI
$ npx skills add yangyuan-zhen/PolyWeather --skill team -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install yangyuan-zhen/PolyWeather team --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/yangyuan-zhen/PolyWeather.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/team .claude/skills/team && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
team
GitHub stars
316
Token cost
~6.8k tokens
SKILL.md length
3,128 words
Files
1
Skills in repo
26
Repo updated
First seen
Licence
AGPL-3.0

At a glance

[OMX] N coordinated agents on shared task list using tmux-based orchestration

  • Works in 6 steps: Invoke OMX runtime directly with omx… → Avoid replacing the flow with in-process… → Verify startup and surface concrete… → …
  • Tasks that involve Task breakdown
  • SKILL.md covers Team vs Native Subagents, What This Skill Must Do, GPT-5.6 Guidance Alignment and Invocation Contract, plus 12 more sections
  • Calls npm, git and rg

What it does

Team is an agent skill from yangyuan-zhen/PolyWeather. [OMX] N coordinated agents on shared task list using tmux-based orchestration

Its SKILL.md is about 6.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Task breakdown. It works with tmux. The repository describes itself as: polymarket Intelligent Weather Quant Analysis Bot. The licence is AGPL-3.0.

When your agent uses it

  • Tasks that involve Task breakdown

Example prompts

  • “/team”

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Invoke OMX runtime directly with omx team ...
  2. Avoid replacing the flow with in-process spawn_agent fanout
  3. Verify startup and surface concrete state/pane evidence
  4. If active team mode state is missing, initialize/sync it from canonical team runtime state before proceeding
  5. Keep team state alive until workers are terminal (unless explicit abort)
  6. Handle cleanup and stale-pane recovery when needed

What it can do on your machine

Read from SKILL.md and the folder at commit 43e658b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npm
    • git
    • rg
    • node
    • make

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npm and git, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Team loads about 6.8k tokens when it runs. Until then it costs about 21 tokens; SKILL.md has 3,128 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~21
When it runs · the whole SKILL.md, loaded when a task matches
~6.8k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from yangyuan-zhen/PolyWeather at commit 43e658b, republished under its AGPL-3.0 licence (© yangyuan-zhen). 3,128 words, ~6,775 tokens.

Download SKILL.mdSave it as .claude/skills/team/SKILL.md (or your agent's skills folder).
name
team
description
[OMX] N coordinated agents on shared task list using tmux-based orchestration

Team Skill

$team is the tmux-based parallel execution mode for OMX. It starts real worker Codex and/or Claude CLI sessions in split panes and coordinates them through .omx/state/team/... files plus CLI team interop (omx team api ...) and state files.

This skill is operationally sensitive. Treat it as an operator workflow, not a generic prompt pattern. In Codex App or plain outside-tmux sessions, do not present $team / omx team as directly available; launch OMX CLI from shell first, or stay on the nearest app-safe surface until the user explicitly wants the tmux runtime.

Team vs Native Subagents

  • Use Codex native subagents for bounded, in-session parallelism where one leader thread can fan out a few independent subtasks and wait for them directly.
  • Use omx team when you need durable tmux workers, shared task state, mailbox/dispatch coordination, worktrees, explicit lifecycle control, or long-running parallel execution that must survive beyond one local reasoning burst.
  • Native subagents can complement team/ralph execution, but they do not replace the tmux team runtime's stateful coordination contract.

What This Skill Must Do

GPT-5.6 Guidance Alignment

Use the shared workflow guidance pattern: outcome-first framing, concise visible updates for multi-step work, local overrides for the active workflow branch, validation proportional to risk, explicit stop rules, and automatic continuation for safe reversible steps. Ask only for material, destructive, credentialed, external-production, or preference-dependent branches.

When user triggers $team, the agent must:

  1. Invoke OMX runtime directly with omx team ...
  2. Avoid replacing the flow with in-process spawn_agent fanout
  3. Verify startup and surface concrete state/pane evidence
  4. If active team mode state is missing, initialize/sync it from canonical team runtime state before proceeding
  5. Keep team state alive until workers are terminal (unless explicit abort)
  6. Handle cleanup and stale-pane recovery when needed

If omx team is unavailable, stop with a hard error.

Invocation Contract

bash
omx team [N:agent-type] "<task description>"

Examples:

bash
omx team 3:executor "analyze feature X and report flaws"
omx team "debug flaky integration tests"
omx team "ship end-to-end fix with verification"
Team-first launch contract

omx team ... is now the canonical launch path for coordinated execution. Team mode should carry its own parallel delivery + verification lanes without requiring a separate linked Ralph launch up front.

  • Canonical launch: use plain omx team ... / $team ... for coordinated workers.
  • Verification ownership: keep one lane focused on tests, regression coverage, and evidence before shutdown.
  • Escalation: start a separate omx ralph ... / $ralph ... only when a later manual follow-up still needs a persistent single-owner fix/verification loop.
  • Deprecation: omx team ralph ... has been removed. Use plain omx team ... for team execution or run omx ralph ... separately when you explicitly want a later Ralph loop.
Team Big Five / ATEM coordination gate

$team keeps simple independent fan-out lightweight. For isolated tasks (for example per-file sweeps, typo/copy edits, or explicitly independent lanes with no shared files/dependencies), workers use the normal concise protocol: startup ACK, claim-safe task lifecycle, status, verification, and completion evidence.

Activate the lightweight Team Big Five + ATEM-inspired coordination layer when the task or task graph has dependencies, shared files/surfaces/contracts, cross-boundary ownership, handoffs, integration/merge work, blocked lanes, or changed assumptions. The protocol is not a separate ceremony; it is a concise boundary checklist:

  • Shared mental model / single source of truth: task JSON, inbox, mailbox, approved handoff, and leader updates are canonical.
  • Closed-loop communication / ACK-readback handoffs: acknowledge handoffs with understood scope, affected artifact/path, owner, and next action.
  • Mutual performance monitoring at boundaries: check upstream/downstream contracts, shared files, and verification evidence before completion.
  • Backup/reassignment behavior: blocked workers report the smallest needed help/reassignment request and continue safe unblocked slices.
  • Adaptability checkpoints: changed assumptions, dependencies, or verification results trigger a brief leader-facing update before widening scope.
  • Team orientation: workers optimize for the integrated team outcome, not local-optimum-only task summaries; report integration risks, missing tests, and peer impacts.

ATEM fit: treat this as agile teamwork support for transition/action/interpersonal moments around boundaries, not as a heavyweight process model. Do not copy provider-specific plugin implementations; keep the protocol in OMX/Codex prompts, inboxes, state, and tests.

Team + Ultragoal bridge

Use $ultragoal for durable leader-owned goal/ledger tracking and $team for parallel execution lanes. When Team is launched with an active .omx/ultragoal/goals.json, worker inboxes/status may include leader-owned Ultragoal context: .omx/ultragoal/goals.json, .omx/ultragoal/ledger.jsonl, the active goal id, Codex goal mode, and the fresh_leader_get_goal_required checkpoint policy.

Workers provide task status and verification evidence only. They do not own Ultragoal goal state, create worker ledgers, mutate .omx/ultragoal, auto-launch Team from Ultragoal, or perform hidden Codex goal mutation. The leader uses terminal Team evidence plus a fresh get_goal snapshot to run omx ultragoal checkpoint --goal-id <id> --status complete --evidence "<team evidence mentioning .omx/ultragoal and <id>>" --codex-goal-json <fresh-get_goal-json-or-path>.

Claude teammates (v0.6.0+)

Important: N:agent-type (for example 2:executor) selects the worker role prompt, not the worker CLI (codex vs claude).

To launch Claude teammates, use the team worker CLI env vars:

bash
# Force all teammates to Claude CLI
OMX_TEAM_WORKER_CLI=claude omx team 2:executor "update docs and report"

# Mixed team (worker 1 = Codex, worker 2 = Claude)
OMX_TEAM_WORKER_CLI_MAP=codex,claude omx team 2:executor "split doc/code tasks"

# Auto mode: Claude is selected when worker launch args/model contains 'claude'
OMX_TEAM_WORKER_CLI=auto OMX_TEAM_WORKER_LAUNCH_ARGS="--model claude-..." omx team 2:executor "run mixed validation"

Preconditions

Before running $team, confirm:

  1. tmux installed (tmux -V)
  2. Current leader session is inside tmux ($TMUX is set)
  3. omx command resolves to the intended install/build
  4. If running repo-local node bin/omx.js ..., run npm run build after src changes
  5. Check HUD pane count in the leader window and avoid duplicate hud --watch panes before split

Suggested preflight:

bash
tmux list-panes -F '#{pane_id}\t#{pane_start_command}' | rg 'hud --watch' || true

If duplicates exist, remove extras before omx team to prevent HUD ending up in worker stack.

Pre-context Intake Gate

Before launching omx team, require a grounded context snapshot:

  1. Derive a task slug from the request.
  2. Reuse the latest relevant snapshot in .omx/context/{slug}-*.md when available.
  3. If none exists, create .omx/context/{slug}-{timestamp}.md (UTC YYYYMMDDTHHMMSSZ) with:
    • task statement
    • desired outcome
    • known facts/evidence
    • constraints
    • unknowns/open questions
    • likely codebase touchpoints
  4. If ambiguity remains high, run explore first for brownfield facts, then run $deep-interview --quick <task> before team launch.
  5. If current correctness depends on official docs, version-aware framework guidance, best practices, or external dependency behavior, auto-delegate researcher as an evidence lane before or alongside worker launch instead of relying on repo-local recall alone.

Do not start worker panes until this gate is satisfied; if forced to proceed quickly, state explicit scope/risk limitations in the launch report.

For simple read-only brownfield lookups during intake, follow active session guidance: when USE_OMX_EXPLORE_CMD is enabled, prefer omx explore with narrow, concrete prompts; otherwise use the richer normal explore path and fall back normally if omx explore is unavailable.

Follow-up Staffing Contract

When $team is used as a follow-up mode from ralplan, carry forward the approved plan's explicit available-agent-types roster and convert it into concrete staffing guidance before launch:

  • keep worker-role choices inside the known roster
  • state the recommended headcount and role counts
  • state the suggested reasoning level for each lane when available
  • explain why each lane exists (delivery, verification, specialist support)
  • include an explicit launch hint (omx team N "<task>" / $team N "<task>") for the coordinated team run; mention $ultragoal as the default durable follow-up/ledger path; mention a later separate Ralph follow-up only when explicitly requested or genuinely needed as a fallback
  • if the ideal role is unavailable, choose the closest role from the roster and say so

Current Runtime Behavior (As Implemented)

omx team currently performs:

  1. Parse args (N, agent-type, task)
  2. Sanitize team name from task text
  3. Initialize team state:
    • .omx/state/team/<team>/config.json
    • .omx/state/team/<team>/manifest.v2.json
    • .omx/state/team/<team>/tasks/task-<id>.json
  4. Compose team-scoped worker instructions file at:
    • .omx/state/team/<team>/worker-agents.md
    • Uses project AGENTS.md content (if present) + worker overlay, without mutating project AGENTS.md
  5. Resolve canonical shared state root from leader cwd (<leader-cwd>/.omx/state)
  6. Split current tmux window into worker panes
  7. Launch workers with:
    • OMX_TEAM_WORKER=<team>/worker-<n>
    • OMX_TEAM_STATE_ROOT=<leader-cwd>/.omx/state
    • OMX_TEAM_LEADER_CWD=<leader-cwd>
    • worker CLI selected by OMX_TEAM_WORKER_CLI / OMX_TEAM_WORKER_CLI_MAP (codex or claude)
    • optional worktree metadata envs when --worktree is used
  8. Wait for worker readiness (capture-pane polling)
  9. Write per-worker inbox.md and trigger via tmux send-keys
  10. Return control to leader; follow-up uses status / resume / shutdown

If coarse active team mode state is missing while canonical team runtime state exists, restore/sync the active team mode state before relying on hook/mode-aware behavior.

Important:

  • Leader remains in existing pane
  • Worker panes are independent full Codex/Claude CLI sessions
  • Workers may run in separate git worktrees (omx team --worktree[=<name>]) while sharing one team state root
  • Worker ACKs go to mailbox/leader-fixed.json
  • Notify hook updates worker heartbeat and sends lifecycle-driven leader nudges (for example resolved native worker Stop/all-idle or stale-leader evidence) during active team mode; deprecated worker stall/progress heuristics are not operator-facing guidance.
  • Submit routing uses this CLI resolution order per worker trigger:
    1. explicit worker CLI provided by runtime state (persisted on worker identity/config),
    2. OMX_TEAM_WORKER_CLI_MAP entry for that worker index,
    3. fallback OMX_TEAM_WORKER_CLI / auto detection.
  • Mixed CLI-map teams are supported for both startup and trigger submit behavior.
  • Trigger submit differs by CLI:
    • Codex may use queue-first Tab on busy panes (strategy-dependent).
    • Claude always uses direct Enter-only (C-m) rounds (never queue-first Tab).
Team worker model + thinking resolution (current contract)

Team mode resolves worker model flags from one shared launch-arg set (not per-worker model selection).

Model precedence (highest to lowest):

  1. Explicit worker model in OMX_TEAM_WORKER_LAUNCH_ARGS
  2. Inherited leader --model flag
  3. Low-complexity default from OMX_DEFAULT_SPARK_MODEL (legacy alias: OMX_SPARK_MODEL) when 1+2 are absent and team agentType is low-complexity

Default-model rule:

  • Do not assume a frontier or spark model from recency or model-family heuristics.
  • Use OMX_DEFAULT_FRONTIER_MODEL for frontier-default guidance.
  • Use OMX_DEFAULT_SPARK_MODEL for spark/low-complexity worker-default guidance.

Thinking-level rule (critical):

  • No model-name heuristic mapping. Team runtime must not infer model_reasoning_effort from model-name substrings (for example spark, high-capability, or mini).
  • OMX-owned agentReasoning accepts exactly low, medium, high, xhigh, and max; configured values are case-normalized.
  • Without explicit raw reasoning, Team selects the resolved role default or valid agentReasoning override for each worker.
  • max is passed to Codex unchanged. Its support is capability-dependent on the selected Codex version, model, and provider; preserve authoritative downstream errors.
  • ultra is unsupported in OMX-owned agentReasoning and is not an alias for configured max. Other invalid configured values retain the built-in role-default fallback.
  • Explicit raw -c model_reasoning_effort=... is opaque and wins over configured and built-in role defaults, including ultra and future values. Preserve the selected raw token exactly.
  • When both sources provide explicit raw reasoning, inherited Team reasoning wins over environment reasoning. Explicit raw reasoning always wins over the role default.
  • Do not downgrade or retry max as xhigh; built-in role defaults remain unchanged.

Normalization requirements:

  • Parse both --model <value> and --model=<value>.
  • Remove duplicate/conflicting model flags.
  • Emit exactly one final canonical flag: --model <value>.
  • Preserve unrelated args in worker launch config.
  • Preserve the selected explicit raw -c model_reasoning_effort=... token exactly; otherwise inject the worker role's default or agentReasoning-overridden reasoning level.

Required Lifecycle (Operator Contract)

Follow this exact lifecycle when running $team:

  1. Start team and verify startup evidence (team line, tmux target, panes, ACK mailbox)
  2. Monitor task and worker progress with runtime/state tools first (omx team status <team>, omx team resume <team>, mailbox/state files)
  3. Wait for terminal task state before shutdown:
    • pending=0
    • in_progress=0
    • failed=0 (or explicitly acknowledged failure path)
  4. Only then run omx team shutdown <team>
  5. Verify shutdown evidence and state cleanup

Do not run shutdown while workers are actively writing updates unless user explicitly requested abort/cancel. Do not treat ad-hoc pane typing as primary control flow when runtime/state evidence is available.

Active leader monitoring rule

While a team is ON/running, the leader must not go blind. Keep checking live team state until terminal completion.

Minimum acceptable loop:

bash
sleep 30 && omx team status <team-name>

Repeat that check while the team stays active, or use omx team await <team-name> --timeout-ms 30000 --json when event-driven waiting is a better fit.

If the leader gets a stale, lifecycle, or all-idle nudge, immediately run omx team status <team-name> before taking any manual intervention. Deprecated worker stall/progress nudges should not be treated as an active runtime contract.

Show full SKILL.md (1,248 more words)Show less
Deprecated worker stall/progress knobs

OMX_TEAM_PROGRESS_STALL_MS and OMX_TEAM_WORKER_TURN_STALL_MS are legacy compatibility/test-only names for the retired worker stall/progress nudge path. Do not recommend them as operator tuning knobs for active team runs; resolved native worker Stop, all-idle, mailbox, and stale-leader evidence are the supported leader wakeup signals.

Message Dispatch Policy (CLI-first, state-first)

To avoid brittle behavior, message/task delivery must not be driven by ad-hoc tmux typing.

Required default path:

  1. Use omx team ... runtime lifecycle commands for orchestration.
  2. Use omx team api ... --json for mailbox/task mutations.
  3. Verify delivery via mailbox/state evidence (mailbox/*.json, task status, omx team status).

Strict rules:

  • MUST NOT use direct tmux send-keys as the primary mechanism to deliver instructions/messages.
  • MUST NOT spam Enter/trigger keys without first checking runtime/state evidence.
  • MUST prefer durable state writes + runtime dispatch (dispatch/requests.json, mailbox, inbox).
  • Direct tmux interaction is fallback-only and only after failure checks (for example worker_notify_failed:<worker>) or explicit user request (for example “press enter”).

Operational Commands

bash
omx team status <team-name>
omx team resume <team-name>
omx team shutdown <team-name>

Semantics:

  • status: reads team snapshot (task counts, dead/non-reporting workers)
  • resume: reconnects to live team session if present
  • shutdown: graceful shutdown request, then cleanup (deletes .omx/state/team/<team>)

Data Plane and Control Plane

Control Plane
  • tmux panes/processes (OMX_TEAM_WORKER per worker)
  • leader notifications via tmux display-message
Data Plane
  • .omx/state/team/<team>/... files
  • Team mailbox files:
  • .omx/state/team/<team>/mailbox/leader-fixed.json
  • .omx/state/team/<team>/mailbox/worker-<n>.json
  • .omx/state/team/<team>/dispatch/requests.json (durable dispatch queue; hook-preferred, fallback-aware)
Key Files
  • .omx/state/team/<team>/config.json
  • .omx/state/team/<team>/manifest.v2.json
  • .omx/state/team/<team>/tasks/task-<id>.json
  • .omx/state/team/<team>/workers/worker-<n>/identity.json
  • .omx/state/team/<team>/workers/worker-<n>/inbox.md
  • .omx/state/team/<team>/workers/worker-<n>/heartbeat.json
  • .omx/state/team/<team>/workers/worker-<n>/status.json
  • .omx/state/team-leader-nudge.json

Team Mutation Interop (CLI-first)

Use omx team api for machine-readable mutation/reads instead of legacy team_* MCP tools.

bash
omx team api <operation> --input '{"team_name":"my-team",...}' --json

Examples:

bash
omx team api send-message --input '{"team_name":"my-team","from_worker":"worker-1","to_worker":"leader-fixed","body":"ACK"}' --json
omx team api claim-task --input '{"team_name":"my-team","task_id":"1","worker":"worker-1"}' --json
omx team api transition-task-status --input '{"team_name":"my-team","task_id":"1","from":"in_progress","to":"completed","claim_token":"<token>"}' --json

--json responses include stable metadata for automation:

  • schema_version
  • timestamp
  • command
  • ok
  • operation
  • data or error

Team + Worker Protocol Notes

Leader-to-worker:

  • Write full assignment to worker inbox.md
  • Send short trigger (<200 chars) with tmux send-keys

Worker-to-leader:

  • Send ACK to leader-fixed mailbox via omx team api send-message --json
  • Claim/transition/release task lifecycle via omx team api <operation> --json

Worker commit protocol (critical for incremental integration):

  • After completing task work and before reporting completion, workers MUST commit: git add -A && git commit -m "task: <task-subject>"
  • This ensures changes are available for incremental integration into the leader branch
  • If a worker forgets to commit, the runtime auto-commits as a fallback, but explicit commits are preferred

Task ID rule (critical):

  • File path uses task-<id>.json (example task-1.json)
  • MCP API task_id uses bare id (example "1", not "task-1")
  • Never instruct workers to read tasks/{id}.json

Environment Knobs

Useful runtime env vars:

  • OMX_TEAM_READY_TIMEOUT_MS
    • Worker readiness timeout (default 45000)
  • OMX_TEAM_SKIP_READY_WAIT=1
    • Skip readiness wait (debug only)
  • OMX_TEAM_AUTO_TRUST=0
    • Disable auto-advance for trust prompt (default behavior auto-advances)
  • OMX_TEAM_AUTO_ACCEPT_BYPASS=0
    • Disable Claude bypass-permissions prompt auto-accept (default behavior auto-accepts 2 + Enter)
  • OMX_TEAM_WORKER_LAUNCH_ARGS
    • Extra args passed to worker launch command
  • OMX_TEAM_WORKER_CLI
    • Worker CLI selector: auto|codex|claude (default: auto)
    • auto chooses claude when worker --model contains claude, otherwise codex
    • In claude mode, workers launch with exactly one --dangerously-skip-permissions and ignore explicit model/config/effort launch overrides (uses default settings.json)
  • OMX_TEAM_WORKER_CLI_MAP
    • Per-worker CLI selector (comma-separated auto|codex|claude)
    • Length must be 1 (broadcast) or exactly the team worker count
    • Example: OMX_TEAM_WORKER_CLI_MAP=codex,codex,claude,claude
    • When present, overrides OMX_TEAM_WORKER_CLI
  • OMX_TEAM_AUTO_INTERRUPT_RETRY
    • Trigger submit fallback (default: enabled)
    • 0 disables adaptive queue->resend escalation
  • OMX_TEAM_LEADER_NUDGE_MS
    • Leader nudge interval in ms (default 120000)
  • OMX_TEAM_STRICT_SUBMIT=1
    • Force strict send-keys submit failure behavior

Failure Modes and Diagnosis

Operator note (important for Claude panes):

  • Manual Enter injection (tmux send-keys ... C-m) can appear to "do nothing" when a worker is actively processing; Enter may be queued by the pane/task flow.
  • This is not necessarily a runtime bug. Confirm worker/team state before diagnosing dispatch failure.
  • Avoid repeated blind Enter spam; it can create noisy duplicate submits once the pane becomes idle.
Safe Manual Intervention (last resort)

Use only after checking omx team status <team> and mailbox/state evidence:

  1. Capture pane tail to confirm current worker state:
    • tmux capture-pane -t %<worker-pane> -p -S -120
    • If a larger-tail read or bounded summary would help, prefer explicit opt-in inspection via omx sparkshell --tmux-pane %<worker-pane> --tail-lines 400 before improvising extra tmux commands.
  2. If the pane is stuck in an interactive state, safely return to idle prompt first:
    • optional interrupt C-c or escape flow (CLI-specific) once, then re-check pane capture
  3. Send one concise trigger (single line) and wait for evidence:
    • tmux send-keys -t %<worker-pane> "ack + continue current task; report status" C-m
  4. Re-check:
    • pane output via capture-pane
    • mailbox updates (mailbox/leader-fixed.json or worker mailbox)
    • omx team status <team>
worker_notify_failed:<worker>

Meaning:

  • Leader wrote inbox but trigger submit path failed

Checks:

  1. tmux list-panes -F '#{pane_id}\t#{pane_start_command}'
  2. tmux capture-pane -t %<worker-pane> -p -S -120
  3. Verify worker process alive and not stuck on trust prompt
  4. Rebuild if running repo-local (npm run build)
Team starts but leader gets no ACK

Checks:

  1. Worker pane capture shows inbox processing
  2. .omx/state/team/<team>/mailbox/leader-fixed.json exists
  3. Worker skill loaded and omx team api send-message --json called
  4. Task-id mismatch not blocking worker flow
Worker logs omx team api ... ENOENT (or legacy team_send_message ENOENT / team_update_task ENOENT)

Meaning:

  • Team state path no longer exists while worker is still running.
  • Typical cause: leader/manual flow ran omx team shutdown <team> (or removed .omx/state/team/<team>) before worker finished.

Checks:

  1. omx team status <team> and confirm whether tasks were still in_progress when shutdown occurred
  2. Verify whether .omx/state/team/<team>/ exists
  3. Inspect worker pane tail for post-shutdown writes
  4. Confirm no external cleanup (rm -rf .omx/state/team/<team>) happened during execution

Prevention:

  1. Enforce completion gate (no in-progress tasks) before shutdown
  2. Use shutdown only for terminal completion or explicit abort
  3. If aborting, expect late worker writes to fail and treat ENOENT as expected teardown artifact
Shutdown reports success but stale worker panes remain

Cause:

  • stale pane outside config tracking or previous failed run

Fix:

  • manual pane cleanup (see clean-slate commands)

Clean-Slate Recovery

Run from leader pane:

bash
# 1) Inspect panes
tmux list-panes -F '#{pane_id}\t#{pane_current_command}\t#{pane_start_command}'

# 2) Kill stale worker panes only (examples)
tmux kill-pane -t %450
tmux kill-pane -t %451

# 3) Remove stale team state (example)
rm -rf .omx/state/team/<team-name>

# 4) Retry
omx team 1:executor "fresh retry"

Guidelines:

  • Do not kill leader pane
  • Do not kill HUD pane (omx hud --watch) unless intentionally restarting HUD

Required Reporting During Execution

When operating this skill, provide concrete progress evidence:

  1. Team started line (Team started: <name>)
  2. tmux target and worker pane presence
  3. leader mailbox ACK path/content check
  4. status/shutdown outcomes

Do not claim success without file/pane evidence. Do not claim clean completion if shutdown occurred with in_progress>0. Use omx sparkshell --tmux-pane ... as an explicit opt-in operator aid for pane inspection and summaries; keep raw tmux capture-pane evidence available for manual intervention and proof.

Programmatic Team Orchestration

Use the omx team ... CLI as the supported team-launch surface. For automation, drive the same CLI flow from scripts or supervising agents rather than relying on a separate MCP runner.

Supported current surfaces
  • omx team ... CLI — Primary method for interactive or automated team orchestration. Use this when you want direct tmux-pane visibility or a scriptable launch path.
  • Team state files — Inspect .omx/state/team/<team>/ when you need status, task, or mailbox evidence after launch.
Cleanup distinction

Two cleanup paths exist and must not be confused:

  • team_cleanup (state-server): Deletes team state files on disk (.omx/state/team/<team>/). Use after a team run is fully complete.
  • tmux/session cleanup: Use the documented omx team shutdown / cleanup flow when you need to stop worker panes or clean up an interrupted run.
Automation example
1. omx team 1:executor "fix bugs"
2. omx team status <team-name>
3. omx team shutdown <team-name>
4. Clean up the finished team state for <team-name>

Limitations

  • Worktree provisioning requires a git repository and can fail on branch/path collisions
  • send-keys interactions can be timing-sensitive under load
  • stale panes from prior runs can interfere until manually cleaned

Scenario Examples

Good: The user says continue after the workflow already has a clear next step. Continue the current branch of work instead of restarting or re-asking the same question.

Good: The user changes only the output shape or downstream delivery step (for example make a PR). Preserve earlier non-conflicting workflow constraints and apply the update locally.

Bad: The user says continue, and the workflow restarts discovery or stops before the missing verification/evidence is gathered.

© yangyuan-zhen, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .codex/skills/team of yangyuan-zhen/PolyWeather.

Open the folder on GitHubat commit 43e658b

Compare with similar skills

Team next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Team compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Team this skillyangyuan-zhen/PolyWeather316—~6.8kAutomated safety check: PassAGPL-3.0
Agtx Task Sweepfynnfluegge/agtx1.7k—~1.7kAutomated safety check: PassApache-2.0
Agents Project Coordinatorasgeirtj/system_prompts_leaks69k—~2.9kAutomated safety check: PassCC0-1.0
Agent Team OrchestrationYeachan-Heo/oh-my-claudecode40k—~16kAutomated safety check: PassMIT
CodeGraph Agent Evalcolbymchenry/codegraph74k—~950Automated safety check: PassMIT
MemPalace Task HandoffMemPalace/mempalace59k—~1.9kAutomated safety check: PassMIT

Similar skills

  • Agtx Task Sweep

    fynnfluegge/agtx

    Breaks a conversation's results into feature-level tasks and pushes them to the agtx kanban board, where each task gets its own worktree and agent session.

    1.7k GitHub stars~1.7k tokensUpdated 8 days ago
    Agent WorkflowsAuto-check passed
  • Agents Project Coordinator

    asgeirtj/system_prompts_leaks

    Runs a goal as a project in which the agent coordinates separate agent threads, judging when to split the work, and interviews you first when nothing can be verified.

    69k GitHub stars~2.9k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Agent Team Orchestration

    Yeachan-Heo/oh-my-claudecode

    Spawns a team of coordinated agents on a shared task list, with optional agent types, a team size from one to twenty and a Ralph retry loop.

    40k GitHub stars~16k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed
  • CodeGraph Agent Eval

    colbymchenry/codegraph

    Benchmarks how much CodeGraph helps a coding agent on a real repository, comparing runs with and without it for a chosen local or published version.

    74k GitHub stars~950 tokensUpdated today
    Agent WorkflowsAuto-check passed
  • MemPalace Task Handoff

    MemPalace/mempalace

    Creates, hands off, claims, executes and closes agent tasks through the MemPalace logstream, with approval of the exact task before it is recorded.

    59k GitHub stars~1.9k tokensUpdated today
    Agent WorkflowsAuto-check passed
  • Agent of Empires Session Manager

    agent-of-empires/agent-of-empires

    Launches, monitors and organizes AI coding agent sessions such as Claude Code or Codex inside tmux, tracking status, capturing output and managing git worktrees for parallel branches.

    3.3k GitHub stars~2.5k tokensUpdated today
    Agent WorkflowsAuto-check passed

More from yangyuan-zhen/PolyWeather

All 26 skills in this repo
  • AI Slop Cleaner

    yangyuan-zhen/PolyWeather

    [OMX] Run an anti-slop cleanup/refactor/deslop workflow. An agent skill from yangyuan-zhen/PolyWeather.

    316 GitHub stars~2.2k tokensUpdated 19 days ago
    Auto-check passed
  • Analyze

    yangyuan-zhen/PolyWeather

    [OMX] Run read-only deep repository analysis and return a ranked synthesis with explicit confidence, concrete file references, and clear evidence-vs-inference boundaries.

    316 GitHub stars~1.6k tokensUpdated 19 days ago
    Auto-check passed
  • Autoresearch

    yangyuan-zhen/PolyWeather

    [OMX] Stateful validator-gated research loop with native-hook persistence

    316 GitHub stars~786 tokensUpdated 19 days ago
    Auto-check passed
  • Best Practice Research

    yangyuan-zhen/PolyWeather

    [OMX] Bounded best-practice research wrapper using official/upstream evidence first

    316 GitHub stars~1.4k tokensUpdated 19 days ago
    Auto-check passed
  • Cancel

    yangyuan-zhen/PolyWeather

    [OMX] Cancel any active OMX mode (autopilot, ralph, ultrawork, ecomode, ultraqa, swarm, ultrapilot, pipeline, team)

    316 GitHub stars~3.7k tokensUpdated 19 days ago
    Auto-check passed
  • Configure Notifications

    yangyuan-zhen/PolyWeather

    [OMX] Configure OMX notifications - unified entry point for all platforms

    316 GitHub stars~2.7k tokensUpdated 19 days ago
    Auto-check passed

Works with

Categories

Questions about Team

What does Team do?

[OMX] N coordinated agents on shared task list using tmux-based orchestration. Team is an agent skill from yangyuan-zhen/PolyWeather.

When should I use Team?

Team fits situations like: tasks that involve Task breakdown.

How do I install Team in Claude Code?

Run `npx skills add yangyuan-zhen/PolyWeather --skill team -a claude-code`. Or copy the skill folder (.codex/skills/team in yangyuan-zhen/PolyWeather) into .claude/skills/team in your project. Claude Code loads it when a task matches its description.

How do I install Team in Codex?

Run `npx skills add yangyuan-zhen/PolyWeather --skill team -a codex`. Or copy the skill folder (.codex/skills/team in yangyuan-zhen/PolyWeather) into .agents/skills/team in your project. Codex loads it when a task matches its description.

Can I use Team in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add yangyuan-zhen/PolyWeather --skill team -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/team, .gemini/skills/team, .github/skills/team and .opencode/skills/team in your project.

What does Team need to run?

Going by SKILL.md and its folder, Team needs the command-line tools its instructions call (npm, git, rg, node and make).

Does Team access the network?

SKILL.md contains no URLs. Its commands use npm and git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Team safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Team use?

Team is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Team use?

About 6.8k tokens (SKILL.md is roughly 27k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Team?

Skills that share tags, products or a category with Team: Agtx Task Sweep (fynnfluegge/agtx, 1.7k stars), Agents Project Coordinator (asgeirtj/system_prompts_leaks, 69k stars), Agent Team Orchestration (Yeachan-Heo/oh-my-claudecode, 40k stars) and CodeGraph Agent Eval (colbymchenry/codegraph, 74k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Team?

yangyuan-zhen (a GitHub user) maintains it in yangyuan-zhen/PolyWeather, which has 316 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on September 20, 2026.

Source: yangyuan-zhen/PolyWeather on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.