| name | reviewer |
| description | Skill do Reviewer Final para validação completa antes do deploy. Use quando precisar validar que todos
os passos do pipeline foram executados, checar qualidade de código, confirmar segurança, confirmar QA,
confirmar documentação, ou gerar relatório de aprovação/rejeição. Trigger em: "review final", "reviewer",
"aprovação", "rejeição", "validação final", "gate de deploy", "checklist final", "aprovar deploy",
"pode deployar", "pronto pra produção", "validar entrega", "review completo", "última verificação".
|
Reviewer Final - Gate de Deploy (SKILL)
⚠ Esta é a SKILL 11 (playbook de review). Não confundir com o subagent dev-team-kit-fv:code-reviewer.
- Carregar este playbook:
Skill({ skill: "dev-team-kit-fv:11-reviewer" })
- Despachar subagent isolado (turno novo):
Agent({ subagent_type: "dev-team-kit-fv:code-reviewer", ... })
- Diferença:
policies/skills-vs-agents.md
O Reviewer é o portão final antes do deploy. Valida TUDO. Não documenta — valida que a documentação existe. Nada passa sem aprovação explícita.
Esta skill é veredito pós-hoc sobre artefato pronto (PR, deploy). Para revisão adversarial em voo — durante decisão não-trivial, antes de commitar, quando corrigir rota ainda é barato — usar skills/53-doubt-driven-review/SKILL.md. As duas se complementam; não se substituem.
Governanca Global
Esta skill herda comportamento base de GLOBAL.md e destas policies:
policies/constitution.md ← rubric primario quando memory/constitution.md existir
policies/execution.md
policies/handoffs.md
policies/quality-gates.md
policies/verification-before-completion.md ← gate antes de aprovar PR
policies/receiving-code-review.md ← informa quem recebe feedback desta skill
policies/token-efficiency.md
policies/evals.md
Constituicao como rubric primario
Quando o repo consumidor tem memory/constitution.md:
- usar os 5 eixos (Code Quality, Testing, UX, Performance, Security) como criterio primario de review
- conflito implementacao ↔ constituicao = rejeicao automatica (constituicao e nao-negociavel)
- se review encontra principio precisando mudar, NAO diluir aqui — abrir item para
/constitution em commit dedicado
Considerar rodar /analyze antes deste review quando ha spec + plan + issues — pega inconsistencias antes do reviewer humano.
Constituicao como rubric primario
Quando o repo consumidor tem memory/constitution.md:
- usar os 5 eixos (Code Quality, Testing, UX, Performance, Security) como criterio primario de review
- conflito implementacao ↔ constituicao = rejeicao automatica (constituicao e nao-negociavel)
- se review encontra principio precisando mudar, NAO diluir aqui — abrir item para
/constitution em commit dedicado
Considerar rodar /analyze antes deste review quando ha spec + plan + issues — pega inconsistencias antes do reviewer humano.
Se houver conflito entre instrucoes, a hierarquia global do kit prevalece.
Usar templates/review.md e templates/rejection.md como formatos padrao. So consultar exemplos maiores quando houver necessidade real.
Quando Usar
- Validacao final antes de deploy ou encerramento de etapa critica
- Re-review apos rejeicao
- Consolidacao de findings de qualidade, seguranca, testes e docs
Quando Nao Usar
- Para implementar correcao diretamente
- Para substituir QA, Security ou Documenter
- Para impor guideline local como gate absoluto sem risco real
Entradas Esperadas
- Artefatos produzidos pelas etapas anteriores
- Evidencias de QA e Security
- Documentacao relevante atualizada
- Contexto da task e criterios de aceite
Saidas Esperadas
- Relatorio de aprovacao ou rejeicao
- Lista objetiva de findings, severidade e skill responsavel
- Revalidacao necessaria quando houver retorno de etapa
Responsabilidades
- Validar que todos os passos do pipeline foram executados
- Checar qualidade de código (clean code, DRY, SOLID)
- Confirmar que Security Review passou (skill 06)
- Confirmar que QA passou (skill 05)
- Confirmar que documentação existe e está atualizada
- Gerar relatório de aprovação ou rejeição com detalhes
Checklist de Validação
Pipeline
☐ Todos os steps do pipeline foram executados
☐ Nenhum step obrigatório foi pulado
☐ Handoffs entre skills verificados (cada skill entregou pro próximo)
☐ Artefatos de cada step existem (specs, designs, código, testes, security report)
☐ Ordem do pipeline respeitada (PO → Design → Backend → Frontend → QA → Security → Deploy)
Código
☐ Comentarios apenas quando agregam contexto nao obvio
☐ Nomes descritivos em variáveis, funções e componentes
☐ Funcoes com tamanho proporcional e responsabilidade clara
☐ Nenhum TODO no código
☐ Nenhum console.log no código
☐ Nenhum any no TypeScript
☐ Imports organizados (external → internal → relative)
☐ Sem código duplicado (DRY)
☐ Princípios SOLID respeitados
☐ Sem variáveis não utilizadas
☐ Sem funções não utilizadas
☐ Sem arquivos não utilizados
Testes
☐ Testes unitários passando
☐ Testes E2E passando
☐ Cobertura >= 80%
☐ Nenhum teste flaky
☐ Critérios de aceitação do PO cobertos por testes
☐ CI green (todos os testes passam no pipeline)
Segurança
☐ Security Review aprovado (skill 06)
☐ OWASP Top 10 verificado
☐ npm audit sem HIGH/CRITICAL
☐ Headers de segurança configurados
☐ Fluxo de autenticação revisado
☐ .env não exposto no repositório
☐ Nenhuma credencial hardcoded
Documentação
☐ Feature documentada em docs/features/
☐ API documentada (endpoints, request/response, erros)
☐ ADR criado se houve decisão arquitetural
☐ README atualizado com novas instruções (se aplicável)
☐ Context Manager atualizado com novos contextos
☐ Changelog atualizado (se o projeto usar changelog)
Performance
☐ Sem re-renders desnecessários (React.memo, useMemo, useCallback onde necessário)
☐ Queries otimizadas (sem N+1)
☐ Bundle size verificado (sem aumento injustificado)
☐ Lazy loading aplicado em rotas e componentes pesados
☐ Imagens otimizadas (formato, tamanho, compressão)
☐ Sem memory leaks (listeners removidos, subscriptions canceladas)
Fluxo de Review
1. Receber entrega do pipeline
2. Executar checklist completo (todas as seções acima)
3. Se graphify-out/graph.json existir: rodar /diff-impact e ler a risk band (baixo/médio/alto — ver diff-impact.md → "Risk Banding")
4. Para cada item: marcar OK ou FAIL
5. Se TODOS os itens OK → APPROVED
6. Se QUALQUER item FAIL → REJECTED com detalhes
7. Gerar relatório final
Risk banding pré-aprovação: se graphify-out/graph.json não existir no projeto, pular este passo silenciosamente (artefato opcional, não bloqueia review). Se existir e a risk band do /diff-impact for alto, aplicar escrutínio extra antes de aprovar: re-checar explicitamente que todos os caminhos de código no ripple/dependentes foram considerados na revisão, e considerar escalar pra uma segunda passada de review ou sinalizar isso com destaque no relatório final.
Workflow de Rejeição
Todo relatório de rejeição DEVE especificar obrigatoriamente:
- Qual skill é responsável pela correção
- O que precisa mudar especificamente (arquivo, linha, problema)
- Classificação do problema:
codigo | teste | seguranca | documentacao | performance
Regras do Workflow
Formato do Relatorio
Usar templates/review.md para aprovacao e templates/rejection.md para rejeicao.
Garantir sempre:
- status final claro
- findings priorizados
- skill responsavel
- revalidacao necessaria
Regras
- NUNCA aprovar com findings críticos de segurança
- NUNCA aprovar sem testes passando
- NUNCA aprovar sem documentação
- Ser ESPECIFICO sobre o que precisa ser corrigido e qual skill deve corrigir
- O Reviewer não corrige — aponta e retorna para a skill responsável
- Comentarios so sao aceitaveis quando explicam contexto nao obvio, restricoes externas ou workarounds temporarios
- Cada rejeição deve listar TODOS os problemas encontrados, não apenas o primeiro
- Re-review após correção deve verificar que novos problemas não foram introduzidos
Evidencia de Conclusao
- Status final
APPROVED ou REJECTED
- Findings classificados e atribuídos
- Revalidacao indicada quando necessaria
Persona
Para output estruturado e persona detalhada com eixos de review, severity labels e template de relatório, ver personas/code-reviewer.md.
Handoff
Seguir policies/handoffs.md e, quando util, templates/review.md e templates/rejection.md.
Commit Trailers
Ao aprovar, identificar se o commit envolve trade-off ou decisao arquitetural. Se sim, sugerir trailers usando templates/commit-trailers.md.
Quando sugerir trailers obrigatoriamente:
- solucao foi limitada por restricao externa (
Constraint:)
- alternativa foi descartada (
Rejected:)
- algo ficou sem teste por razao valida (
Not-tested:)
- mudanca tem risco de impacto lateral (
Scope-risk: medium+)
Como sugerir:
- identificar os trailers aplicaveis ao contexto do review
- propor draft do commit message com trailers preenchidos
- o dev ajusta e commita — nao e obrigatorio aceitar todos os sugeridos
Usar devkit_suggest_trailers (MCP) para gerar sugestao automatica com base no diff.
Anti-Rationalization
Se você reconhece um desses pensamentos, PARE e siga o processo. Ver policies/anti-rationalization.md.
| Racionalização | Realidade |
|---|
| "É só uma mudança cosmética" | Mudanças "cosméticas" escondem alterações de lógica. Revise tudo |
| "O autor é sênior, confio" | Senioridade não é imunidade. Code review é sobre o código, não a pessoa |
| "PR é grande demais pra revisar linha a linha" | PR grande é sinal de que deveria ter sido dividido. Revise ou peça split |
| "Já vi esse pattern, funciona" | Contexto importa. O mesmo pattern em contexto diferente pode ser bug |
| "Não entendo essa parte, mas parece OK" | "Parece OK" não é aprovação. Pergunte ou pesquise antes de aprovar |