Communitygithub.com

br1anchen/pstack-trio

Execute três agentes de codificação em uma única sessão Herdr ou Rex: um mestre que planeja, instrui, revisa e decide; um assistente que implementa, testa e diagnostica; e um consultor de um tipo diferente de agente que critica planos e fornece segundas opiniões.

O que é pstack-trio?

O `br1anchen/pstack-trio` é uma skill avançada para orquestração multiagente, projetada para ambientes Herdr ou Rex. Ela coordena três agentes distintos: um **Mestre** que detém o julgamento, gerencia o plano, as instruções, as revisões e as decisões; um **Assistente** que executa a implementação, testes e diagnósticos; e um **Consultor** de um tipo diferente de agente que fornece crítica de design, responde a consultas e prototipa em uma árvore de trabalho descartável. A skill é ativada pelo comando `/pstack-trio` ou por palavras-chave como 'modo trio' e exige que pelo menos dois tipos distintos de agentes estejam disponíveis. A comunicação entre os agentes é feita exclusivamente por meio de arquivos em um repositório compartilhado (trio store), garantindo que não haja perda de contexto, mesmo em terminais sem scrollback. O Mestre conduz todas as discussões, delega a implementação ao Assistente e consulta o Consultor antes de qualquer mudança de design. A skill é útil para tarefas de codificação complexas que exigem planejamento, implementação e revisão, com uma segundas opinião contínua para garantir a qualidade e a solidez do design.

Funciona com✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/br1anchen/open-pstack/tree/HEAD/skills/pstack-trio

Perguntar na sua IA favorita

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

Documentação

Leia o adaptador de execução antes de seguir este fluxo de trabalho. Seus mapeamentos de execução se aplicam a todos os playbooks e scripts referenciados.

Pstack trio

Três agentes, uma sessão Herdr ou Rex, um repositório. O mestre detém o julgamento, o assistente detém a árvore de trabalho e o consultor detém a segunda opinião. Cada mensagem entre eles é um arquivo no armazenamento trio mais uma linha de prompt que nomeia o arquivo. O terminal nunca é o registro, porque agentes na tela alternativa não deixam scrollback.

O trio é o pstack-pair com um consultor adicionado. As rodadas de plano, instruções, check-ins, direcionamentos e revisões do par permanecem inalteradas; o consultor participa de todas as rodadas de plano e responde a consultas quando uma descoberta altera o design. Ele nunca envia mensagens para o assistente e nunca escreve na árvore compartilhada.

Pré-condições

  1. Dentro do Herdr (test "${HERDR_ENV:-}" = 1) ou Rex (REX_BLOCK definido). Fora de ambos, informe e pare.
  2. Carregue a skill do multiplexador para controle de painel e agente: o ~/.agents/skills/herdr/SKILL.md do Herdr (ou herdr --skill quando esse arquivo estiver ausente), ou rex skill show do Rex. Suas regras de segurança se aplicam durante todo o processo. No Rex, leia Executando no Rex.
  3. herdr ou rex, e Python 3.11 ou posterior (python3), no PATH. scripts/pair.sh help lista todas as operações de armazenamento e canal; use-o em vez de chamadas herdr ou rex manuais para o trio.
  4. Pelo menos dois tipos distintos de agentes entre mestre, assistente e consultor. pair.sh spawn lê o tipo do mestre do multiplexador e sai com código 8 se todos os três corresponderem; informe ao humano para escolher outro tipo ou usar pstack-pair. Assistente e consultor podem compartilhar um tipo.
  5. Inicie o mestre no modo automático. Devin usa como padrão ignorar permissões com --permission-mode dangerous. Outros tipos herdam o modo do mestre. pair.sh permission imprime o modo mestre detectado. --permission <mode> substitui ambas as funções geradas; --consultant-permission <mode> substitui apenas o consultor. Flags de permissão nativas após -- substituem o padrão para cada função gerada por essa chamada. --permission auto seleciona o modo inteligente do Devin. Tipos sem uma tradução recebem flags nativas após --. spawn também ignora o prompt de confiança de pasta de cada tipo, o que travaria um agente não supervisionado em uma pasta que ele não viu: pi recebe --approve, Devin --respect-workspace-trust false. Uma flag de confiança após -- a substitui. Um Claude gerado também inicia sem servidores MCP (--strict-mcp-config e uma configuração vazia), já que cada servidor é um processo por sessão; um --mcp-config após -- mantém o seu. Claude e Codex, em vez disso, pedem para confiar em uma pasta que não viram; essa decisão é do humano, então spawn recusa o diálogo e para com o que fazer: abra esse agente no repo uma vez e confie nele.

Funções

MestreAssistenteConsultor
Possuiplano, instruções, consultas, revisão, decisões, o humanoa árvore de trabalho, testes, diagnóstico, evidênciascrítica de design, segundas leituras, protótipos
Executa pstack comoenquadramento modo-poteto, como, arquiteto, habilidades de revisãoo playbook que cada instrução nomeia, com sua lista de tarefasalternativas como, por que, arquiteto, postura interrogar, raio-explosão em diffs
Escreveapenas o armazenamento trioarquivos dentro do Escopo da instrução, mais seu log de progresso e relatóriosarquivos de conselho e uma árvore de trabalho temporária que ele remove
Lê a árvoresempre, somente leitura; executa verificações no scratch em um commitsempresempre, somente leitura
Fala através deplanos, instruções, direcionamentos, consultas, revisões, ordens permanentes, portõeslinhas de progresso, relatóriosconselhos

Entre em sua função. Mestre: references/master.md. Assistente: references/sidekick.md. Consultor: references/consultant.md.

Armazenamento trio

${XDG_STATE_HOME:-$HOME/.local/state}/pstack/trio/<slug>/, criado por pair.sh init. Um escritor por arquivo.

CaminhoEscritorConteúdo
pair.jsonmestre via pair.shnomes dos agentes, ids dos painéis, tipos, cwd, raiz git, lista de scratch abertos, fallback e failovers do assistente, posicionamento do painel (split ou tab)
standing-orders.mdmestrerestrições numeradas coladas por caminho em cada instrução
plans/NNN-<slug>.mdmestreuma rodada de plano, a partir do modelo de plano
briefs/NNN-<slug>.mdmestreuma unidade, a partir do modelo de instrução
progress/NNN-<slug>.mdassistente via pair.sh progressuma linha com carimbo de data/hora por etapa concluída ou mudança de abordagem
steers/NNN-<slug>-s<k>.mdmestredireção de meio-instrução k para a unidade NNN, a partir do modelo de direcionamento
consults/NNN-<slug>-c<k>.mdmestrepergunta k sobre a unidade NNN para o consultor, a partir do modelo de consulta, com um tipo: de design, descoberta, objeção ou revisão
reports/NNN-<slug>-s<k>.mdassistenteobjeção ao direcionamento k, a partir do modelo de resposta a direcionamento
reports/NNN-<slug>.mdassistenteevidências para a instrução NNN, a partir do modelo de relatório, ou a resposta concordar/objetar ao plano NNN, a partir do modelo de resposta a plano
advice/NNN-<slug>.mdconsultorcrítica de design do plano NNN, a partir do modelo de conselho de plano
advice/NNN-<slug>-c<k>.mdconsultorresposta à consulta k, a partir do modelo de conselho
scratch/<id>consultor ou mestre via pair.sh scratchlink para uma árvore de trabalho descartável para uma consulta (NNN-<slug>-c<k>) ou revisão (NNN-<slug>-review), em um commit ou estado ativo, mantida fora do repo em ${XDG_STATE_HOME:-~/.local/state}/pstack/scratch/ (PSTACK_SCRATCH_ROOT a move), que Claude e Codex devem confiar uma vez por host (kitchen.py doctor verifica); removida quando concluída
reviews/NNN-<slug>.mdmestreveredito sobre a unidade NNN, a partir do modelo de revisão; nomeia o conselho em que se baseou e qualquer anulação
gates.mdmestreperguntas em aberto para o humano
decisions.tsvmestre via pair.sh loga trilha de mostre-seu-trabalho
status.mdpair.sh statustabela derivada; nunca editada manualmente
queuemestre via pair.sh queue e dispatcho caminho da próxima instrução, um slot
steps/NNN-<slug>.tsvassistente via pair.sh stepuma linha por etapa commitada: número, commit, hora, notas que resolve, resumo
notes/NNN-<slug>-n<k>.mdmestre via pair.sh new-note e noterevisão das etapas da unidade até a etapa k, a partir do modelo de nota: itens bloqueadores e acompanhamentos
followups.mdmestre via pair.sh noteacompanhamentos de cada nota, para uma instrução posterior ou um problema
session-handoff.mdmestrecontexto compacto de recuperação e próxima tarefa, lido na inicialização
sessions/pair.sh spawn / rotaterelatórios prontos anteriores; exportações de sessão retidas e evidências de tempo
events.tsvtodo comando pair.shuma linha por mensagem, relatório, ativação e entrada de log, lido por pair.sh metrics

NNN é uma sequência preenchida com zeros compartilhada por plano ou instrução, relatório, conselho e revisão, para que os arquivos de uma unidade sejam classificados juntos.

Mensagens

Texto do promptDireçãoAjudante do remetenteAção do destinatário
bootstrap (nomeia a skill, a função e o armazenamento)mestre para assistente e consultorpair.sh spawnetapas de bootstrap, reports/000-ready.md ou advice/000-ready.md, responder PRONTO
pstack-trio PLAN <caminho-do-plano>mestre para assistente e consultor ao mesmo tempopair.sh discussassistente fundamenta o plano no código; consultor critica o design; cada um escreve concordar ou objetar, encerra a vez
pstack-trio BRIEF <caminho-da-instrução>mestre para assistentepair.sh dispatchexecutar a instrução, escrever seu relatório, executar pair.sh finish, encerrar a vez com a linha RELATÓRIO
pstack-trio BRIEF <caminho-da-instrução>, enfileiradomestre para um assistente trabalhandopair.sh queueo mestre o despacha após uma sessão nova; pair.sh next recusa
pstack-trio STEER <caminho-do-direcionamento>mestre para um assistente trabalhando, ou pausado em uma objeçãopair.sh steerler entre chamadas de ferramenta; concordar e continuar, ou objetar com evidências e encerrar a vez
pstack-trio CONSULT <caminho-da-consulta>mestre para consultorpair.sh consultler os arquivos nomeados, prototipar no scratch se necessário, escrever o conselho, encerrar a vez
pstack-trio REPORT <caminho-do-relatório>assistente para mestrepair.sh finish (ou notify)ler o relatório, revisar
pstack-trio ADVICE <caminho-do-conselho>consultor para mestrepair.sh notifyler o conselho, decidir
pstack-trio STOP <armazenamento>mestre para assistente e consultorpair.sh stoppausar com segurança, escrever um relatório de parada ou conselho

discuss retorna quando ambos os agentes se estabelecem, com um caminho e status de resposta por função. Um assistente ocupado em uma unidade não segura a rodada: o consultor recebe o plano imediatamente, a metade do assistente é deferred (código de saída 4), e executar discuss novamente quando o assistente relatar envia apenas essa metade. consult retorna quando o consultor se estabelece em idle, done ou blocked. dispatch e wait retornam quando a resposta do assistente chega, o relatório é escrito desde a mensagem, ou quando está blocked; apenas um estabelecimento do multiplexador não é confiável: um assistente Devin mostra ocioso quando um prompt chega e entre etapas, e em um painel estreito pode mostrar concluído para uma execução inteira, então um estabelecimento é verificado contra a linha "esc para interromper" do painel, e um sem relatório que espera por um minuto encerra a espera com relatório: ausente. dispatch e wait também retornam no intervalo de check-in com um resumo. wait também retorna no momento em que o relatório de uma instrução despachada chega, mesmo quando o assistente já pegou a instrução enfileirada; running: então nomeia a instrução em que está. notify solicita o mestre apenas quando o mestre está ocioso. Uma mensagem que você recebe após a compactação ainda nomeia esta skill e o arquivo a ser lido, então recarregue a skill e continue desse arquivo.

Planeje primeiro

A implementação começa apenas a partir de um plano que o assistente concordou e o consultor aconselhou. O mestre rascunha plans/NNN-<slug>.md com o design escolhido, as alternativas que ponderou e seus prós e contras, e o envia com pair.sh discuss, que alcança ambos os agentes ao mesmo tempo. O assistente verifica cada etapa contra o código e responde concordar ou objetar com evidências. O consultor critica o design em si: forma dos dados, limites, o que a tabela de alternativas perde, e responde concordar ou objetar. O mestre mescla ambos na próxima rodada ou uma revisão com veredito acordado.

O consultor é consultivo. Um objeto do consultor não bloqueia acordado; o mestre pode anulá-lo com o motivo na seção Anulado da revisão e uma linha em decisões. Um arquivo de conselho para a rodada de plano deve existir, no entanto: pair.sh dispatch recusa uma instrução de funcionalidade, correção de bug, refatoração, problema de desempenho ou pstack-tdd cujo plano não tenha conselho do consultor registrado ou nenhuma revisão acordada. Instruções somente leitura e forenses não precisam de plano; a instrução de diagnóstico de um bug é executada antes de seu plano. Três rodadas sem acordo tornam-se um portão para o humano, com todas as posições em gates.md.

Consultas

Uma consulta é a pergunta do mestre ao consultor fora de uma rodada de plano. pair.sh new-consult <armazenamento> <NNN> --kind <tipo> cria o arquivo para a unidade NNN; pair.sh consult o envia e espera o conselho.

TipoQuandoO consultor responde
designo mestre pondera uma direção antes de um plano ou direcionamentoqual caminho e por quê, com as compensações
descobertaum resumo de check-in, relatório ou diff revelou algo inesperadose é o que parece, e o que muda
objeçãoo assistente objetou a um direcionamentoquem está certo com base nas evidências, e a alternativa
revisãoum veredito é contestado ou uma unidade está em sua segunda revisãoaceitar, revisar ou rejeitar, com descobertas
olhadelaum check-in mostra o primeiro commit ou um diff grande em uma unidade cuja revisão custaria maisem cinco minutos: a revisão diria revisar, e por quê, ou nenhum

Consultas são obrigatórias antes de: um direcionamento que se afasta do design acordado, um direcionamento substituto após uma objeção do assistente e um veredito revisar na segunda tentativa de uma unidade. São opcionais em outros lugares, e nenhuma é enviada para a unidade de aterrissagem: toda discussão e revisão termina antes do aterrissagem. Três consultas por unidade; new-consult recusa uma quarta sem --force, porque uma quarta significa que o design está errado e pertence a uma rodada de plano. Uma olhadela fica fora desse limite, uma por unidade, e nunca é obrigatória: a cota do consultor é a escassa, então gaste-a onde uma revisão tardia custaria mais.

Cada consulta é executada a qualquer momento, o assistente trabalhando ou não. consult carimba o estado do assistente e HEAD no arquivo; o consultor lê o trabalho commitado nesse HEAD e qualquer coisa não commitada apenas por meio de um snapshot pair.sh scratch, nunca uma árvore que se move embaixo dele. Cada consulta carrega um limite de tempo, quinze minutos por padrão e cinco para uma olhadela; após isso, o consultor escreve conselho parcial e encerra a vez.

Check-ins e direcionamentos

Inalterado do pstack-pair: o assistente anexa linhas de progresso, dispatch e wait retornam um resumo de check-in no intervalo, e um direcionamento é a única mensagem que pode alcançar um assistente trabalhando. Dois direcionamentos novos por instrução, duas rodadas cada. O consultor adiciona uma etapa: quando um resumo ou objeção mostra uma descoberta que altera o design, o mestre consulta antes de direcionar, e a Direção do direcionamento cita o caminho do conselho.

Sessões de tarefa de todos os tipos

Um assistente de qualquer tipo (Claude, Codex, Devin, pi, Prime, Muse) usa uma conversa nova...

Individual skills in this repo

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

Habilidades Relacionadas