O que council faz?
Várias famílias de modelos revisam um artefato em rodadas delimitadas, conversando através de arquivos e painéis do Herdr, nunca através da área de transferência do humano.
Script: node <diretório desta skill>/scripts/council.mjs (<diretório desta skill> = onde este SKILL.md está instalado). Transporte de assentos: references/herdr-seats.md.
Pré-voo (obrigatório)
- Existe um arquivo de artefato: um plano, especificação, diff (
git diff > .ramos/council/review.diff) ou uma declaração de problema de uma página. Sem artefato → escreva a declaração de problema primeiro, ou pare. Um conselho sem artefato não começa. herdrestá disponível eHERDR_ENV=1, além de pelo menos 2 binários de teste de famílias diferentes (claude,codex,agyougemini,opencode). Ausentes → exiba a instalação para cada um e pare.- O usuário pediu um conselho, ou
/cruciblesinalizou uma bifurcação arquitetural. Não convoque um para trabalho rotineiro.
Árvore de decisão
council.mjs init --artifact <arquivo> --seats claude,codex,agy→ exiberun_ide o diretório da execução comround1.prompt.mderound2.prompt.md.- Assentos: os painéis já estão em execução? → reutilize-os. Caso contrário → inicie-os conforme
references/herdr-seats.md. Você (o presidente) também é um assento. Escreva seu arquivo da rodada 1 antes de ler os de outros. - Envie para cada assento:
Leia <diretório>/round1.prompt.md e siga exatamente.(send-text, depois Enter, depois releia o painel para confirmar que foi enviado). - Consulte
council.mjs status --dir <diretório>. Apenas arquivos que terminam com o marcador de conclusão exato contam.- Um assento está com limite de taxa, travado ou silencioso após um prazo que você definiu →
council.mjs missing --dir <diretório> --round 1 --seat <s> --reason "<porquê>". Continue com os outros. Nunca espere para sempre, e nunca finja que respondeu. - Cada rodada precisa de pelo menos 2 revisões concluídas. Se menos puderem terminar, coloque um substituto de outra família, ou pare e reporte
blocked. Registrar assentos ausentes por si só não completa um conselho.
- Um assento está com limite de taxa, travado ou silencioso após um prazo que você definiu →
- Rodada 1 encerrada → envie
round2.prompt.md(interrogatório cruzado). Atribua lentes que façam os assentos discordarem produtivamente: um ataca complexidade e fragilidade, um ataca custo e verificação, um defende usabilidade. - Rodada 2 encerrada → o presidente escreve
<diretório>/SYNTHESIS.md:- Acordado (todos os assentos, após concessões)
- Discordado (cada posição, sua evidência mais forte, a verdadeira troca)
- Decisões para o humano (≤5, cada uma com uma resposta recomendada)
- Responsável pela decisão para cada item
- Apresente a síntese ao humano. Mantenha os painéis abertos para acompanhamentos. Duas rodadas é o limite. Uma terceira rodada apenas para uma nova questão mais restrita.
Regras
- Assentos escrevem apenas seus próprios arquivos. Cada assento termina seu arquivo com seu marcador.
- O presidente não edita arquivos de assentos e atribui cada afirmação a um assento.
- Números que um assento não pode respaldar com uma medição são rotulados como não verificados na síntese.
Concluído quando
council.mjs status reporta complete: true (todas as rodadas encerradas com pelo menos 2 revisões concluídas, SYNTHESIS.md existe, problems está vazio), e o humano tem a lista de decisões. Caso contrário, reporte blocked com a lista problems.