Team Skill

SkillProductivity

The team skill is a productivity tool that runs N coordinated agents on a shared task list using tmux-based orchestration. It launches worker agents inside tmux windows under a lead agent, splitting a task across them through a shared task list and message mailboxes. Each worker claims tasks and updates their status through a command-line API while the lead monitors progress until every task finishes before shutting the team down.

Available today. Use it from your connected AI after setup.

Have tmux installed and verify it with tmux -V.

Then ask your AI: use the Team Skill skill

What your AI can do with it

  • Launch N coordinated worker agents under a lead agent in tmux windows
  • Split a task across workers via a shared task list
  • Let workers claim tasks and update status through a CLI API
  • Coordinate workers with message mailboxes and durable inbox state
  • Monitor progress with omx team status or omx team await
  • Shut the team down after every task finishes

Getting started

  1. Have tmux installed and verify it with tmux -V.
  2. Be inside a leader tmux session so the $TMUX variable is set.
  3. Have the intended omx executable available.
  4. Ground the task in a recent .omx/context/{slug}-*.md snapshot, creating one if none exists.
  5. Launch with omx team [N:agent-type] "<task>", for example omx team 3:executor "implement X".

What this skill tells your AI

The instructions your AI receives, as published by yeachan-heo/oh-my-codex in skills/team/SKILL.md and read by ahel’s review.

When to use

Use only for an explicit $team request or omx team ... launch that benefits from durable tmux workers, shared task state, mailbox coordination, or worktree isolation. Read AGENTS.md#durable-runtime-invariants-canonical-ssot; do not copy its durable rules into this card.

Inputs and preconditions

  • Launch shape: omx team [N:agent-type] "<task>" (for example omx team 3:executor "implement X").
  • Require tmux -V, a leader session with $TMUX, and the intended omx executable. In Codex App/plain non-tmux sessions, explain the runtime boundary instead of pretending Team is available.
  • Before launch, ground the task in a recent .omx/context/{slug}-*.md; create a concise snapshot when none exists. Include target, evidence, constraints, unknowns, and likely touchpoints.
  • Do not launch nested Team runs. Pick worker roles deliberately; use OMX_TEAM_WORKER_CLI=codex|claude|auto or OMX_TEAM_WORKER_CLI_MAP=... only when needed.
  • Per-agent reasoning is set by agentReasoning; accepted values are low, medium, high, xhigh, and max. max is passed unchanged and remains capability-dependent. ultra is unsupported and is not an alias for max.
  • Invalid configured values use the built-in role-default fallback. An explicit raw -c model_reasoning_effort=... is opaque and wins. When both sources are present, explicit raw reasoning wins over inherited Team reasoning and environment reasoning. Do not downgrade or retry max as xhigh; built-in role defaults remain unchanged.

Operational steps

  1. Start the runtime and capture startup evidence: Team started: <name>, tmux target, worker panes, and the leader ACK mailbox.
  2. Current Runtime Behavior: runtime-owned task files and APIs are the operational interface; the durable ownership and safety rules remain in templates/AGENTS.md.
  3. Runtime creates .omx/state/team/<name>/config.json, manifest.v2.json, tasks/task-<id>.json, worker identities/inboxes, mailbox files, and a dispatch queue. Workers receive OMX_TEAM_WORKER, OMX_TEAM_STATE_ROOT, and OMX_TEAM_LEADER_CWD.
  4. Deliver assignments through durable inbox/task state and the CLI API. The worker card defines ACK, claim, transition, mailbox, and idle-status commands.
  5. Prefer these machine-readable operations:
    omx team api send-message --input '{"team_name":"<name>","from_worker":"leader-fixed","to_worker":"worker-1","body":"<short trigger>"}' --json
    omx team api read-task --input '{"team_name":"<name>","task_id":"<id>"}' --json
    omx team api transition-task-status --input '{"team_name":"<name>","task_id":"<id>","from":"in_progress","to":"completed","claim_token":"<token>"}' --json
    
  6. Monitor with omx team status <name> --json or omx team await <name> --timeout-ms 30000 --json; inspect mailbox/state files when a worker is blocked or stale.
  7. Keep the team running until pending=0, in_progress=0, and failed=0 (or an explicitly acknowledged failure path). Run omx team shutdown <name> only then, unless the user explicitly aborts.
  8. Verify shutdown evidence and state cleanup. Do not claim completion while workers are still writing.

Team and Ultragoal

When a leader-owned .omx/ultragoal/goals.json exists, workers return task evidence only. The leader checkpoints with a fresh Codex get_goal snapshot:

omx ultragoal checkpoint --goal-id <id> --status complete --evidence "<Team evidence>" --codex-goal-json <fresh-get-goal-json-or-path>

Team launch remains an explicit separate action; it does not create hidden Codex goals.

Dispatch and recovery

  • If dispatch reports worker_notify_failed:<worker>, inspect tmux list-panes, capture the pane, then send one concise trigger and re-check mailbox/state.
  • For Claude panes, do not spam Enter while work is active. Confirm runtime status first.
  • If a worker reports omx team api ... ENOENT, check whether shutdown or state deletion happened too early; preserve state until all transitions finish.
  • For a clean retry, kill only known stale worker panes, remove only the exact stale Team root, and relaunch; never kill the leader/HUD pane accidentally.

Exit and evidence

Report team name, launch command, pane/ACK evidence, task counts, worker verification, failures or blockers, shutdown result, and cleaned state paths. Include any worktree or CLI-map choices and keep final integration/verification in the leader lane.

Signals

GitHub stars
33k
Forks
3k
Last commit
Oct 2026

Questions

What is the team skill?
A skill that runs N coordinated agents on a shared task list using tmux-based orchestration, with a lead agent and worker agents in tmux windows.
When should I use the team skill?
Use it only for an explicit $team request or omx team launch that benefits from durable tmux workers, shared task state, mailbox coordination, or worktree isolation.
What do I need before launching a team?
tmux -V, a leader session with $TMUX, the intended omx executable, and a recent .omx/context/{slug}-*.md snapshot grounding the task.
Advanced
Item type
skill
Key
team-2
Source
github.com/yeachan-heo/oh-my-codex