Verificando acesso...

TRILHA 3

🎮 Operação

As 3 regras de ouro, contexto e permissões, plan mode, hooks como quality gates e split-pane no tmux.

5
Módulos
30
Tópicos
~4h
Duração
Inter.
Nível

Mapa da trilha

Conteúdo detalhado

3.1~50 min

📜 As 3 regras de ouro

Território, mensagens diretas, paralelismo real — princípios não negociáveis.

O que é:

Cada arquivo crítico tem 1 e somente 1 teammate dono. Outros podem ler, mas só o dono escreve.

Por que aprender:

É a regra mais quebrada e a que mais causa estrago: overwrite silencioso e merge implícito.

Conceitos-chave:

Defina territórios no spawn; pastas-âncora por papel; troca via mensagem com link de arquivo.

O que é:

Teammates falam direto entre si via SendMessage; o lead só entra para sintetizar ou desempatar.

Por que aprender:

Tudo passar pelo lead serializa o time e desperdiça tokens em consolidação prematura.

Conceitos-chave:

Mensagem unicast por nome; "envie o contrato da API para Frontend"; lead como árbitro.

O que é:

Spawn em paralelo + tasks independentes na partida. Quem precisa esperar, espera por mensagem — não por turno.

Por que aprender:

Trabalho sequencial mascarado de "team" é o pior dos mundos: custo de team com latência de single.

Conceitos-chave:

Tasks paralelas; dependências explícitas; fan-out + fan-in; "todos acordam juntos".

O que é:

Lab que força dois teammates a editar o mesmo arquivo e mostra o overwrite — depois corrige com ownership.

Por que aprender:

Ver acontecer treina o olho. Você nunca mais esquece de definir território.

Conceitos-chave:

Reproduzir o bug; corrigir o prompt; rodar de novo; ver a diferença lado a lado.

O que é:

Casos pequenos onde 1 arquivo compartilhado é OK (ex: TODO.md temporário) — desde que documentado.

Por que aprender:

Regras viram dogma se não tiverem exceções claras; saber quebrar com critério é parte do ofício.

Conceitos-chave:

Apenas append; lock explícito via mensagem; nunca em arquivos críticos.

O que é:

Após uma execução, revisar mailbox + git diff + task list para ver se as 3 regras foram seguidas.

Por que aprender:

Times "aparentemente bem" às vezes serializam por baixo. Auditar fecha o ciclo de aprendizado.

Conceitos-chave:

git blame + autor (teammate name); contagem de mensagens P2P vs lead; tempo de wall-clock por papel.

3.2~45 min

🧠 Contexto e permissões

O que cada teammate carrega ao acordar e como controlar o que ele pode fazer.

O que é:

Todo teammate carrega CLAUDE.md do diretório de trabalho ao acordar — é o jeito mais robusto de dar instruções globais.

Por que aprender:

Boilerplate no spawn é caro; o que vale para todos vai no CLAUDE.md.

Conceitos-chave:

Convenções de código; mapas de pastas; políticas de testes; quando NÃO usar (instruções específicas da tarefa).

O que é:

Conversa anterior do lead, decisões tomadas no chat, contexto implícito — tudo isso fica fora do teammate.

Por que aprender:

É a fonte mais comum de "o agente esqueceu o que combinamos": ele simplesmente nunca soube.

Conceitos-chave:

Tudo que importa vai no spawn ou em CLAUDE.md; histórico do lead é privado por design.

O que é:

Um teammate pode usar uma subagent definition (em .claude/agents/) como tipo, herdando tools e modelo.

Por que aprender:

Uma vez que você tem um security-reviewer bom, vale para o time todo — não reescreva.

Conceitos-chave:

Body anexado ao system prompt; tools allowlist respeitada; skills/mcpServers NÃO se aplicam.

O que é:

Você pode mudar o modo de permissão de um teammate específico depois que ele já está rodando.

Por que aprender:

Útil para "soltar" o agente quando ele provou que pode, ou apertar quando ele se mostra aventureiro.

Conceitos-chave:

Por teammate, em runtime; não há "per-teammate mode no spawn"; mensagem direta ao agente alvo.

O que é:

Config em ~/.claude/teams/{team}/config.json; tasks em ~/.claude/tasks/{team}/.

Por que aprender:

Saber inspecionar ajuda a entender estado do time e diagnosticar travamentos.

Conceitos-chave:

NÃO editar config à mão; pode ler para diagnóstico; tasks com locking automático.

O que é:

MCP servers configurados no projeto/user ficam disponíveis a todos os teammates como tools.

Por que aprender:

Ótima alavanca: 1 servidor MCP de qualidade = N teammates instantaneamente capazes.

Conceitos-chave:

Allowlist de tools por papel; auditoria via PostToolUse hook; cuidado com MCP que escrevem.

3.3~50 min

📋 Aprovação de plano

Plan mode obrigatório, critérios de aprovação e ciclo de revisão.

O que é:

Teammate inicia em plan mode (sem write tools), pesquisa, monta o plano e só depois passa para execução.

Por que aprender:

Reduz drasticamente "agente fez merda no caminho errado"; pesquisa primeiro, executa depois.

Conceitos-chave:

Read-only por construção; tools de escrita desativadas; plano em formato estruturado.

O que é:

Teammate envia plano formalmente para o lead via approval request. Lead pode aprovar ou rejeitar com feedback.

Por que aprender:

É um dos poucos pontos onde o lead bloqueia explicitamente o teammate — controle de qualidade.

Conceitos-chave:

Aprovação ou rejeição com motivo; rejeitado = volta para plan mode; loop até OK.

O que é:

"Só aprove se o plano cobre testes; rejeite se mexe em schema". Critérios viram texto no prompt do lead.

Por que aprender:

Sem critérios, o lead aprova quase tudo. Critérios explícitos transformam ele em portão de qualidade.

Conceitos-chave:

Cobertura de testes; sem migração de DB sem flag; sem novos endpoints; "X linhas no máximo".

O que é:

Quando rejeitado, teammate fica em plan mode, revisa com base no feedback e resubmete.

Por que aprender:

É o equivalente a "PR review" — apenas no spawn. Aproveita para enxugar escopo antes da execução.

Conceitos-chave:

Loop limitado por bom-senso; lead pode promover plano com mudanças; saída do plan mode = execução libera.

O que é:

Em tarefas críticas, você pode pedir para todo plano passar pelo humano antes da execução.

Por que aprender:

No início, aprovar manualmente é o melhor jeito de calibrar critérios para depois delegar ao lead.

Conceitos-chave:

"Send all plans to me"; usar em produção/migrações; promover progressivamente o lead.

O que é:

Spawn de "architect" em plan mode obrigatório, com 3 critérios de aprovação no prompt do lead.

Por que aprender:

Ver o ciclo completo treina o vocabulário e te dá confiança para operar sem aprovador humano.

Conceitos-chave:

Lab repetível; medir ciclos plano-revisão; ajustar critérios quando aprovar muito ou rejeitar muito.

3.4~55 min

🪝 Hooks como quality gates

TaskCreated, TaskCompleted, TeammateIdle e PreToolUse — bloqueio com exit code 2.

O que é:

Hook = evento (PreToolUse, TaskCompleted...) + matcher (qual tool/situação) + handler (script/HTTP).

Por que aprender:

Hooks são determinísticos. Onde prompt pode falhar, hook bloqueia com certeza.

Conceitos-chave:

Configurados em settings.json; matcher por regex; exit code 2 = bloqueia + envia stderr ao agente.

O que é:

Dispara antes da task entrar na lista; pode bloquear com exit 2 + motivo no stderr.

Por que aprender:

Útil para vetar tasks ambíguas, com escopo grande demais ou que extrapolam o orçamento.

Conceitos-chave:

JSON na stdin com title/description; feedback no stderr volta ao agente como instrução.

O que é:

Hook que roda pytest/npm test e bloqueia o "completed" se algo falha.

Por que aprender:

Transforma a task list em garantia de qualidade — não dá para "fechar tarefa quebrada".

Conceitos-chave:

Exit 2 com saída do pytest; quick subset de testes na task local; full suite no hook do team.

O que é:

Quando um teammate vai dormir, hook pode dizer "ainda não, faltam estes deliverables" e devolvê-lo ao trabalho.

Por que aprender:

Evita "idle prematuro" comum em sessões longas — agente "achou que terminou".

Conceitos-chave:

Verificar arquivos requeridos; checar status de testes; só liberar quando tudo presente.

O que é:

Hook que inspeciona parâmetros do tool antes de rodar — bloqueia padrões perigosos como rm -rf.

Por que aprender:

É a sua rede de segurança. Mesmo com permissões liberadas, hook protege contra acidentes.

Conceitos-chave:

Matcher por tool name; if "Bash(rm *)"; permissionDecision deny + reason.

O que é:

Stop dispara ao fim de cada turno; PostToolUse após cada tool. Bons para logar custo, latência e erros.

Por que aprender:

Sem telemetria você não otimiza. Hooks de log dão dados para decidir tamanhos e modelos.

Conceitos-chave:

Logar em arquivo; decision "block" do Stop só em casos raros; cuidado com loops com Stop bloqueando.

3.5~40 min

🖥️ Display: tmux, iTerm2, split-pane

Quando vale a pena ver tudo ao vivo, atalhos do lead e armadilhas por terminal.

O que é:

Modo in-process: lead lista teammates; Shift+Down circula entre eles; Enter abre, Esc fecha.

Por que aprender:

Funciona em qualquer terminal. É o jeito mais portátil de usar Teams.

Conceitos-chave:

Shift+Down; Ctrl+T para task list; mensagens diretas digitando após selecionar.

O que é:

Modo tmux: cada teammate ganha um pane próprio; você vê tudo simultaneamente.

Por que aprender:

Para diagnóstico e demos é imbatível: você vê quem está em idle e quem está trabalhando.

Conceitos-chave:

Instale tmux pelo gerenciador; --teammate-mode tmux; clique para interagir.

O que é:

No macOS, iTerm2 com it2 CLI + Python API entrega split-pane sem precisar de tmux puro.

Por que aprender:

É mais "nativo" no macOS; tmux -CC dentro de iTerm2 é o entrypoint recomendado.

Conceitos-chave:

Habilitar Python API nas Settings; instalar it2 CLI; usar tmux -CC para integração.

O que é:

VS Code integrated terminal, Windows Terminal e Ghostty NÃO suportam split-pane.

Por que aprender:

Saber evita 30 minutos de "por que meus teammates não aparecem em paneis?". Use in-process nesses terminais.

Conceitos-chave:

Verifique which tmux; se faltar, instale; use --teammate-mode in-process.

O que é:

Shift+Down circula teammates; Ctrl+T abre task list; Esc interrompe turno; Enter foca.

Por que aprender:

Sem atalhos você perde 50% da produtividade; com atalhos você opera o time como um pianista.

Conceitos-chave:

Memorizar 4 atalhos; alternar lead ↔ teammate; mensagem direta em foco.

O que é:

Quando o team não fecha limpo, sessões tmux ficam órfãs. Use tmux ls + tmux kill-session.

Por que aprender:

Sessões órfãs consomem memória e podem confundir o próximo run.

Conceitos-chave:

Encerre via lead primeiro; tmux só é último recurso; padronize nome de sessão.

← Trilha anterior: Setup Próxima trilha: Diagnóstico →