| name | llm-verification |
| description | verificação independente e adversarial de uma task DEPOIS que o DoD está todo verde, antes de declarar "feito"; ativa ao fechar qualquer task técnica, ao responder "deu ok?" / "verifica de novo", ou quando alguém confunde "verde no DoD" com "concluído de verdade" |
Skill: llm-verification
DoD todo verde não é o mesmo que "feito de verdade". O verde mede proxy (teste passou, lint passou, coverage ≥80%); ele não prova que a intenção da task foi atendida. Esta skill é a passada final que fecha esse buraco.
Princípio central: uma re-verificação só agrega se for ortogonal à anterior. Repetir a mesma checagem reproduz o mesmo ponto cego e só serve de teatro. Não basta "+1x igual" — precisa ser de natureza diferente, adversarial.
Trigger
- Ao fechar qualquer task técnica com AC mensurável (depois de lint/unit/E2E verdes, antes do commit/PR).
- Quando o usuário pergunta "deu ok?", "verifica de novo", "tudo foi realmente feito?".
- Sempre que houver tentação de declarar concluído só porque o DoD ficou verde.
Steps
- Releia a intenção, não o diff. Abra a AC original da task e cole cada critério lado a lado com o resultado entregue. Para cada um, aponte a evidência concreta que o sustenta — não "deve estar ok".
- Troque a lente. Pare de perguntar "tá ok?" (a IA racionaliza o "sim") e pergunte "onde isto quebra?". Liste no mínimo 3 hipóteses de falha.
- Exercite a coisa de verdade. Rode o binário/endpoint/UI real — não só a suíte. Inclua deliberadamente 1 cenário de borda e 1 caminho de erro (input vazio, valor extremo, dependência fora, concorrência).
- Cace o que o verde não cobre. Verifique se: a AC foi interpretada torta, o teste testa a coisa errada, a suíte só cobre golden path, há efeito colateral fora do diff.
- Garanta independência. Se a passada usar a mesma lente de quem escreveu, ela não conta. Busque ângulo diferente — delegue a um sub-agent sem o contexto de autoria, ou aos reviewers (
reviewer.agent.md, security-reviewer).
- Registre o resultado adversarial. Anote no PR/
PROGRESS.md o que você tentou quebrar e o que aguentou. Sem isso, a verificação não aconteceu.
Padrões
- "+1x igual" é teatro. A passada só conta se mudar de ângulo/lente em relação à anterior.
- Verde no DoD ≠ feito. O DoD mede sintoma; valide contra a intenção.
- Nunca formule como confirmação. "Deu ok?" enviesa pro "sim". Formule sempre como busca de defeito: "onde falha?".
- Não existe 100% absoluto. O alvo é risco residual aceitável com evidência, não certeza.
- Verificação independente > auto-verificação. Revisor fresco pega o que o autor não vê.
Definition of Done
Exemplo
Task: "CLI deve aceitar --model e cair pro default quando ausente."
Verde no DoD: unit cobre --model=x e ausência -> default. Tudo passa.
Passada adversarial (ortogonal):
- hipótese 1: --model="" (string vazia, não ausente) -> cai no default? -> NÃO, crasha. BUG.
- hipótese 2: --model com espaço " gpt " -> trim? -> não trata. risco.
- hipótese 3: --model repetido duas vezes -> qual vence? -> indefinido.
Registro: 1 bug real (string vazia) que o golden-path-only não pegou.
=> task NÃO estava feita, apesar do verde.
Notas
- Esta skill é a operacionalização do item de DoD "Verificação independente/adversarial pós-verde" (ver
AGENTS.md / CLAUDE.md).
- Última revisão: 2026-05-27.