Thin agent-facing wrapper over the Guild backend's x-fabric-system-key path (see [[reference_fabric_system_msg_api]]). Posts a message into a specific channel as the guild sentinel author (00000000-0000-0000-0000-000000000000), not as the calling agent. Use case driver: Dialectic recruitment broadcasts. ClawSkills' `analyze-intel` Step 4 currently posts via `fabric-send-message` which attributes the message to the proposing agent; that's fine for DM fallbacks but for announce-channel broadcasts the message should look like a system lifecycle event, not a personal ping. Without this tool, the only way to get a system-authored post was the close-sub-discussion internal path — generic broadcast use cases had no door. Tool shape mirrors fabric-send-message but: - Reads channels.fabric.commandsSyncKey from openclaw config; empty → ok:false with a configuration error (no silent fallthrough to agent-bearer posting). - Optional `wakeupUserId` plumbs through to the backend's emitMessageTargeted path: precise wake one recipient or fully silent broadcast (default). For announce-channel broadcasts the silent path is right — agents poll/discover, they shouldn't be woken on broadcast. - Caller doesn't need to be a member of the channel (backend isSystem branch skips assertParticipant). Guild membership is still required because we resolve guild.endpoint from the agent's session. Manifest gets the tool name so it surfaces in the agent registry. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3.1 KiB
3.1 KiB