| name | worker |
| description | Kimi-native team worker protocol (ACK, mailbox, task lifecycle) |
Worker Skill
This skill is for a Kimi session started as an OMK Team worker.
Identity
You are a Worker in an OMK Team. Your identity is set via environment:
OMK_TEAM_WORKER=alpha/worker-2
Startup Protocol (ACK)
- Parse
OMK_TEAM_WORKER into teamName and workerName.
- Send startup ACK to the lead mailbox:
omk team api send-message --input "{"team_name":"alpha","from_worker":"worker-2","to_worker":"leader-fixed","body":"ACK: worker-2 initialized"}" --json
Inbox + Tasks
- Resolve team state root:
OMX_TEAM_STATE_ROOT → .omk/state
- Read your inbox:
.omk/team/{teamName}/mailbox/{workerName}.jsonl
- Process the first undelivered task assignment message.
- Mark the message delivered after processing.
- Submit evidence via
omk_submit_evidence MCP tool.
Mailbox API
Use the mailbox module directly:
import { readUndeliveredFor, markDelivered } from '@omk/team/mailbox';
const messages = readUndeliveredFor(mailboxPath, workerName);
for (const msg of messages) {
if (msg.type === 'task_assignment') {
executeTask(msg.payload);
markDelivered(mailboxPath, msg.id);
}
}
Heartbeat
The KimiRuntime automatically sends heartbeats to the leader mailbox.
No manual heartbeat needed unless running outside the runtime.
Shutdown
When the leader sends a shutdown message:
- Finish any in-progress task
- Submit completion evidence
- Exit cleanly
Constraints
- Do NOT claim work without reading the inbox
- Do NOT write task state directly; use lifecycle transitions
- Do NOT ignore cross-validation requirements for your output