Was macht council (Expertenrat)?
Mehrere Modellfamilien prüfen ein Artefakt in begrenzten Runden und kommunizieren über Dateien und Herdr-Panels – nie über die Zwischenablage des Menschen.
Skript: node <skills-Verzeichnis>/scripts/council.mjs (<skills-Verzeichnis> = Ort, an dem diese SKILL.md installiert ist). Sitzplatz-Transport: references/herdr-seats.md.
Vorbereitung (streng)
- Ein Artefakt existiert: ein Plan, eine Spezifikation, ein Diff (
git diff > .ramos/council/review.diff) oder eine einseitige Problembeschreibung. Kein Artefakt → schreibe zuerst die Problembeschreibung oder brich ab. Ein Rat ohne Artefakt beginnt nicht. herdrist verfügbar undHERDR_ENV=1, zusätzlich mindestens zwei Compiler-Binärdateien aus verschiedenen Familien (claude,codex,agyodergemini,opencode). Fehlt etwas → gib die Installationsanleitung für jede fehlende Komponente aus und brich ab.- Der Nutzer hat einen Rat angefordert, oder
/cruciblehat eine architektonische Weggabelung markiert. Berufe keinen Rat für Routineaufgaben ein.
Entscheidungsbaum
council.mjs init --artifact <Datei> --seats claude,codex,agy→ gibtrun_idund das Ausführungsverzeichnis mitround1.prompt.mdundround2.prompt.mdaus.- Sitzplätze: Sind die Panels bereits aktiv? → verwende sie weiter. Andernfalls → starte sie gemäß
references/herdr-seats.md. Du (der Vorsitzende) bist ebenfalls ein Sitzplatz. Schreibe deine Datei für Runde 1, bevor du die anderer liest. - Sende an jeden Sitzplatz:
Lies <Verz>/round1.prompt.md und befolge es genau.(send-text, dann Enter, dann lies das Panel erneut, um zu bestätigen, dass es abgeschickt hat). - Frage
council.mjs status --dir <Verz>ab. Nur Dateien, die mit dem exakten Fertigstellungsmarker enden, zählen.- Ein Sitzplatz ist ratenbegrenzt, abgestürzt oder schweigt über eine von dir gesetzte Frist hinaus →
council.mjs missing --dir <Verz> --round 1 --seat <S> --reason "<Grund>". Fahre mit den anderen fort. Warte niemals ewig und tu niemals so, als hätte er geantwortet. - Jede Runde benötigt mindestens 2 abgeschlossene Überprüfungen. Wenn weniger fertig werden können, setze einen Ersatz aus einer anderen Familie ein oder brich ab und melde
blocked. Das Aufzeichnen fehlender Sitzplätze allein schließt keinen Rat ab.
- Ein Sitzplatz ist ratenbegrenzt, abgestürzt oder schweigt über eine von dir gesetzte Frist hinaus →
- Runde 1 geschlossen → sende
round2.prompt.md(Kreuzverhör). Weise den Teilnehmern Linsen zu, die sie produktiv uneinig sein lassen: Einer greift Komplexität und Zerbrechlichkeit an, einer Kosten und Verifizierbarkeit, einer verteidigt die Benutzbarkeit. - Runde 2 geschlossen → der Vorsitzende schreibt
<Verz>/SYNTHESIS.md:- Einigung (alle Teilnehmer, nach Zugeständnissen)
- Uneinigkeit (jede Position, ihre stärksten Belege, der tatsächliche Kompromiss)
- Entscheidungen für den Menschen (≤5, jeweils mit einer empfohlenen Antwort)
- Entscheidungsverantwortlicher für jeden Punkt
- Präsentiere die Synthese dem Menschen. Lasse die Panels für Rückfragen offen. Zwei Runden sind das Maximum. Eine dritte Runde nur für eine neue, engere Fragestellung.
Regeln
- Teilnehmer schreiben nur ihre eigenen Dateien. Jeder Teilnehmer beendet seine Datei mit seinem Marker.
- Der Vorsitzende bearbeitet keine Dateien von Teilnehmern und schreibt jede Behauptung einem Teilnehmer zu.
- Zahlen, die ein Teilnehmer nicht mit einer Messung untermauern kann, werden in der Synthese als nicht verifiziert gekennzeichnet.
Abschlussbedingung
council.mjs status meldet complete: true (alle Runden geschlossen mit mindestens 2 abgeschlossenen Überprüfungen, SYNTHESIS.md existiert, problems ist leer), und der Mensch hat die Entscheidungsliste. Andernfalls melde blocked mit der problems-Liste.