1

Pitch: Fiz o Cowork e o Claude Code conversarem sozinhos, sem eu precisar copiar e colar entre eles

Eu uso o Cowork (o Claude no app desktop) para pensar: descoberta, plano, design. E uso o Claude Code para construir. O problema é que eu virei o barramento entre os dois. Copiava o prompt de um, colava no outro, copiava a resposta, colava de volta.

Então montei uma ponte. Agora eu falo só com o Cowork, e ele delega para o Code, recebe o resultado e revisa antes de me mostrar.

O vídeo

https://youtu.be/oE7mIA4Wpe0

São 3 minutos (reduzi ao máximo) de gravação real, com as esperas cortadas ou aceleradas (marcadas na tela). Peço uma página de Pomodoro com a lógica do timer num módulo testado. O Code entrega as duas partes em paralelo, com 22 testes passando. Mesmo assim, o Cowork acha na revisão um bug que os testes não pegaram (o tempo restante podia ficar negativo) e manda o Code corrigir. Eu testo no navegador, digo "aprovado" e confirmo o merge.

Como funciona

A comunicação é por arquivos, em uma pasta .bridge/ dentro do projeto (fora do git):

.bridge/
  inbox/    # o Cowork escreve tarefas aqui (um .md por tarefa)
  working/  # o Code move para cá ao pegar
  outbox/   # o Code escreve o relatório aqui
  done/

Do lado do Code, uma skill /bridge roda um script shell em segundo plano que fica olhando o inbox/. Enquanto espera, ele não consome nenhum token, porque a sessão do Code só acorda quando o script termina. Quando chega tarefa, o Code despacha subagentes em paralelo (no máximo 3), cada um num git worktree com seu próprio branch, e já volta a escutar.

Para o Code avisar o Cowork, usei uma tarefa agendada vinculada à conversa do Cowork. O Code dispara essa tarefa quando termina, e ela chega no Cowork como notificação. É a "campainha". O Cowork lê o outbox/, revisa o diff, roda os testes e me resume o que aconteceu.

Regras que deixei fixas

  • main é produção. Um hook de pre-push bloqueia push direto nela.
  • Merge só acontece depois de um "sim" meu na caixa de confirmação no Code. Tarefa escrita em arquivo nunca vale como confirmação.
  • Toda tarefa que mexe em código roda isolada em worktree. Correção em cima de um branch em revisão continua no mesmo worktree.
  • Tudo que o Code me mostra na tela ele também grava em arquivo de notas, para o Cowork não perder nada.

Limitações

  • O computador precisa estar ligado, com o Code aberto e rodando /bridge.
  • Cada toque da campainha custa uma rodada do Cowork, e cada acordada do Code relê o contexto da sessão. Ou seja, a sessão do Code fica mais cara conforme cresce, e vale dar /clear de vez em quando.
  • O Cowork não vê a tela do Code. Ele só sabe o que está nos arquivos.

Queria a opinião de vocês

  • Alguém já resolveu isso de outro jeito? Procurei e não achei nada pronto.
  • A campainha por tarefa agendada funciona, mas parece gambiarra. Vocês veem um caminho mais limpo para o Code avisar o Cowork?
  • Faz sentido deixar o Cowork revisar o trabalho do Code, ou vocês confiariam só nos testes?

O código está aberto: https://github.com/lucianoiw/cowork-vs-code

Carregando publicação patrocinada...