Worker Skill

SkillProductivity

This skill is a team worker protocol for tmux-based OMX teams. It lets your agent act as a team worker that acknowledges tasks, claims assignments, and reports completion. The agent sends a startup ACK to the leader, reads assignments from its inbox, claims each task through the team API, performs the work, and moves the ta

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

Confirm the session was started as an OMX Team worker and that OMX_TEAM_WORKER is set to <team-name>/worker-<n>.

Then ask your AI: use the Worker Skill skill

What your AI can do with it

  • Send a startup ACK to the leader via omx team api send-message
  • Read the first unblocked assignment from inbox.md
  • Claim a task before editing with omx team api claim-task
  • Transition task status from in_progress to completed or failed
  • List and mark mailbox messages with mailbox-list and mailbox-mark-delivered
  • Write idle status to status.json after a task transition

Getting started

  1. Confirm the session was started as an OMX Team worker and that OMX_TEAM_WORKER is set to <team-name>/worker-<n>.
  2. Read AGENTS.md#durable-runtime-invariants-canonical-ssot before acting.
  3. Resolve the skill from the first existing path among the listed locations and resolve the Team state root in the given order.
  4. Send a startup ACK to the leader, then read your inbox.md and claim the first unblocked assignment through the Team API.
  5. Do the work, transition the task to completed or failed with evidence, acknowledge mailbox messages, and write idle status.

What this skill tells your AI

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

When to use

Use only when the session was started as an OMX Team worker. Read AGENTS.md#durable-runtime-invariants-canonical-ssot before acting; it defines the durable ownership and coordination boundaries.

Inputs and preconditions

  • Require OMX_TEAM_WORKER=<team-name>/worker-<n>.
  • Resolve this skill from the first existing path: ${CODEX_HOME:-~/.codex}/skills/worker/SKILL.md, ~/.codex/skills/worker/SKILL.md, <leader_cwd>/.codex/skills/worker/SKILL.md, then <leader_cwd>/skills/worker/SKILL.md.
  • Resolve the Team state root in this order: OMX_TEAM_STATE_ROOT, worker identity team_state_root, config/manifest team_state_root, local .omx/state.

Operational steps

  1. Split the environment into teamName and workerName; Send a startup ACK before task work:
    omx team api send-message --input '{"team_name":"<teamName>","from_worker":"<workerName>","to_worker":"leader-fixed","body":"ACK: <workerName> initialized"}' --json
    
  2. Read <team_state_root>/team/<teamName>/workers/<workerName>/inbox.md and take the first unblocked assignment.
  3. Read <team_state_root>/team/<teamName>/tasks/task-<id>.json; APIs use the bare numeric task_id (for example "1").
  4. Claim before editing:
    omx team api claim-task --input '{"team_name":"<teamName>","task_id":"<id>","worker":"<workerName>"}' --json
    
  5. Do the assigned work. Do not write task lifecycle fields directly.
  6. Complete or fail through the lifecycle API, from in_progress to completed or failed:
    omx team api transition-task-status --input '{"team_name":"<teamName>","task_id":"<id>","from":"in_progress","to":"completed","claim_token":"<token>","result":"<evidence>"}' --json
    
    Use release-task-claim only to requeue a blocked task to pending.
  7. Check and acknowledge mailbox messages:
    omx team api mailbox-list --input '{"team_name":"<teamName>","worker":"<workerName>"}' --json
    omx team api mailbox-mark-delivered --input '{"team_name":"<teamName>","worker":"<workerName>","message_id":"<MESSAGE_ID>"}' --json
    
  8. Write idle status after the transition: <team_state_root>/team/<teamName>/workers/<workerName>/status.json with {"state":"idle","updated_at":"<ISO timestamp>"}.

Exit and evidence

Completion evidence names the task id, changed artifacts, verification performed, and any blocker. ACKs, task transitions, mailbox acknowledgements, and status writes must be observable through the Team API/state files. On shutdown, follow the lead's inbox instructions and write the required shutdown acknowledgement before exiting.

Signals

GitHub stars
33k
Forks
3k
Last commit
Oct 2026

Questions

When should this skill be used?
Use only when the session was started as an OMX Team worker. Read AGENTS.md#durable-runtime-invariants-canonical-ssot before acting; it defines the durable ownership and coordination boundaries.
What are the inputs and preconditions?
Require OMX_TEAM_WORKER=<team-name>/worker-<n>. Resolve the skill from the first existing listed path, and resolve the Team state root in the order OMX_TEAM_STATE_ROOT, worker identity team_state_root, config/manifest team_state_root, then local .omx/state.
Advanced
Item type
skill
Key
worker
Source
github.com/yeachan-heo/oh-my-codex