cmux-event-bus-messaging

Implements pub/sub messaging between agent workers over the cmux event bus.

Updated Jun 30, 2026
One-click install
npx skills add https://github.com/Codeseys-Labs/agentic-sdlc --skill cmux-event-bus-messaging-codeseys-labs
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cmux-event-bus-messaging
Source: https://github.com/Codeseys-Labs/agentic-sdlc/tree/main/plugin/skills/cmux-event-bus-messaging
Command: npx skills add https://github.com/Codeseys-Labs/agentic-sdlc --skill cmux-event-bus-messaging-codeseys-labs

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When orchestrating multiple AI agent workers (claude/codex) across cmux workspaces, there is no obvious push channel for workers to report results back. Polling terminal screens with read-screen is fragile, and cmux has no free-form emit RPC. This Skill shows how to use the cmux event bus for real worker-to-worker and worker-to-orchestrator messaging with replay and resume. ## Core Features & Use Cases - Pub/sub over cmux log: Publish base64-encoded messages via cmux log (which emits sidebar.log.appended events) and subscribe with cmux events filters, decoding payloads by topic tag. - Claim-check pattern for large payloads: Work around the 16 KiB frame cap by writing results to files and publishing only id/status/file references. - Race-condition handling: Avoid the idle-bus hang on cmux events --limit and prevent lost wakeups by capturing latest_seq before spawning workers and subscribing with --after <seq>. - Use Case: Fan out five codex workers across cmux workspaces, have each publish a completion message with its result file path, and have one orchestrator subscriber collect, dedupe, and read all results event-driven. ## Quick Start Ask the agent to set up cmux event bus messaging so your workers publish completion signals and the orchestrator subscribes with replay from a captured sequence number.

Frequently Asked Questions about cmux-event-bus-messaging

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send messages between cmux workspaces?

Publish by calling cmux log with a source tag like msg:<topic> and a base64-encoded payload, which emits a sidebar.log.appended event. Subscribers run cmux events filtered on that event name, extract the MSGB64 token from payload args, and base64-decode it.

How do I get completion signals from parallel agent workers?

Capture the bus latest_seq before spawning workers, then have each worker publish a completion message with its id, status, and result file path. The orchestrator subscribes with cmux events --after <seq> --reconnect, dedupes by worker id, and reads each referenced file.

Why does cmux events --limit hang on an idle bus?

The --limit flag counts only real event frames; the initial ack frame does not count, so on an idle bus it blocks forever. Read the ack line with head -1 and parse its resume.latest_seq field to get the current sequence number without waiting.

What is the cmux event bus message size limit?

Event frames are capped at 16 KiB, so full agent outputs must not go on the bus directly. Use the claim-check pattern: workers write results to files and publish only id, status, and file path; subscribers read the file for the actual payload.

When should I use cmux messaging versus native subagents?

Native host subagents are preferred when results can return in-conversation, since they need no cmux setup. Use the cmux event bus when you need visible workspaces, many-to-many worker messaging, or replay; use it only when cmux is already active or explicitly requested.