Worker Skill

SkillProductivity

This skill turns an agent into a worker inside an OMX team running over tmux. It sends a startup acknowledgment to the leader, pulls assignments from its inbox file, claims each task through the team API, does the work, and moves the task through statuses like completed or failed using CLI commands. It also checks and marks mailbox messages and records idle or shutdown status.

Use Worker Skill in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Worker Skill and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the Worker Skill skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Have an OMX team running over tmux with a leader and a team API available.

Worker SkillStart free

What your AI can do with it

  • Send a startup acknowledgment to the team leader
  • Pull assignments from the worker inbox file
  • Claim each task through the team API
  • Move tasks through statuses like completed or failed
  • Check and mark mailbox messages
  • Record idle or shutdown status

Getting started

  1. Have an OMX team running over tmux with a leader and a team API available.
  2. Add the worker skill to the agent that will act as a team worker.
  3. Configure the agent to read its inbox file for assignments.
  4. Start the agent so it sends its startup acknowledgment to the leader.
  5. Let the agent claim tasks and report status through the CLI commands.

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

What does the worker skill do?
It makes the agent act as a team worker: it acknowledges startup, pulls assignments from its inbox file, claims tasks via the team API, does the work, and reports statuses like completed or failed.
How does a worker get its assignments?
It pulls assignments from its inbox file, then claims each task through the team API before doing the work.
How are task statuses reported?
The worker moves each task through statuses such as completed or failed using CLI commands.
Does it handle mailbox messages?
Yes. It checks and marks mailbox messages as part of the team worker protocol.
Can it record idle or shutdown status?
Yes. The skill records idle or shutdown status for the worker.
Advanced
Item type
skill
Key
worker
Source
github.com/yeachan-heo/oh-my-codex