Equipe do projeto
Três papéis. Leia as regras compartilhadas abaixo e, em seguida, APENAS seu arquivo de papel:
- Brainstorming: "você é o agente de brainstorming" → brainstorm.md
- Coordenador: "você é o coordenador" → coordinator.md. Sessão separada, nunca numerada.
- Parte N: "você é a parte N" (também "tarefa N", "agente N") → worker.md
<repo> = pasta ~/<repo>; <proj> = nome curto nos nomes das sessões (geralmente o mesmo). <NN> = número de parte com dois dígitos.
Arquivos da skill: ~/.claude/skills/project-team/ (templates/, scripts/tokens.sh tokens por sessão, scripts/patrol.sh patrulha do coordenador).
Construído a partir de execuções de projetos multiagente do próprio usuário (2026-10).
Layout do projeto (criado pelo brainstorming)
CLAUDE.md 3 linhas, apenas ponteiro (templates/CLAUDE_pointer.md)
.claude/settings.json {"crossSessionInbound": "accept"} ← sessões podem receber mensagens
docs/INTERFACES.md contratos entre partes; no git; alterado no mesmo commit que o código
team/ estado de coordenação; `/team/` gitignorado; existe APENAS em ~/<repo>/team
TEAM.md fatos do projeto, ordem de leitura, poderes do coordenador, regras específicas do projeto
SCOPE.md objetivo · Decidido pelo usuário (datado) · padrões propostos · fora de escopo
PARTS.md tabela de partes · tabela de despacho · fluxograma · ondas
parts/P<NN>_<nome>.md um briefing por parte
STATUS.md uma linha por parte · Precisa do usuário · últimos 10 marcos
REQUESTS.md solicitações/relatórios de bugs do usuário, suas palavras, responsável, estado
ISSUES.md bugs entre partes · DECISIONS.md desvios · log/P<NN>.md notas por parte
research/NN_<tópico>.md · launch.sh (sessões nomeadas no tmux; opcional)
Worktrees não têm team/: sempre caminhos absolutos ~/<repo>/team/....
Regras compartilhadas (todo papel)
Nomes são endereços. <proj> coordenador, <proj> parte N; SendMessage para esse nome exato. Agentes não podem se renomear: se ListAgents mostrar na primeira linha ("Esta sessão é …") um nome diferente do seu, peça ao usuário uma vez: "/rename <proj> parte N por favor", continue lendo enquanto isso.
Mensagem apenas quando alguém deve agir. Uma tag, primeira palavra:
| Tag | De → para | Quando |
|---|---|---|
DONE P3.2 <sha> | parte → coordenador | etapa nomeada em algum despacho Needs, ou parte inteira, mesclada. Marcos vão SOMENTE aqui |
START P4.2 | coordenador → parte | cada Need daquela etapa mesclado |
STOP / RESUME | coordenador → partes | controle de execução |
REQ R7 <palavras do usuário> / DONE R7 <sha> | coordenador ↔ parte responsável | solicitação do usuário encaminhada / finalizada |
DECISION <palavras do usuário> | coordenador → partes afetadas; parte → coordenador se o usuário disse à parte | o usuário decidiu algo |
ISSUES N | parte → parte responsável | N novas linhas para você em ISSUES.md, agrupadas |
IFACE | parte → partes afetadas | contrato em INTERFACES.md alterado sob elas |
BLOCKED | parte → coordenador | não pode prosseguir E não há paliativo (senão uma linha de Need usuário, sem mensagem) |
ASK | qualquer um → qualquer um | precisa de uma resposta; a ÚNICA tag que recebe resposta |
- Estilo das cavernas, ≤2 linhas, ≤300 caracteres, fato primeiro. Aponte para arquivo/commit, não explique.
- Sem resposta a menos que
ASK. Nunca confirme, agradeça, "farei", "começando agora", progresso, "tudo bem". - Vale a pena registrar → disco (linha STATUS, log, ISSUES, DECISIONS), não uma mensagem.
- Aguardando: termine sua vez. Sem polling, sem loops de espera; uma mensagem o acorda.
- Agente à deriva (tagarela, confirmando, fora do escopo): lembrete de uma linha, uma vez.
Arquivos compartilhados. Muitos agentes escrevem team/: altere STATUS/REQUESTS apenas com a ferramenta Edit (ela recusa escritas obsoletas; releia e tente novamente), anexe a ISSUES/DECISIONS com >>. Nunca sed -i ou Write sobre eles.
O usuário recebe perguntas apenas através do coordenador, agrupadas e numeradas. Partes nunca bloqueiam no usuário e nunca usam AskUserQuestion: linha Need usuário em STATUS (- [ ] P3: pergunta; paliativo usado; impacto), use a sugestão do briefing, registre em DECISIONS.md, continue.
Todo papel é líder. Leitura ampla, codificação, testes longos → subagentes com briefings das cavernas (escopo, caminhos absolutos que podem editar, critérios de conclusão), relatórios ≤100 palavras, saída longa para arquivos. Subagentes concorrentes nunca editam o mesmo arquivo; registros/arquivos de índice compartilhados apenas pelo líder.
Máquina compartilhada. Mate apenas PIDs que você iniciou (um pkill -f vite de uma parte matou os servidores de todos). Apenas sua faixa de portas. nvidia-smi antes de usar GPU. Nunca declare outro agente morto apenas por ListAgents (verifique ps, tmux, mtime do transcript); nunca mate ou assuma seu trabalho ou processos sem o usuário. Nunca reinicie um serviço que alguém possa estar usando (o usuário jogando, uma demonstração) sem verificar se está ocioso. Modo automático bloqueia um comando → não tente novamente nem contorne; linha Need usuário; siga em frente. As regras globais do usuário ainda se aplicam.
STOP: termine a ação pequena atual, pare seus subagentes e servidores de desenvolvimento (serviços de produção/ao vivo permanecem ativos), faça commit do WIP no seu branch (nunca main), registre "parado em X, próximo Y", linha parado, termine a vez. RESUME / após compactação: releia TEAM.md (as regras podem ter mudado), seu log, sua linha, git status; continue.