One skill to start,
two sessions in sync
Run coord-setup in Cursor — MCP starts the hub, you configure roles and tasks in a local UI, then copy generated /loop prompts into Session A and B.
End-to-end flow
The hub still handles cross-session wake via long-poll. Skill and UI handle everything before the loop starts.
-
Trigger
coord-setupskillIn any Cursor chat, ask the agent to set up A/B coordination.
-
MCP starts the hub
Skill calls MCP
coord_start— hub listens on127.0.0.1:9900. -
Open the config UI
Skill returns a link. Pick a template, edit A/B goals, set task and branch.
-
Generate & copy prompts
UI writes profile to hub, renders short
/loop dynamicprompts for each role. -
Paste into Session B, then A
Start B first, then A. Watchers wake each session when the other signals.
Setup UI preview
Interactive mock of the hub config page. In production this lives at GET /ui on the running hub.
A Role A
B Role B
Runtime task
Start Session B first, paste its prompt, then Session A.
Profile JSON (POST /profile)
Custom roles
Profile + workflow template + runtime task — dev/review is just one preset.
Skill entry
coord-setup starts MCP, opens UI, guides you through config.
Short prompts
Agents read /profile and /state — rules live on the hub, not in chat.
/loop wake
Background curl /wait/<role> still bridges sessions after setup.
Architecture
Each layer has a single job. Skill guides, MCP operates, UI configures, hub coordinates, sessions execute.
coord-setup
- Call MCP to start/stop hub
- Return UI link to user
- Explain paste order (B then A)
coord_* tools
coord_start·coord_stopcoord_state·coord_resetcoord_signal·coord_profile
GET /ui
- Template picker + role editor
- Task, branch, constraints
- Generate → GET /prompt/A|B
coord-hub.py
/wait/A·/wait/B/signal·/state/profile·/reset