One run, played step by step

The simulation starts from a sample problem and plays the messages of this playbook one at a time. It shows who may speak, which agent can change the work, and what passes between them.

Convening

The pre-pattern. Run this before any collaboration pattern. Version: v1 · This document is written for the agent reading it.

Convening turns "some agents and a goal" into "a cast, a pattern, and an open shared record." It ends when every role is accepted and the chosen pattern begins. It is itself a small pattern: it has roles, rounds, and an exit condition, and it runs in the same shared record the work will use, so the casting record stays in that record's history.

What every pattern needs: a shared record#

Every pattern in this library needs one thing from its medium: a shared record. The record is ordered, so every agent sees posts in the same order. Everyone in the cast can read all of it and post to it. It keeps the CONVENED record that opens the pattern and the DONE record that closes it.

A room is the default medium, and the examples in these documents use one. A message thread also qualifies, and so does a document's version history, when everyone in the cast can read it and add to it. Wherever these documents say "the shared record", any of the three will do.

Some patterns are live: everyone is present at the same time and reacts as the pattern moves, so they need a room. The others are asynchronous: each agent posts on its turn and the others read it when they come to it, so they run as well in a thread or a document's history as in a room. The library table in the README marks each pattern one way or the other.

The room: line of the CONVENED and DONE records names the shared record, whatever its medium: a room, a thread or a document. Where a record says "room transcript", read it as that record's own history.

Skip condition (read this first)#

Skip convening and go straight to opening the shared record if either is true:

  • Roles are standing. This group ran a pattern together before and nothing material changed. Reuse the prior casting; say so when you open: roles: standing, as crit-7f3a.
  • Your operator specified the roles. A human saying "Dell drafts, Mac reviews" outranks everything below. Record it and open.

Convening in full is for first assemblies and changed circumstances. Do not make it ceremony.

Roles#

  • Convener (exactly one): the agent that initiates. Any agent may convene by following this document. The convener runs the rounds below, makes the tiebreak calls, and opens the shared record. The convener may also hold a role in the work.
  • Prospective participants: agents the convener contacts. Each may accept a role, propose a different one, or decline.

Round 1: cast the roles#

Work down this list. Stop as soon as the roles are filled.

  1. Standing assignment. If this team has history, yesterday's casting is today's default. The shared record of the earlier run is the registry.
  2. Ask the human. If your operator is reachable, casting is one question. Their answer is final.
  3. Interview the agents. You are on a network of agents that can talk: ask them. Can you take the critic role for a marketing plan review today? What are you strongest at? Fresh answers beat any stored record, the same exchange confirms availability, and a role that is offered and accepted holds better than one assigned. An agent may decline; respect it.
  4. Look them up. Resolve each candidate's card (their Personal Agent Naming name) for operator and declared kind; consult a registry or the document they publish about themselves for declared specialties. These are self-declared claims, useful the way a User-Agent header is useful. Prefer the interview when both are possible.
  5. Convener's judgment. When the above are silent or tied, decide, say what you decided, and move on.

The trust default#

Note each participant's operator (from their card). The default: agents outside the artifact owner's fleet propose and critique; they do not hold the pen. Judgment travels well across trust boundaries; write access does not. This is a default, not a law: your operator can override it (Sue's agent may edit directly) and you record the override when you open the shared record.

Round 2: pick the pattern#

Answer five questions about the work, then read the table.

  1. Where should judgment live? With the group, or with one accountable owner/judge?
  2. Is the artifact divisible into modules with clean seams, or does it need one voice throughout?
  3. Sequential or simultaneous? Turn-based passes are almost always enough; agents turn-take at machine speed.
  4. How much trust is present? Same fleet, or strangers' agents?
  5. Will the same agents still be there at the end? Or might some of them turn up late, drift off, or get removed? See membership.
Answers point to Pattern
distributed judgment, one artifact, one creator critique-circle
centralized judgment, independent full attempts bake-off
one accountable owner, contributions from others draft-review-merge or owner-contributors
many raw inputs, one integrating craft rolling-synthesis
one voice, turn by turn, no renegotiation relay
whole artifact, sequential focused passes layered-passes
low trust, precise requirements up front spec-then-build

The fifth question rules options out rather than pointing at one. If agents might come and go while the work is happening, you cannot use bake-off or spec-then-build at all, and your safest choices are work-board, owner-contributors, draft-review-merge and rolling-synthesis. Each pattern says which it is in its own document.

If two patterns fit, pick the simpler one and say so. Patterns can be switched between rounds; opening with the wrong one is recoverable.

Round 3: open and brief#

Open (or repurpose) the shared record and post the convening record, exactly this shape. The shared record is a room for a live pattern, and a room, a message thread or a document's version history for an asynchronous one:

CONVENED · pattern: <name> v<version> · room: <room-ref>
roles: <role>=<HandleOrName>, <role>=<HandleOrName>, ...
artifact: <where it lives, e.g. git repo + branch, doc link, or
           "none - this pattern creates it">
inputs: <what else must be in hand before round 1, or "none">
membership: <fixed | fixed-per-round | open>
overrides: <any trust overrides, or "none">

The first two lines say what has to exist before anyone starts. Most patterns need nothing and produce their own starting point; only three of them need something in hand first, and those say so. If you cannot fill in those lines, you are not ready to open the shared record.

The membership line answers the fifth question above. Put it here and in the rules you post, so an agent arriving later can work out where it stands without having to ask.

Then brief each participant individually or in the shared record: a link to the pattern document plus the one line that matters most: You are <role>. Read your role card before speaking.

Repair#

If a participant breaks pattern (edits when they should propose, speaks out of turn, ignores their card): redirect once, in the shared record, by quoting the role card line they missed. On the second break, drop them from the casting, say so plainly, and re-run Round 1 for the vacant role if needed. Do not litigate; the shared record already holds what happened.

This section is about an agent that is here and behaving badly. An agent that has gone - left, went quiet, or was removed - is covered by membership instead. The rule that matters most is there: losing one of the ordinary agents slows a run down, but losing the one agent that a job depends on stops it until somebody else takes that job or the run is given up on out loud.

Exit condition#

Convening is complete when the CONVENED record is posted and every named participant has acknowledged their role. The chosen pattern's document now governs. Hand off cleanly: the next post in the shared record should be the first move of the pattern.

Concluding: closing one pattern, and starting the next#

A shared record is not one pattern. A meeting usually opens with introductions, moves to the work, and may change shape again before it is done — Round 2 says as much: patterns can be switched between rounds. What governs is a period of the shared record, not a property of it, and a period needs an end as clearly as it needs a beginning.

Several patterns already close with a one-line DONE · <pattern> · <result>. That line is the right instinct and this regularises it, in the shape that mirrors CONVENED so an opener and its closer read as a pair:

DONE · pattern: <name> v<version> · room: <room-ref>
outcome: <completed | switched | abandoned>
result: <the work product: a ref where one exists, else one line>
record: <where the decisions are: a ref, or "room transcript">
open: <what was left undone, or "none">
next: <pattern and version, or "none">

Work like this almost always produces more than the one thing it was for, so the middle three lines separate them out:

  • result - the thing you wanted. What did not exist before.
  • record - how it ended up that way. The reviews and what was turned down, the reasoning behind a decision, every change that was accepted or refused and why. Every pattern produces one of these. Most leave it sitting in the shared record's history, which disappears when that record does; pointing at a file here keeps it.
  • open - what nobody finished. Things a writer could not fix, problems that were noticed and dropped, questions nobody could answer, jobs still sitting on the list. Every run leaves some. Writing them down is the difference between handing over and shrugging.

These three lines are optional additions. A record posted without them is still a valid record, and a reader treats anything missing as simply not said.

Who posts it: the facilitator, or in patterns without one, whoever the pattern names as calling the end — the creator in critique-circle, the judge in bake-off, the owner in draft-review-merge. One record, not one per member.

The three outcomes carry what a reader cannot infer from the transcript:

  • completed — the end conditions were met. The usual case.
  • switched — the group is changing shape on purpose. The work is not finished; the pattern was the wrong instrument for what remains, or the right one for the part now done. next: names what follows.
  • abandoned — it stopped without finishing. Say why in result:. An abandoned run is not something to bury: the next convening reads it.

Then open the next pattern or leave. next: none ends the meeting. Anything else means convene again — and the skip condition at the top of this document usually applies, because roles are standing from the segment that just ended, so re-convening is one record rather than a ceremony:

CONVENED · pattern: critique-circle v1 · room: launch-9b41
roles: standing, as this room's roll-call; creator=DellClaude
artifact: git repo launch-plan, branch main
inputs: none
membership: fixed-per-round
overrides: none

Why post it when the end is usually obvious in context. An agent joining late reads backward only as far as the rules (the floor): without a close it cannot tell whether the RULES: post it found still governs or belongs to a pattern that ended an hour ago. And a durable shared record is the minutes — a later reader should see where one pattern stopped and another began without reconstructing it from the shape of the traffic. A beginning with no matching end is a record that only makes sense to whoever was present at the time.

If you forget and the next CONVENED arrives, that opener implies the missing close. A recoverable lapse, not a violation. Prefer posting it.

Example transcript (healthy convening)#

Scout      → room: Goal from operator Jeff: "one-page launch plan by tonight."
             No standing roles for this trio. Convening.
Scout      → DellClaude: Can you take creator? You hold the repo where the
             plan lives.
DellClaude → Scout: Accept. Creator.
Scout      → MacClaude: Critic? Your operator is Jeff, same fleet, but the
             draft lives on Dell, so critic fits.
MacClaude  → Scout: Accept. Strongest on positioning, weakest on pricing.
Scout      → room: CONVENED · pattern: critique-circle v1 · room: crit-9b41
             roles: creator=DellClaude, critics=MacClaude, Scout
             artifact: git repo launch-plan, branch main
             inputs: none - the creator posts draft 1
             membership: fixed-per-round (boundary: a critique round)
             overrides: none
DellClaude → room: Acknowledged, creator.
MacClaude  → room: Acknowledged, critic.
Scout      → room: Acknowledged, critic. Critique-circle v1 begins. Creator,
             post draft 1 when ready.

Example transcript (a room changing shape)#

Three patterns, one afternoon, one room. The second convening is a single record: the cast did not change, so Round 1 was skipped entirely.

Scout      → room: CONVENED · pattern: roll-call v1 · room: launch-9b41
             roles: facilitator=Scout, participants=DellClaude, MacClaude
             artifact: none
             inputs: the prompt each member answers
             membership: open
             overrides: none
             …the roll runs…
Scout      → room: DONE · pattern: roll-call v1 · room: launch-9b41
             outcome: completed
             result: three members present, capabilities on the record
             record: room transcript
             open: none
             next: critique-circle v1

Scout      → room: CONVENED · pattern: critique-circle v1 · room: launch-9b41
             roles: standing, as this room's roll-call; creator=DellClaude
             artifact: git repo launch-plan, branch main
             overrides: none
             …two rounds, creator posts FINAL · draft 3…
DellClaude → room: DONE · pattern: critique-circle v1 · room: launch-9b41
             outcome: completed
             result: draft 3 final, all critics PASS
             record: room transcript - 3 rounds, 1 MUST-FIX declined
             open: none
             next: none

A switched close is the honest record when the instrument was wrong rather than the work finished:

MacClaude  → room: DONE · pattern: bake-off v1 · room: launch-9b41
             outcome: switched
             result: attempts converged instead of diverging — no judgment to make
             next: rolling-synthesis v1