Agent Skills
› PrimeIntellect-ai/prime-agent
› agent-message
agent-message
GitHub用于在 Agent 家族内部(父、子、兄弟节点)通过本地守护进程发送直接文本消息。支持发现可达 Agent、定向发送及广播,并处理会话唤醒与状态回执,实现多 Agent 间的协调通信。
Trigger Scenarios
需要在多个相关 Agent 之间传递指令或结果
需要唤醒休眠的子 Agent 并发送后续任务
需要向 Agent 家族的特定成员广播消息
Install
npx skills add PrimeIntellect-ai/prime-agent --skill agent-message -g -y
SKILL.md
Frontmatter
{
"name": "agent-message",
"description": "Message an agent's parent, siblings, or direct children through the daemon. Discover reachable agents with agent_observe.list_agents, then send direct text without spoofing sender identity."
}
Agent Message
Send direct messages within the current agent's nuclear family through the
local daemon: parent, siblings, and direct children only. Roots are siblings.
The daemon derives your sender identity from the current session; do not try
to include a from field.
Call directly from the kernel:
children = await rlm.list_subagents()
child = next((item for item in children if item.active_session_id), None)
if child is not None:
receipt = await agent_message.send(
"Please inspect the latest result.",
receiver_role="child",
receiver_name=child.session_name,
)
# Keep the child until this follow-up finishes so its result remains observable.
API
await agent_observe.list_agents()(agent-observe skill) is the roster: it lists the parent, siblings, and children this skill can reach, active or not, with therelationshipandsessionNamethatsendtakes asreceiver_roleandreceiver_name.await agent_message.send(message, receiver_role="parent" | "sibling" | "child", receiver_name=None)— sends one direct text message to one family member. Sending to an inactive or idle completed subagent wakes it and starts an ordinary follow-up turn in that same session and context. The child remains available only until its parent session closes. The daemon resolvesreceiver_rolewithin the current agent family;receiver_nameis required for siblings and children and omitted for the unique parent.send("all", message)broadcasts only to the family roster and returns{receipts: [...]}in roster order; successful entries are ordinary receipts and failed entries contain the target id and a shorterror. One failed delivery does not reject successful deliveries. Messages always use steering delivery so a busy target sees them during its active run. Returns a receipt with adeliveryStatusfield:"delivered"means the message reached an idle target's context;"queued"means a steering message was accepted and will deliver when the target's current work allows (senddoes not block waiting for that). Delivered receipts carrydeliveredAt, queued receipts carryqueuedAt.
Safety
- Do not delete a child immediately after
send: delivered follow-ups may still be running and queued receipts have not run yet. Wait until observation shows the child is idle and its context is no longer needed before callingawait rlm.delete_subagent(child). - Reach is limited to parent, siblings, and direct children; relay through an intermediate child instead of messaging grandchildren or cousins directly.
- Sender identity is daemon-derived and cannot be spoofed from Python.
- The daemon enforces message size, rate, and pending-queue limits before accepting delivery.
Version History
-
1eee293
Current 2026-09-11 13:27
将原有的 agent_message.list_agents 合并至 agent_observe.list_agents 作为统一的名册接口,修复了只读范围问题,优化了快照构建顺序及预览数据的限制。
- bc0fa76 2026-08-27 09:01


