People search “chorus” and get a choir, an alphabet, or a graph product. On this site the word is an operating protocol.
What is CHORUS? A six-skill coordination protocol for teams of 2 to 15 people who share work with specialised AI workers: Charter, Handoff, Orchestrate, Review, Update, Sync.
Org charts name reporting lines. CHORUS names coordination lines. If the receiver reconstructs the job from a chat log, you have a paste.
A small team can add three agents in an afternoon. Capability is cheap. The week gets slower because nobody named who holds the goal at the boundary, what context travels, what must be reviewed, and how the board updates on Monday. That missing layer is the protocol. The glossary capsule is the short form. This page is the test you can run before you add a fourth worker.
The six skills
Each letter is a skill with a tell. If the tell is present, that skill is missing. You do not need the hardcover to see it.
Charter. Work starts because someone typed a prompt. There is no written purpose, no authority ceiling, no escalation. Output appears that no chartered role was allowed to produce. That is a shadow agent. The charter is seven fields: purpose, inputs, outputs, authority ceiling, success criteria, review requirement, escalation. Same list for a human or an agent. What is an AI agent? uses the same seven. If you cannot fill them, you do not have a worker. You have a demo.
Handoff. The first worker finishes. The second starts from a thread. Constraints die in the paste. A six-field packet would have been enough: goal, constraints, inputs, provenance, acceptance, deadline. The charter is a different artifact. Do not merge them. A standing role gets a charter. A single task crossing a boundary gets a packet.
Orchestrate. Two workers take the same task. Nobody named the merge. Two drafts arrive. Someone pastes the nicer one. A graph of model calls looked busy. Nobody owned the join. Orchestration is serial steps, fan-out, fan-in, and a named human escalation. A graph of calls is not this.
Review. Output ships because it sounded right. There is no written acceptance line. The human in the loop is a spectator. Near-100% approval is not a quality system. It is review theatre. A gate that cannot fail the work is decoration.
Update. The world moved. The roster did not. Old tools, old prompts, old customer facts. Plausible answers about a world that no longer exists. Review findings have to flow back into prompts, tools, and charters, or you are paying for a museum.
Sync. Standup becomes a tour of model traces. A dashboard would have done it. The meeting exists because nobody can see state. Decisions live in chat. The board is a lie. One surface, read in a short weekly ritual. Do not narrate the traces.
Named failure is fixable. “Agents disappointed us” is not.
Charter is seven. Handoff is six.
Mixing the two artifacts is the usual way work gets lost when you add agents. The charter says what this role is allowed to do, standing. The packet says what this task is, once.
Filled, for a competitive-brief worker that runs every Friday:
- Purpose. Produce a one-page brief on named competitors for the Monday product meeting.
- Inputs. The public changelog folder. Last week’s brief. The open-issue list tagged competitor.
- Outputs. One page, or a skip with a reason if nothing material moved.
- Authority ceiling. Draft only. No email to the company. No claim about a competitor’s revenue. No pricing change.
- Success criteria. Every claim names a public URL or an internal issue id. A skip is valid if the folder is empty.
- Review. Founder fails any draft that invents a feature or treats a rumour as a ship date.
- Escalation. Anything that looks like a legal threat goes to the founder before a second draft.
That is the standing contract. It does not travel with a single Friday’s work. The Friday packet does:
- Goal. One page for Monday 09:30, existing customers’ competitors only.
- Constraints. No pricing. No named-customer quotes. No promise the support team has not signed.
- Inputs. Changelog dated this Thursday. Last week’s approved brief. Issue list exported Friday 08:00.
- Provenance. Changelog owner is product. Brief owner is the founder. Issue list is the only source for “what we already knew.”
- Acceptance. A named reviewer can reject it if it invents a ship date or addresses prospects instead of the product meeting.
- Deadline. Friday 16:00, so the reviewer still has an hour before the weekend.
If you cannot fill the packet, you are not ready to hand the work to anyone, human or agent. The override doctrine sits next to both artifacts, not inside them. The charter says what the role does. The packet says what this task is. The doctrine says what the worker may never do: spend above a ceiling, speak as the company, change production data, close a judgment you still own.
A diagnostic you can run this week
| Tell | Missing skill | First fix |
|---|---|---|
| Output no one was chartered to produce | Charter | Write purpose, ceiling, escalation before the next run |
| The second worker starts from a chat log | Handoff | Fill the six fields. Refuse the task if a field is empty |
| Two drafts, no named merge | Orchestrate | One owner of the join. Serial or fan-in, said out loud |
| Approval with no written check | Review | One acceptance line the reviewer can fail |
| Answers about last month’s product | Update | Date the roster. Kill stale tools in public |
| Standup is a tour of traces | Sync | One surface. Read it. Do not narrate it |
Ten minutes is enough to start. List every agent that touched work last week. For each one, write the last human who accepted its output. If you cannot name that person, you found the gap.
Not a choir, not an alphabet, not a swarm demo
The collision is in the glossary on purpose. This is not music. This is not a children’s alphabet. This is not CrewAI. A graph of model calls is not this protocol. It is not an org chart. It is not a protocol for a 200-person platform team; that org needs a different map. Team size on this site is 2 to 15.
Project management assumes human workers. CHORUS is the operating layer for mixed human-and-agent work: provenance, acceptance criteria, and a named escalation to a human. Agent orchestration is the assignment of work so that handoffs, reviews, and state stay visible. If you cannot point at the owner, the packet, the gate, and the board, you have a demo.
An agentic workflow still needs a goal, a charter, and a ceiling. A swarm without those is the same missing protocol, only louder.
Two pages
Why multi-agent systems fail is the coordination-gap article: the six breaks in order, a packet that survives the paste, and the lab rhyme from Cemri et al. 2025, scoped to 1,642 traces on seven open-source frameworks, not a survey of company projects. This page is the name you can run.
The Multi-Agent Organization is live. The introduction teaches the six skills in full. You do not need the hardcover to write the packet before the paste.
If you install one triangle first: charter every role this month, costliest first; one real review gate next month; one weekly sync that is not a standup tour after that. Then add agents, not before. A SENSE layer will not save a team that cannot hand work across a boundary. An MCP contract will not save a team that has no reviewer.
Cite this:What is CHORUS? Coordination, not a choir.Len P. van der Hof. https://lenvanderhof.com/en/blog/what-is-chorus/ ·