Communitygithub.com

/council

Use quando uma decisão consequente ou artefato (plano de arquitetura, especificação, diff arriscado, design de segurança) merece revisão independente por modelos de diferentes famílias, e o usuário quer que os modelos debatam diretamente, em vez de copiar e colar entre chats.

O que é council?

O `/council` é uma skill para ferramentas de agente de IA (como Claude Code, Cursor, Codex) que orquestra uma revisão multi-modelo de um artefato único (plano, especificação, diff, etc.) em rodadas limitadas. Ele permite que diferentes famílias de modelos debatam diretamente através de arquivos e painéis, eliminando a necessidade de copiar e colar entre chats. A skill utiliza o sistema `herdr` para gerenciar assentos (painéis de modelos) e suporta múltiplos modelos como `claude`, `codex`, `agy`, `gemini` e `opencode`. O processo consiste em duas rodadas: a primeira com revisões independentes e a segunda com interrogatórios cruzados, onde os modelos recebem lentes específicas para gerar discordâncias produtivas. Ao final, um relatório de síntese (SYNTHESIS.md) é gerado, listando pontos de concordância, discordância e decisões recomendadas para o humano.

Funciona com✓Claude Code✓Codex CLI~Cursor✓Gemini CLI✓OpenCode
npx skills add https://github.com/luci-efe/skills/tree/HEAD/skills/council

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

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.
  • herdr está disponível e HERDR_ENV=1, além de pelo menos 2 binários de teste de famílias diferentes (claude, codex, agy ou gemini, opencode). Ausentes → exiba a instalação para cada um e pare.
  • O usuário pediu um conselho, ou /crucible sinalizou uma bifurcação arquitetural. Não convoque um para trabalho rotineiro.

Árvore de decisão

  1. council.mjs init --artifact <arquivo> --seats claude,codex,agy → exibe run_id e o diretório da execução com round1.prompt.md e round2.prompt.md.
  2. 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.
  3. 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).
  4. 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.
  5. 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.
  6. 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
  7. 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.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas