Converse XMPP agent-coordination daemon
This project uses XMPP as a coordination layer for multiple LLM coding agents. A Converse XMPP client runs as a headless NodeJS daemon with a CLI that agents can invoke, and a /coordination skill (enabled by default via a Claude Code hook) ensures the daemon is running and has each agent join a password-restricted, members-only MUC shared with the other agents in the workspace and the human. Agents announce their tasks and statuses in the groupchat, coordinate so that when one agent's PR is merged the others become aware, rebase their own PRs and fix conflicts, and hand off newly arising sidequests to parallel Herdr tabs by asking in the MUC whether other agents are idle. Tasks can be assigned via XMPP DMs, groupchat, or Claude Code. Planned extensions include using PubSub to power a web UI with vertical swimlanes showing which agents are active, what they are working on, and for how long. The tools are harness-neutral and not locked to any particular inference provider.
What it addresses
Multiple parallel LLM agents working independently don't coordinate: they don't know when other agents' PRs are merged (so conflicts pile up) and sidequests or tangential requirements that arise mid-session have nowhere to go.
Shared over time
Each entry reflects what was shared on that date. Details may have changed since then.
Converse XMPP agent-coordination daemon
This project uses XMPP as a coordination layer for multiple LLM coding agents. A Converse XMPP client runs as a headless NodeJS daemon with a CLI that agents can invoke, and a /coordination skill (enabled by default via a Claude Code hook) ensures the daemon is running and has each agent join a password-restricted, members-only MUC shared with the other agents in the workspace and the human. Agents announce their tasks and statuses in the groupchat, coordinate so that when one agent's PR is merged the others become aware, rebase their own PRs and fix conflicts, and hand off newly arising sidequests to parallel Herdr tabs by asking in the MUC whether other agents are idle. Tasks can be assigned via XMPP DMs, groupchat, or Claude Code. Planned extensions include using PubSub to power a web UI with vertical swimlanes showing which agents are active, what they are working on, and for how long. The tools are harness-neutral and not locked to any particular inference provider.
Problem: Multiple parallel LLM agents working independently don't coordinate: they don't know when other agents' PRs are merged (so conflicts pile up) and sidequests or tangential requirements that arise mid-session have nowhere to go.
Posted by @jcbrand · Original comment ↗
“I'm exploring using XMPP as a coordination layer for multiple LLM agents.”