Install
openclaw skills install @sora-mury/cross-agent-notifyStandard cross-agent notification and collaboration protocol for OpenClaw multi-agent setups. Use when: (1) one agent needs to delegate a task to another agent, (2) an agent completes work and needs to hand off to another agent, (3) an agent needs to wake up another agent for input or assist, (4) reviewing or auditing cross-agent collaboration consistency. Triggers on phrases like '通知xagent', 'handoff to agent', 'wake up agent x', 'cross-agent协作', '委托任务给其他agent'.
openclaw skills install @sora-mury/cross-agent-notifyProvides the standard cross-agent notification workflow for OpenClaw: how to reliably wake up another agent, delegate tasks, receive results, and trace progress in the Feishu group.
Core problem solved: sessions_send times out when the target agent's main session is done. The agent:<target>:main format solves this by activating the agent's persistent session layer regardless of main session state.
任务文件 → inbox 消息 → sessions_send agent:<target>:main → 对方处理 → 结果回写 inbox → 飞书群 trace
Four mandatory steps (all four required, in order):
communication fields, owner, status.txt file to shared/inbox/<target_agent>/sessions_send to agent:<target_agent>:main@target_agent task TASK-xxx in agent:<agent_id>:feishu:group:oc_8efe2b5fdf1ed5939c93f206b5c0e21eBefore sending anything, update the shared task file:
owner: target_agent
status: in_progress
communication:
reply_to_agent: requesting_agent # always set; never hardcode a name
submitter_agent: requesting_agent
Rule: Always set communication.reply_to_agent. Never hardcode the requesting agent's name as the reply target.
Create a text file at:
shared/inbox/<target_agent>/YYYY-MM-DD-HHMM-task-description.txt
Minimum required content:
# 任务:<task name>
**时间:** YYYY-MM-DD HH:MM GMT+8
**来源:** requesting_agent
**回复给:** target_agent
**任务文件:** shared/tasks/<task-id>.md
---
## 任务内容
<concise description of what is needed>
## 完成后
请将结果回写到任务文件,并将完成状态通知 requesting_agent。
sessions_send(
sessionKey=None, # leave blank; target is by agentId
agentId="<target_agent>" # e.g. "agent-a", "agent-b"
message="task TASK-xxx assigned to you, check inbox"
)
Target format: agent:<target_agent>:main — the agent's persistent session layer, works even when the main session is done.
Key finding: agent:<target>:main format successfully activates agents whose main sessions are done. This bypasses the sessions_send timeout problem.
Never use the old Telegram-based group protocol — it is deprecated (2026-04-06).
Post a short trace message to the shared Feishu group. Get the stable group session key from the target agent's SKILL.md or team config. Example:
@target_agent task TASK-123,已投 agent:target_agent:main,查 inbox
Use only the approved one-line templates (see references/PROTOCOL.md for full list). Keep it short — the inbox carries full context, not the group message.
Group session key pattern:
agent:<agent_id>:feishu:group:oc_8efe2b5fdf1ed5939c93f206b5c0e21e
When your inbox is mentioned or sessions_send wakes you:
review field, evidence field)Do not skip the task file and inbox — they are the source of truth.
communication:
reply_to_agent: <agent_id> # mandatory; who to send receipts/results back to
submitter_agent: <agent_id> # who initiated the request
reply_to_agent must always be set to a named agent ID, never a session IDagent:<target>:main format in sessions_send, not session keyssubmitter_agent is missing, fall back to owner_agentSee references/PROTOCOL.md for: