Convene a Council
Run a dialectic review of a proposition by a panel of named linked-data / ontology authorities — one Queen (Moderator), one Devil's Advocate, and the genuinely-relevant standing or extended experts — citing their published positions, producing per-question verdicts (AFFIRM / REVISE / REJECT) and an auditable session record. This is the codification of the Council Hive methodology. The methodology — reference/methodology.md — is the source of truth carried by this skill; this file is the operating procedure. The per-project adoption slots (panel weighting, governance handoff, track record) are described there and templated in reference/adoption-template.md.
When to use
When a linked-data / ontology decision warrants multi-perspective deliberation: URI/namespace/serialization choices; competing W3C patterns (OWL vs SKOS vs SHACL; reification vs RDF-star); OWL/SHACL/SKOS/PROV-O/DPV semantic questions; bounded-context boundaries; mapping conventions to external standards (FIBO, INSPIRE, GeoSPARQL, schema.org); identity-criterion questions; vocabulary-catalogue admission; or a cross-cutting coherence review of several records. Also when recording a decision the methodology or precedent has already settled (Author-only tier — no panel).
Do NOT convene for: routine class/property additions that fit an established pattern; SHACL authoring from an existing template; editorial fixes; or real-world stakeholder consultation (that is the project's governance, not a simulated panel). The Council shapes proposals; the operator ratifies adoption. See the methodology §When NOT to use.
CRITICAL design constraints (read before convening)
1. Mechanism is agent fan-out, NOT hive-mind
This project convenes councils by spawning named-persona background agents via the Task tool (Claude's Agent/sub-agent mechanism) in ONE message — each returns a structured position; the Queen then writes the synthesis. This is consensus-mode: agent-fan-out, the default. Do NOT reach for hive-mind_spawn — it is reserved and costly. Escalate to a hive-mind consensus-mode ONLY when a specific trigger fires:
hive-mind/byzantine— a verdict on one question is conditional on the verdict on another (e.g. multi-condition DA withdrawals where the structural vote acknowledgement matters).hive-mind/typed-output— the verdict produces a structured object consumed by downstream tooling (a generator, a linter, an LLM retriever) where the tally is data, not decoration.
For everything else, fan-out. The substrate detail (when each hive-mind mode applies, the full consensus-mode table) is in reference/consensus-modes.md.
2. Scope discipline — pick the CHEAPEST adequate tier; do not pad the panel
The Queen runs a pre-flight scope check and selects the smallest format tier that covers the decision. Never spawn all nine for show. Three tiers:
- Author-only (~1 run) — recording a decision precedent/methodology has already settled; sequencing/index work; no credible split. The Queen drafts the record directly; no panel.
- Reduced Council (~3–4 runs) — an amendment or ratification disputed on a narrow axis. Queen + DA + 1–2 panellists on the disputed questions only.
- Full Council (~8 runs) — a substantive decision with a credible split spanning multiple expertise clusters. Queen + DA + up to 6 panellists.
Choose the tier by the proposition's shape, then choose the roster by which expertise the questions genuinely touch. A SHACL-recursion question needs Knublauch, not Baker; an identity / class-vs-value question needs Guizzardi/Guarino, not Moreau. The full roster, the extended-guest table, and the per-tier apparatus are in reference/panel-roster.md. "Do not pad the panel for show" (the methodology §Extended Panel).
Procedure
The full lifecycle is the methodology §Session Protocol. The five operating steps:
Step 1 — Frame the proposition
State, in a convening block: the proposition; the 3–8 outstanding question(s) (more than 8 is a sign to split scope); the input documents (paths/URLs — the TTL/shapes under review, the data dictionary, prior sessions); the prior related ODRs/ADRs; and any constraints (deadlines, dependencies, blocked emissions). Identify which artefacts/mappings are under review.
Step 2 — Pre-flight scope check → declare tier, consensus-mode, roster
The Queen runs the 5-minute scope check (the methodology §Pre-flight scope check). Three outcomes: ratify-as-is (proceed) / re-scope (too narrow → fold; too broad → split) / retire (wrong unit of decision → mark the record rejected with a pointer). Then declare, explicitly:
- Format tier — Author-only / Reduced / Full (constraint 2 above).
consensus-mode—agent-fan-outdefault; a hive-mind mode only on the constraint-1 trigger;nonefor Author-only.- Roster — name the Queen (Moderator; frames, sequences, votes, synthesises), the Devil's Advocate (named; argues the strongest case AGAINST), and the panellists. The DA-selection criterion is load-bearing: the DA's published methodology must be genuinely opposed to the proposition's framing, not merely orthogonal (the methodology §Roles → "DA selection criterion"). Pick experts whose expertise the questions touch; leave the rest out.
If the scope check surfaces a finding that would invalidate multiple sessions, escalate to a meta-Council (scope-check-N-<slug>.md) before proceeding.
For Author-only, skip to Step 4 — the Queen drafts directly.
Step 3 — Spawn the panel in ONE message
Spawn the panel as background Task agents in a single message (parallel fan-out is a barrier on the slowest agent, not the sum — sequential spawning is a methodology violation; the methodology §Session protocol rule 10). Each agent's prompt carries: its persona's published-position lens; the shared brief (proposition + questions + input docs); the per-question verdict format; and, for the DA, the instruction to attack. The agent-prompt template (persona lens, brief, verdict shape, DA framing) is in reference/agent-brief-template.md.
Cross-talk: the recommended default is direct agent-to-agent messaging via Agent Teams (SendMessage, team_name: "<council-id>") so experts respond to peers before settling — the multi-round dialectic the Council exists to produce (the methodology §Cross-talk transport). Where Agent Teams is unavailable, fall back to file-based positions (one opening + one rebuttal pass) or, only when peer-revision is genuinely out of scope, queen-composed. Working files (Full/Reduced) live at docs/ontology/odr/council/working/session-NNN/<persona>.md.
Step 4 — Collect positions; Queen writes the synthesis
The Queen collects the returned positions, verifies each citation against the methodology §Citation grounding (a position whose source cannot be cross-referenced is flagged and not counted toward the vote), tallies each question N-M-K (for / against / abstain — three exact integers), and records the DA's disposition on every contested question verbatim: WITHDRAWN (condition met) / HELD (condition unmet — held-as-live, with a named re-open trigger) / CONCEDED. The Queen composes the cross-expert narrative but MUST NOT fabricate — every quotation must trace to actual agent output (the methodology §Session protocol rule 9). Worker that failed to return: record the absence, retry once with -retry-1 lineage, default to abstain if the retry fails (rule 11).
Write the session record to docs/ontology/odr/council/session-NNN-<slug>.md (next sequential number — Glob the directory). Full/Reduced sessions carry the per-question verdict transcript and a tally appendix (per-voice table + DA scorecard + per-question count) — the two-artefact discipline. Author-only records carry the decision + consequences, no tally. The header fields, body structure, and worked templates for all three tiers are in reference/session-record-template.md.
Step 5 — Apply / route dispositions; record held dissent
Route each disposition to its target: AFFIRM → the record stands / a new ODR is produced (use odr-create); REVISE → amend the named ODR/ADR §section; REJECT → strike the proposition with a pointer. Record any held-as-live dissent verbatim with its re-open trigger (the condition that would re-open the question) in the session record AND in the produced ODR's ## Alternatives / a §Held dissent note. Set the produced ODR status: proposed and note that the operator ratifies adoption (the Council shapes proposals, not their adoption). Cite the session from the ODR's council: frontmatter. Optionally store the session pattern via mcp__ruflo__memory_store (namespace odr-patterns) for future recall.
Notes
- Tier default is Full Council; deviations are justified inline in the convening block. But in practice most sessions in this corpus are Author-only or Reduced — pick the cheapest adequate tier (constraint 2), do not over-convene.
- One substrate primitive, never both — a session uses
swarm-shaped fan-out (the default, viaTask) OR a hive-mind consensus-mode, neverswarm_init+hive-mind_initwrapped together (the methodology §Consensus-mode framework). - Meta-Council (the methodology, the programme cut, the record taxonomy) uses
scope-check-N-<slug>.mdand letter-numbered amendments (A1, A2 …), notsession-N. See the methodology §Meta-Council type. - Enforcement checklist (named experts; Queen + DA named; DA genuinely opposed; DA withdraws/holds on every contested Q;
N-M-Ktallies; citations grounded; one-message parallel spawn; consensus-mode + tier declared in frontmatter) is in the methodology §Enforcement and thereference/session-record-template.mdpre-flight checklist. - Adjacent skills:
odr-create(produce the ODR a Full/Reduced verdict shapes),odr-review(lint the resulting ODR),adr-create(for schema-encoding decisions — the ODR/ADR boundary holds; the Council's panel is a linked-data panel).