Como o Superpowers revisa o código entre as tarefas e impede o agente de empilhar erro em cima de erro?

revisão de código Superpowers entre tarefas no Claude Code
Resposta rápida

A revisão de código Superpowers acontece entre as tarefas, e não só no fim do plano. A skill requesting-code-review despacha um subagente revisor que recebe apenas o contexto de avaliação (DESCRIPTION, PLAN_OR_REQUIREMENTS, BASE_SHA e HEAD_SHA), levanta o escopo real com git diff no intervalo de commits e devolve o relatório em três faixas: Critical (Must Fix), Important (Should Fix) e Minor (Nice to Have). Junto vem o systematic-debugging, processo de causa raiz em quatro fases com uma Iron Law: nenhuma correção antes de a Fase 1 estar completa. Projeto open source, licença MIT, criado por Jesse Vincent

Fala aí, beleza? Sabe aquela sessão em que você entrega um plano de seis tarefas pro agente e vai tomar um café?

Você volta e o negócio anda, mas a tarefa 3 se apoiou num erro que nasceu na tarefa 1, a 5 tentou consertar e quebrou outra coisa, e agora ninguém sabe mais onde exatamente a coisa desandou

É o clássico empilhamento de erro em cima de erro…

O Superpowers ataca justo esse ponto

Ele é um framework de skills agênticas e uma metodologia de desenvolvimento para o Claude Code, criado e mantido por Jesse Vincent (o usuário obra no GitHub), open source com licença MIT

O pacote tem várias skills, e aqui eu vou destrinchar as que seguram esse empilhamento: requesting-code-review, que confere o trabalho contra o plano ENTRE as tarefas, subagent-driven-development, que orquestra o plano com revisão em duas etapas, e systematic-debugging, o processo de causa raiz em quatro fases

Bora ver como funciona? 🙂

Por que o agente empilha erro em cima de erro?

O sintoma

Você provavelmente já viu essa sequência:

  • a correção de um bug gera uma quebra nova em outro canto
  • a tarefa seguinte é construída em cima de uma base que já estava errada
  • a sessão fica longa e o contexto vira uma memória imprecisa do que foi feito

Isso aparece com força quando você deixa o agente rodando tarefas sozinho por um tempão, sem ninguém olhando no meio do caminho

Formação Claude Code
Formação Recomendada

Formação Claude Code

Domine Claude Code do absoluto zero até o avançado

  • 116 aulas
  • 4 projetos
  • 9h 23min

A causa

Sem checkpoint entre as tarefas, a avaliação do trabalho depende do que o agente LEMBRA ter feito

E memória de sessão longa não é registro, é resumo

A segunda causa é irmã da primeira: correção proposta antes da investigação vira tentativa e erro, e cada tentativa deixa rastro no código

A solução

O Superpowers junta duas travas para isso

A primeira é uma revisão delimitada por um intervalo de commits do git, feita por um subagente que não herda o histórico da sessão principal. Ou seja: ele julga o que está no diff, não a narrativa da conversa

A segunda é a Iron Law do systematic-debugging, que bloqueia qualquer proposta de correção antes de a Fase 1 (investigação da causa raiz) estar completa

Como prevenir

Acionar a revisão depois de CADA tarefa, em vez de acumular tudo para o fim

E, quando três ou mais tentativas de correção falharem, parar e questionar a arquitetura fundamental, que é exatamente o freio que a skill impõe

Como funciona o requesting-code-review na prática

A mecânica é bem direta, e o pulo do gato está em QUEM revisa e no que essa pessoa (ou melhor, esse subagente) enxerga

  1. A skill despacha um subagente revisor com contexto enxuto. Ele recebe apenas o contexto de avaliação, pelos placeholders DESCRIPTION, PLAN_OR_REQUIREMENTS, BASE_SHA e HEAD_SHA. Nada de histórico da sessão
  1. O revisor levanta o escopo real pelo git. A revisão é delimitada por commits, não pelo que o agente acha que mexeu:
git diff --stat BASE_SHA..HEAD_SHA
git diff BASE_SHA..HEAD_SHA

O erro comum aqui é confiar no relato do implementador sobre os arquivos tocados. O diff não tem opinião, ele mostra o que foi alterado

  1. Ele avalia o trabalho concluído contra o plano ou os requisitos. A função declarada do code-reviewer é exatamente essa: revisar o que ficou pronto contra o plano e identificar problemas ANTES que eles virem cascata
  1. Devolve o relatório em três faixas de severidade. Isso padroniza a leitura e evita aquele relatório onde tudo parece igualmente urgente:
Faixa O que entra nela
Critical (Must Fix) bugs, falhas de segurança, risco de perda de dados, funcionalidade quebrada
Important (Should Fix) problemas de arquitetura, funcionalidade faltando, tratamento de erro ruim, lacunas de teste
Minor (Nice to Have) estilo de código, oportunidades de otimização, polimento de documentação

O erro comum de quem está começando é achar que a revisão precisa do histórico da sessão pra fazer sentido

É o contrário: ela roda em subagente justamente pra manter o diff e a avaliação FORA da janela de contexto da sessão principal, voltando só os achados

A sessão principal recebe o resultado, não o material bruto 😀

As instruções vivem no repositório, em skills/requesting-code-review/SKILL.md e skills/requesting-code-review/code-reviewer.md, então dá pra ler exatamente o que o revisor recebe

Quando acionar a revisão entre tarefas

A própria skill indica os momentos. Se liga no tipo de erro que cada um pega:

  • Depois de cada tarefa no fluxo dirigido por subagentes: pega o defeito enquanto ele ainda pertence a uma tarefa só, antes de virar base da próxima
  • Depois de features grandes: pega o problema de arquitetura que só aparece quando as peças da feature se encaixam
  • Antes do merge na main: pega o que ninguém quer descobrir depois, com o código já integrado ao tronco

E tem os opcionais:

  • Quando o trabalho travou: pega a premissa errada que está segurando o avanço, olhando o diff com outros olhos
  • Antes de refatorações: pega o problema que a refatoração ia carregar junto (e disfarçar)
  • Depois de correções de bug complexas: pega o efeito colateral que a correção introduziu longe do ponto do bug

A revisão em duas etapas do subagent-driven-development

Essa é a skill que orquestra o plano inteiro, e o princípio declarado dela é curtinho: subagente NOVO por tarefa, mais revisão em duas etapas

  1. Etapa 1: conformidade com a spec. O revisor pergunta se o que foi feito atende ao que o plano pedia
  1. Etapa 2: qualidade de código. Só depois que a conformidade passa é que entra a avaliação de qualidade
  1. A ordem é obrigatória. E a justificativa é declarada: não gastar revisão de qualidade em código que ainda nem atende aos requisitos. Faz sentido, né? Polir algo que vai ser reescrito é desperdício puro
  1. O loop roda até aprovar. O revisor aponta, o implementador corrige, o revisor revisa de novo, e isso se repete até o aval sair. Só então a próxima tarefa começa
  1. Subagentes nunca herdam o histórico da sessão principal. Cada um recebe apenas o contexto necessário pra sua tarefa

Essa última regra é a que dá independência ao julgamento, e é também o que muda o jogo na hora de descobrir qual agente errou quando o resultado final sai torto

O erro comum aqui é assumir que subagente é obrigatório. Não é: existe a skill executing-plans, que executa o plano na sessão atual, tarefa a tarefa, com checkpoints humanos

Ela serve pra plataformas sem suporte a subagentes ou pra quem simplesmente prefere uma sessão linear

Os arquivos dessa metodologia ficam em skills/subagent-driven-development/SKILL.md e skills/subagent-driven-development/code-quality-reviewer-prompt.md

systematic-debugging: as quatro fases da causa raiz

Revisar entre tarefas evita que o erro se espalhe. Mas e quando o bug JÁ está lá?

Aí entra o systematic-debugging, com um processo em quatro fases:

  1. Fase 1, Root Cause Investigation. É a fase mais exigente, e tem passos obrigatórios: ler as mensagens de erro e os stack traces, reproduzir o problema de forma confiável, checar commits, configuração e mudanças recentes de ambiente, e reunir evidência entre componentes
  1. Fase 2, Pattern Analysis. Olhar o problema como padrão, não como ocorrência isolada
  1. Fase 3, Hypothesis and Testing. Formular a hipótese e testar, em vez de aplicar o patch e torcer
  1. Fase 4, Implementation. A correção em si, que só chega aqui no fim

Duas coisas seguram o processo no lugar

A primeira é a Iron Law: nenhuma correção pode ser proposta antes de a Fase 1 estar completa. Achar a causa raiz vem SEMPRE antes de tentar consertar

A segunda é o root-cause-tracing, a técnica de seguir o bug de trás para frente pela call stack até encontrar o disparo original. É a diferença entre tratar o sintoma onde ele apareceu e tratar onde ele nasceu

E tem o freio: se três ou mais tentativas de correção falharem, o agente DEVE parar e questionar a arquitetura fundamental

Sem esse freio, o agente entra naquele ciclo de tentativa e erro que só engorda o diff

O erro comum de todo mundo (humano incluído, haha) é pular direto pra Fase 4 porque a hipótese parece óbvia demais pra ser errada

As instruções estão em skills/systematic-debugging/SKILL.md

Revisar no meio do caminho é diferente de revisar só no fim?

É diferente sim, e a diferença não é de gosto, é estrutural

Critério Revisão entre tarefas Revisão só no fim
Tamanho do diff pequeno e delimitado por commits tudo junto, difícil de varrer
Atribuição do erro vai pra tarefa que gerou fica ambígua entre várias mudanças
Custo da correção acontece antes de virar dependência mexe em código que outras partes já usam
Custo de execução mais rodadas de agente menos rodadas, achado mais tardio

Quando a revisão acontece entre as tarefas, o revisor avalia um pedaço pequeno, o erro é atribuído à tarefa que o produziu e o loop de correção roda ANTES de outra tarefa se apoiar no defeito

Quando ela acontece só no fim, o diff chega grande, a origem do problema fica ambígua e a correção precisa mexer em código que já virou dependência de outra coisa

Agora o contrapeso honesto: revisar a cada tarefa custa mais rodadas de agente e trava o avanço até a aprovação sair

Então o valor aparece em planos com várias tarefas encadeadas, onde um erro cedo contamina o resto

Pra mudança isolada de uma linha, isso é cerimônia demais

Como instalar o Superpowers no Claude Code

O Superpowers está disponível no marketplace oficial de plugins da Anthropic, então o caminho mais curto é esse:

  1. Instale pelo marketplace oficial, direto no Claude Code:
/plugin install superpowers@claude-plugins-official
  1. Se preferir o marketplace do próprio autor, adicione ele antes e instale depois:
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace

O erro comum deste passo é tentar instalar pelo segundo marketplace sem ter rodado o add antes. Sem adicionar a fonte, o install não tem de onde puxar

Vale registrar: é um projeto de terceiro, com licença MIT e sem custo de licença

Conclusão

O ganho do Superpowers aqui não é ter um revisor, isso qualquer um improvisa com um prompt

O ganho é ter revisão no PONTO certo do fluxo, delimitada por commits e feita por quem não herdou a narrativa da sessão, mais uma regra dura que proíbe consertar antes de entender

Se quiser experimentar, o caminho é: instalar pelo marketplace, aplicar o requesting-code-review logo depois da próxima tarefa de um plano (em vez de esperar o fim) e sentir a diferença no tamanho do diff que volta pra você

Depois vale explorar o resto do pacote, que traz brainstorming, test-driven-development com o ciclo red-green-refactor, using-git-worktrees, executing-plans e até a autoria de skills novas

E se você curte fuçar, o autor mantém repositórios complementares: obra/superpowers-skills, com skills editáveis pela comunidade, e obra/superpowers-lab, com as experimentais

Até o próximo post! =)

Perguntas frequentes

Como instalar o Superpowers no Claude Code?

O caminho mais direto é pelo marketplace oficial de plugins da Anthropic, com o comando /plugin install superpowers@claude-plugins-official. Também dá pra instalar pelo marketplace do próprio autor: primeiro /plugin marketplace add obra/superpowers-marketplace, depois /plugin install superpowers@superpowers-marketplace.

O Superpowers é gratuito?

Sim. É um projeto de terceiro, open source, com licença MIT e sem custo de licença, criado e mantido por Jesse Vincent (usuário obra no GitHub).

O que é a Iron Law do systematic-debugging?

É a regra dura que bloqueia qualquer proposta de correção antes de a Fase 1 (Root Cause Investigation) estar completa. Na prática, achar a causa raiz sempre vem antes de tentar consertar, o que evita o tentativa e erro que deixa rastro no código.

Dá para usar o Superpowers sem subagentes?

Dá sim, pela skill executing-plans, que executa o plano na própria sessão atual, tarefa a tarefa, com checkpoints humanos. É a opção indicada pra plataformas sem suporte a subagentes ou pra quem prefere uma sessão linear em vez do fluxo com revisão de código do Superpowers em subagente.

Quantas tentativas de correção falhas acionam o freio do systematic-debugging?

Três ou mais. Se três tentativas de correção falharem, o agente deve parar e questionar a arquitetura fundamental, em vez de seguir tentando ajustes pontuais.

Quem mantém o Superpowers e onde fica o repositório?

O Superpowers é criado e mantido por Jesse Vincent, o obra no GitHub, no repositório github.com/obra/superpowers. Ele também mantém repositórios complementares: superpowers-marketplace (marketplace curado), superpowers-skills (skills editáveis pela comunidade) e superpowers-lab (skills experimentais).



Escrito por | Matheus Battisti

Matheus Battisti
Fundador da Hora de Codar

Programador apaixonado pelo mundo das tecnologias, sempre buscando em aprender e se aprofundar em linguagens, frameworks e o que mais for necessário para executar um bom trabalho. Agora tem uma nova missão que é de passar seu conhecimento adiante para formar novos programadores e especializar mais os que já são.

Subscribe
Notify of
guest

0 Comentários
Oldest
Newest Most Voted

Formações

Formação Vibe Coding

Formação Vibe Coding

Do Prompt ao Produto: Crie Software Real com IA

  • 474 aulas
  • 20 projetos
  • 39h 27min

Blog | Mais populares