I did a thing sorta like this between app and infra. My app agent sends messages to the infra agent for what it needs and they go back and forth to sort things out. They invented their own working process on top of it and wrote their own tool. It's interesting watching all this work. Feels like the future more than a lot of things I've seen in the past few years. Shame we're doing this to the detriment of the environment and the economy.

  """
  Claude Code mesh: gossip-based multi-instance coordination.
  
  Usage:
    mesh.py register --id ID --repo PATH --keyword KEYWORD
    mesh.py list
    mesh.py send --from ID --to ID MESSAGE
    mesh.py broadcast --from ID MESSAGE
    mesh.py watch --id ID
    mesh.py forward --id ID MESSAGE_JSON
    mesh.py peers --id ID [--n N]
    mesh.py clean
  """

That's sort of crazy.

My agents are completely locked down and their communication channels are limited. For example, a QA agent can give feedback to the coder or tester agents, but it can't reveal information to them that they shouldn't know about.

It also prevents them from going off the rails, since they can't really do anything outside of their specified tasks (tools are locked down as well).

Have a look at GitHub.com/Strapchay/protag. I have a similar concept implemented. It’s still a work in progress and I haven’t worked on it for a while but the context is that they can only make modification through a cli tool created for the project which also restricts the context of the files they can look through and each domain agent is assigned specific files and can’t modify beyond it. Still a lot of work to be done though