ll-skills 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +105 -0
  3. package/agents/ll-implementador.md +23 -0
  4. package/bin/install.js +475 -0
  5. package/hooks/ll-skills-check-update.js +157 -0
  6. package/package.json +38 -0
  7. package/skills/ll-atualizar/SKILL.md +68 -0
  8. package/skills/ll-decidir-antes/SKILL.md +81 -0
  9. package/skills/ll-decidir-antes/referencias/protocolo-entrevista.md +112 -0
  10. package/skills/ll-decidir-antes/referencias/template-spec.md +238 -0
  11. package/skills/ll-desarmar/SKILL.md +254 -0
  12. package/skills/ll-desarmar/referencias/execucao-adversarial.md +217 -0
  13. package/skills/ll-desarmar/referencias/humanos-e-substitutos.md +116 -0
  14. package/skills/ll-desarmar/referencias/placar-e-realimentacao.md +140 -0
  15. package/skills/ll-orquestrar/SKILL.md +100 -0
  16. package/skills/ll-pesquisar/SKILL.md +159 -0
  17. package/skills/ll-pesquisar/referencias/frente-de-pesquisa.md +147 -0
  18. package/skills/ll-pesquisar/referencias/sintese-e-fontes.md +148 -0
  19. package/skills/ll-pesquisar-mercado/SKILL.md +112 -0
  20. package/skills/ll-pesquisar-mercado/referencias/dossie.md +375 -0
  21. package/skills/ll-pesquisar-mercado/referencias/indice-e-fechamento.md +122 -0
  22. package/skills/ll-pesquisar-mercado/referencias/padroes-de-pesquisa.md +149 -0
  23. package/skills/ll-verificar-entrega/SKILL.md +73 -0
  24. package/skills/ll-verificar-entrega/referencias/briefs-auditoria.md +291 -0
  25. package/skills/ll-voltar-do-futuro/SKILL.md +239 -0
  26. package/skills/ll-voltar-do-futuro/referencias/anti-padroes-e-fundamentos.md +201 -0
  27. package/skills/ll-voltar-do-futuro/referencias/vetores-e-testes.md +228 -0
@@ -0,0 +1,149 @@
1
+ # Padrões de pesquisa — obrigatório para quem escreve um documento do dossiê
2
+
3
+ Este arquivo define o formato do documento, o vocabulário de confiança, como buscar e citar, os vieses que corrompem o resultado e o portão que o documento atravessa antes de ser aceito. Vale para qualquer documento do dossiê.
4
+
5
+ ---
6
+
7
+ ## 1. Esqueleto padrão de qualquer documento
8
+
9
+ Nome do arquivo em **kebab-case descritivo** (`analise-concorrentes.md`, `panorama-de-precos-mercado.md`). Um assunto por arquivo — se o arquivo precisa de dois resumos executivos, são duas pesquisas.
10
+
11
+ ```markdown
12
+ # Título
13
+
14
+ **Data:** AAAA-MM-DD
15
+ **Contexto/Escopo:** uma linha sobre o projeto e o recorte desta pesquisa
16
+ **Natureza:** (quando o documento é neutro) ex.: "mapa neutro; NÃO recomenda preço"
17
+
18
+ ## Resumo executivo
19
+ Um a dois parágrafos com os números e a conclusão. Quem lê só isto decide.
20
+ O resumo só pode conter números que aparecem no corpo com fonte.
21
+
22
+ ## Nota de método
23
+ - Data e forma da pesquisa; o que foi verificado diretamente
24
+ - Legenda de confiança (tabela abaixo)
25
+ - Limitações declaradas: fontes bloqueadas ao crawler, amostras autosselecionadas,
26
+ dados proprietários, o que ficou pendente de coleta manual
27
+ - Políticas de leitura, quando aplicável (ex.: descontos "de/por" permanentes são
28
+ reportados pelo preço efetivamente cobrado)
29
+
30
+ ## [Seções de conteúdo — tabelas com FONTE POR LINHA]
31
+
32
+ ## Síntese: achado → implicação
33
+ Tabela de duas colunas. É o que conecta pesquisa a decisão; sem ela o documento é
34
+ enciclopédico.
35
+
36
+ ## O que foi procurado e NÃO encontrado
37
+ Lista numerada, cada item com o motivo: não existe / bloqueado / proprietário /
38
+ só por contato direto.
39
+
40
+ *Rodapé: data de produção, validade dos dados, o que reverificar antes de decidir.*
41
+ ```
42
+
43
+ ## 2. Legenda de confiança
44
+
45
+ | Marca | Significado |
46
+ |---|---|
47
+ | ✅ | verificado em fonte primária/oficial nesta data |
48
+ | ⚠️ | via snippet, agregador ou fonte secundária — estimativa confiável |
49
+ | 📅 | dado histórico (ano indicado) — pode estar obsoleto |
50
+ | **[N]** | procurado e **não encontrado** |
51
+ | *(itálico)* | inferência ou estimativa **desta pesquisa**, não dado de terceiro |
52
+
53
+ A marca vai **na linha da tabela ou colada ao número**, nunca em nota de rodapé genérica: a confiança precisa viajar junto com o dado quando alguém copiar a linha para um slide.
54
+
55
+ ## 3. Força de evidência — o vocabulário do dossiê inteiro
56
+
57
+ | Rótulo | Critério | Como usar |
58
+ |---|---|---|
59
+ | **FORTE** | Estudo publicado + replicação + experimento de campo ou dado de larga escala | Pode desenhar em cima; ainda assim, meça |
60
+ | **MODERADA** | Estudo original sólido com replicação parcial ou mista, ou dado de empresa não auditado | Use com instrumentação desde o dia 1 |
61
+ | **FRACA** | Blogs, vendedores da própria solução, benchmarks sem metodologia auditável | Reporte com a ressalva explícita; não fundamente decisão |
62
+ | **HIPÓTESE** | Raciocínio plausível sem evidência direta | Vira item do plano de teste, não do plano de produto |
63
+ | **REFUTADO / NÃO REPLICA** | Efeito famoso que falhou em replicação com estímulos realistas | Não conte com ele |
64
+
65
+ Duas heurísticas que tornam o rótulo operacional:
66
+
67
+ - **Quando a evidência é fraca, o argumento real costuma ser outro e melhor.** Separe "o benchmark diz 12%" (FRACA) de "comprador ≠ lead, e há literatura sólida de sunk cost e pain of paying" (FORTE).
68
+ - **Nomeie o estudo, o ano e o desenho** — "experimento de campo com catálogos", "n=13 mil autodeclarado", "dado de plataforma com ~115 mil apps". Sem isso o rótulo é decoração.
69
+
70
+ Seções inteiras podem receber um rótulo de qualidade: *"Qualidade geral da evidência nesta seção: FRACA."*
71
+
72
+ ## 4. Regras de evidência
73
+
74
+ - **Todo número tem fonte linkada e data.** Sem link, o número não entra.
75
+ - Distinga sempre quatro naturezas: **dado verificado**, **projeção de terceiro**, **estimativa desta pesquisa** e **inferência estrutural**. Escreva assim: *"a triangulação bottom-up sugere R$ X — estimativa desta pesquisa, não dado."*
76
+ - **Preferência revelada vence preferência declarada.** Preço efetivamente pago, taxa de abandono, pirataria, lista de espera, longevidade do produto no mercado valem mais que qualquer survey de intenção.
77
+ - **Triangule.** Duas fontes independentes que convergem (idealmente por métodos diferentes) elevam a confiança; se divergem, a divergência é o achado e aparece no texto.
78
+ - **Avaliação de fonte:** CRAAP (*Currency, Relevance, Authority, Accuracy, Purpose* — Blakeslee, CSU Chico, 2004) é o piso, e é insuficiente sozinho: checagem vertical dentro da própria página não basta (crítica de Wineburg / Stanford History Education Group). Complemente com **leitura lateral** — saia da página e verifique quem é a fonte por fora. Pergunte sempre: **quem se beneficia deste número?** Associação setorial infla mercado; vendedor de solução infla benchmark de conversão; agregador de cupons costuma estar desatualizado.
79
+ - **Claim de vendedor não auditado** ("20 mil alunos", "98% de satisfação") é categoria própria: reporte como claim, com atribuição, nunca como fato.
80
+
81
+ ## 5. Como buscar
82
+
83
+ **Ordem de valor das fontes:**
84
+
85
+ 1. Fonte primária do próprio player — página de preço, planos, changelog, central de ajuda, termos de uso.
86
+ 2. Dado oficial/estatal — órgãos oficiais, publicações governamentais, registros públicos.
87
+ 3. Censos e relatórios setoriais com metodologia declarada (registre n, método de amostragem e quem financiou).
88
+ 4. Imprensa de negócios com números atribuídos (aportes, receita, aquisições).
89
+ 5. Comunidades e reviews — para dor e sentimento, com verbatim e link. Reviews de 1 a 3 estrelas são ouro.
90
+ 6. Agregadores e blogs — último recurso, sempre com ⚠️.
91
+
92
+ **Formulação:** consultas específicas em vez de genéricas ("preço plano [player] 2026", "[player] receita aporte"), no idioma do mercado-alvo **e** em inglês para analogias internacionais. Busque explicitamente o contrário da tese ("por que [categoria] não funciona", "reclamações [player]", "[método] crítica replicação"). Busque a **ausência**: se três consultas bem formuladas não acham um número, ele vira `[N]`.
93
+
94
+ **Empirismo — sempre que for barato.** Existe endpoint? Chame. Existe arquivo público? Baixe e processe uma amostra real. Existe custo de processamento? Meça, em vez de estimar. Existe página de preço? Abra (e registre o 403 — o bloqueio é informação). Dá para rodar o pipeline inteiro em pequena escala por poucos reais? Rode. Custo típico: horas e centavos; retorno: uma coluna inteira de estimativas vira fato, e às vezes a conclusão se inverte.
95
+
96
+ **Como citar:** link inline no ponto do dado, nunca bibliografia solta no fim; data de acesso no cabeçalho. Modelos de linguagem fabricam referências acadêmicas com frequência, e a maior parte das citações alucinadas é invenção total, não corrupção parcial — **nenhuma referência acadêmica entra sem que o título tenha sido conferido em busca**. Encontrar uma página que menciona um estudo não é o mesmo que confirmar o estudo. Se não foi possível abrir a fonte, o dado desce para ⚠️ ou vira `[N]`.
97
+
98
+ ## 6. Independência anti-ancoragem
99
+
100
+ **Um documento cuja conclusão você já tem na cabeça não é pesquisa, é justificação.**
101
+
102
+ - Cada pesquisa roda em contexto próprio. Isso não é economia de tokens — é isolamento de viés: um agente que acabou de escrever "o vazio de mercado está na faixa X" vai encontrar evidências de que a faixa X é ótima.
103
+ - Não leia os outros documentos do dossiê, exceto as dependências declaradas explicitamente no seu brief.
104
+ - Documento marcado como neutro declara no cabeçalho que não recomenda nada, e a declaração é auditável: recomendação no corpo invalida o documento.
105
+ - Em pesquisa primária: randomize a ordem das perguntas, nunca revele limites ou expectativas, e pergunte por fatos específicos do passado em vez de hipóteses de futuro.
106
+
107
+ ## 7. Vieses e armadilhas, com mitigação
108
+
109
+ ### Vieses cognitivos
110
+
111
+ | Viés | Como aparece | Mitigação |
112
+ |---|---|---|
113
+ | **Ancoragem** | Um preço, tamanho de mercado ou concorrente visto primeiro contamina todo o resto; âncoras arbitrárias deslocam disposição a pagar em ordens de magnitude | Pesquisa de preço independente e sem tese; ordem randomizada em surveys; nunca revelar limites; nas entrevistas, não dizer seu número |
114
+ | **Confirmação** | Buscar e lembrar o que sustenta a ideia; ignorar o contrário | Buscar explicitamente a tese oposta; escrever "tensões documentadas" com evidência forte dos dois lados |
115
+ | **Disponibilidade** | O concorrente mais anunciado vira "o mercado"; o caso lembrado vira frequência | Enumerar por categoria antes de aprofundar; buscar a cauda longa; contar, não lembrar |
116
+ | **Sobrevivência** | Estudar só quem deu certo e concluir que a categoria funciona | Procurar ativamente os mortos — produtos descontinuados, pivôs, categorias que queimaram reputação — e o que os matou |
117
+ | **Desejabilidade social** | O entrevistado elogia a ideia para ser gentil | Fatos do passado, nunca hipóteses; não apresentar a ideia antes; elogio não conta como sinal |
118
+ | **Excesso de otimismo** | SOM de 10–20% chamado de "conservador"; CAC otimista; adoção rápida | Bottom-up obrigatório; reverse income statement; comparar com taxas reais da categoria |
119
+ | **Enquadramento** | A forma da pergunta produz a resposta ("você pagaria R$ 30?") | Perguntas abertas primeiro; Van Westendorp em vez de "quanto pagaria"; medir comportamento |
120
+ | **Custo afundado do próprio dossiê** | Depois de 40 páginas, é difícil concluir "não vale a pena" | Critérios de kill definidos antes; o dossiê pode terminar em "não" |
121
+
122
+ ### Armadilhas metodológicas
123
+
124
+ | Armadilha | Sintoma | Mitigação |
125
+ |---|---|---|
126
+ | **Vanity TAM** | Número gigante de relatório setorial usado como mercado endereçável | TAM do beachhead, bottom-up, com premissas nomeadas |
127
+ | **Média que esconde a distribuição** | "Gasto médio de R$ 2 mil/ano" quando 64% gastam menos de R$ 1,5 mil | Reportar a distribuição; a média de uma cauda longa é ficção |
128
+ | **Unidade de contagem errada** | Inscrições confundidas com pessoas; contas com usuários; downloads com clientes | Declarar a unidade em toda cifra e nomear a diferença |
129
+ | **Preço de tabela vs. praticado** | Descontos "de/por" permanentes tratados como promoção | Política declarada na nota de método; reportar o preço efetivamente cobrado |
130
+ | **Feature-listing** | Matriz de concorrentes com 40 features e nenhuma conclusão | Matriz por capacidade da categoria (4–7 colunas) e coluna "onde para" |
131
+ | **Claim de marketing como capacidade** | "IA adaptativa" marcada como Sim na matriz | Três níveis: verificado em uso / documentado publicamente / apenas alegado |
132
+ | **Fonte bloqueada virando silêncio** | A comunidade mais importante estava bloqueada e o doc não menciona | Registrar o bloqueio na nota de método e agendar coleta manual |
133
+ | **Conclusão sem teste** | "Vamos cobrar R$ X" derivado de leitura | Decisão em aberto + método empírico + métrica definida antes |
134
+ | **Pesquisa que envelhece em silêncio** | Documento de 8 meses citado como atual | Data no cabeçalho, validade no rodapé, caveat cruzado no índice |
135
+ | **Síntese que vira opinião** | O resumo executivo afirma mais do que as seções sustentam | O resumo só contém números que aparecem no corpo com fonte |
136
+ | **Referência acadêmica alucinada** | Estudo citado com autor e ano que não existem | Conferir o título em busca antes de citar; sem confirmação, rebaixar ou remover |
137
+
138
+ ## 8. Portão de qualidade por documento
139
+
140
+ Percorra item a item antes de entregar. O documento está pronto quando:
141
+
142
+ - [ ] Tem data, escopo e resumo executivo que **decide sozinho**, com os números incluídos.
143
+ - [ ] Tem nota de método com limitações declaradas e a legenda de confiança.
144
+ - [ ] **Todo número tem fonte linkada e marca de confiança na própria linha.**
145
+ - [ ] Estimativas próprias estão em itálico e rotuladas, distinguidas de dados de terceiros.
146
+ - [ ] Tem a seção "o que foi procurado e NÃO encontrado", com o motivo de cada item.
147
+ - [ ] Termina em tabela **achado → implicação**.
148
+ - [ ] Não recomenda nada, se o cabeçalho o declarou neutro.
149
+ - [ ] Não contém especificação de features, arquitetura, roadmap ou wireframe.
@@ -0,0 +1,73 @@
1
+ ---
2
+ name: ll-verificar-entrega
3
+ description: Auditoria de contexto limpo de uma entrega concluída — verificadores que nunca viram o raciocínio da implementação rodam os comandos de aceite da SPEC um a um, conferem cada decisão contra o código com arquivo:linha e confrontam o relatado com o real, produzindo VERIFICACAO.md com veredicto APROVADA / APROVADA COM RESSALVAS / REPROVADA. Use quando alguém pedir para verificar, auditar ou revisar uma entrega ou implementação concluída, conferir se o agente realmente terminou, validar se a SPEC foi implementada, checar marcos marcados como prontos ou revisar o trabalho de um agente autônomo longo.
4
+ ---
5
+
6
+ # verificar-entrega
7
+
8
+ Um implementador autônomo declarou pronto. Esta skill decide se está. Ela audita, nunca conserta: falha encontrada vira achado com evidência e, quando é estrutural, vira decisão nova para `ll-decidir-antes` — nunca patch silencioso desta sessão.
9
+
10
+ **O relato do implementador é a ré, não a testemunha.** A primeira passada é cega ao `PROGRESS.md`, ao diário e a qualquer justificativa de quem implementou: os verificadores recebem apenas o `SPEC.md`, o repositório e o código entregue. Só depois de o veredicto independente estar formado é que o relato entra — e a divergência entre o relatado e o real é achado de primeira classe, não nota de rodapé. Isso existe porque o auto-relato de agentes degrada com o tempo de execução: em execuções longas, o "passes: true" é a afirmação menos confiável do repositório.
11
+
12
+ Entregável: `docs/spec-<slug>/VERIFICACAO.md`, ao lado da spec auditada.
13
+
14
+ ## Fase 0 — Enquadramento
15
+
16
+ Localize `SPEC.md` e `PROGRESS.md` (padrão: `docs/spec-*/`). Sem SPEC, vá para o modo degradado no fim deste arquivo.
17
+
18
+ Numa única troca com o usuário, feche: **o que é a entrega** (todos os marcos ou um subconjunto) e **o recorte de código** (branch, range de commits, worktree). Delimite o range agora — `git log --oneline` e `git diff --stat` do recorte são insumo dos verificadores. Nada mais é perguntado até o veredicto.
19
+
20
+ Leia o `SPEC.md` inteiro nesta sessão: §2 invariantes, §3 decisões, §4 critérios, §5 escopo negativo e pendências, §6 marcos com o estado `passes`, §7 protocolo. Você precisa dele para montar os briefs; os verificadores o leem por conta própria.
21
+
22
+ Enquanto isso, **não abra o `PROGRESS.md` nem `decisoes/`**. Guarde-os para a fase 2 — ler o relato antes de ver o resultado ancora o veredicto exatamente no lugar que esta skill existe para evitar.
23
+
24
+ ## Fase 1 — Auditoria em camadas, em contexto limpo
25
+
26
+ Delegue as três camadas a subagentes paralelos, cada um com contexto limpo. Leia `referencias/briefs-auditoria.md` agora: ele traz os três briefs prontos, o contrato de saída de cada um e o esqueleto do relatório. Roteamento: camada (a) é mecânica (Sonnet, esforço baixo); (b) é adversarial e é onde um defeito perdido vai para produção (Opus); (c) é varredura contra critérios explícitos (Sonnet).
27
+
28
+ - **(a) Mecânica — os comandos.** Roda TODOS os comandos de verificação da §4 e da §6, um a um, literalmente como escritos, e registra exit code e saída real. Sem substituir comando por equivalente, sem inferir resultado. Marco com `passes: true` cujo comando falha é a violação mais grave do repositório.
29
+ - **(b) Contrato — as decisões.** Cada DEC-NNN e ASS-NNN da §3 conferida contra o código com `arquivo:linha`: implementada, contornada, ou re-decidida silenciosamente? Invariantes MUST/NEVER da §2 varridos um a um. Escopo negativo da §5a: o que foi construído fora dele? Assunções escaladas quando a evidência as contradizia?
30
+ - **(c) Integridade do processo.** O histórico do próprio contrato: critérios de aceite ou testes editados, afrouxados ou deletados durante a execução sem DEC-P correspondente; commits fora do padrão da §7; `decisoes/DEC-P-NNN.md` ainda `AGUARDANDO HUMANO` cuja pergunta o código respondeu sozinho.
31
+
32
+ Regras que valem para as três camadas e vão em todo brief:
33
+
34
+ - Cobertura total com rótulo, filtragem depois. Cada item da spec recebe um veredicto — **CONFORME**, **FALHA** ou **NÃO VERIFICÁVEL** — e o relatório lista os três. "Verificado e conforme", item a item, é resultado; "não encontrei nada" dito claramente também.
35
+ - **NÃO VERIFICÁVEL** carrega o porquê e o que seria necessário (serviço no ar, credencial, fixture ausente, comando que não existe). Nunca vira CONFORME por plausibilidade.
36
+ - Achado exige `arquivo:linha` ou saída de comando colada. Sem evidência, é hipótese — e hipótese entra como AVISO, marcada como tal.
37
+ - Nenhum verificador edita código, testes, a spec ou o estado dos marcos.
38
+
39
+ ## Fase 2 — Confronto relato × real
40
+
41
+ Com os três veredictos em mãos, só então abra `PROGRESS.md`, o diário e `decisoes/`. Confronte:
42
+
43
+ - marcos declarados `passes: true` cujos comandos falharam ou não rodam;
44
+ - diário afirmando verde em comando que o verificador viu vermelho;
45
+ - decisões "two-way" registradas na §5b que na verdade contradizem uma decisão da §3 ou um invariante da §2;
46
+ - pendências e DEC-P tratadas como resolvidas sem resposta do humano;
47
+ - trabalho relatado sem contraparte no código, e código sem contraparte no relato.
48
+
49
+ Cada divergência entra no relatório com as duas versões lado a lado: **relatado** (citação do PROGRESS.md) × **real** (evidência do verificador).
50
+
51
+ ## Fase 3 — Relatório e veredicto
52
+
53
+ Escreva `docs/spec-<slug>/VERIFICACAO.md` no esqueleto de `referencias/briefs-auditoria.md`. Vocabulário fechado de severidade:
54
+
55
+ | Rótulo | Significado |
56
+ |---|---|
57
+ | **BLOQUEIA ENTREGA** | comando de aceite falha, invariante violado, decisão da §3 contrariada, ou marco `passes: true` sem comando passando |
58
+ | **DIVERGÊNCIA DE CONTRATO** | o entregue difere do combinado sem violar invariante: escopo extrapolado, decisão re-decidida com resultado defensável, critério editado, relato × real |
59
+ | **AVISO** | risco observado, dívida, item NÃO VERIFICÁVEL, hipótese sem evidência dura |
60
+
61
+ O veredicto global é mecânico, não julgamento: qualquer BLOQUEIA ENTREGA → **REPROVADA**; nenhum BLOQUEIA mas algum DIVERGÊNCIA ou NÃO VERIFICÁVEL → **APROVADA COM RESSALVAS**; todos os critérios e marcos CONFORME → **APROVADA**.
62
+
63
+ Feche com a lista de pendências que realimenta `ll-decidir-antes`: cada falha estrutural — a que exige escolher de novo, não corrigir — vira uma decisão a ser tomada, com as opções e o custo de cada uma. Falha local (teste quebrado, bug pontual) fica como item de correção, sem virar decisão.
64
+
65
+ Apresente ao usuário, em poucas linhas: o veredicto, a contagem por severidade, os BLOQUEIA ENTREGA nomeados, e as decisões que sobraram para ele — com a sugestão de rodar `ll-decidir-antes` sobre elas se houver mais de uma estrutural. Você entrega o relatório e para aqui.
66
+
67
+ ## Modo degradado — sem SPEC.md
68
+
69
+ Sem contrato escrito, a verificação é mais fraca e isso é declarado, não disfarçado.
70
+
71
+ Reconstrua a definição de pronto: extraia do pedido original, dos testes existentes e do README o que se pode inferir, e leve ao usuário numa única rodada de perguntas o que ficou ambíguo — critério que duas pessoas poderiam ler diferente não serve de oráculo. Registre os critérios reconstruídos no topo do `VERIFICACAO.md`, com a origem de cada um (inferido / confirmado pelo usuário), e a nota de que a auditoria vale contra eles e não contra um contrato acordado antes do código.
72
+
73
+ Rode as camadas (a) e (b) contra esses critérios; a camada (c) cai — sem spec versionada não há integridade de processo a auditar. Feche sugerindo `ll-decidir-antes` para a próxima entrega, para que a verificação seguinte tenha um oráculo em vez de uma reconstrução.
@@ -0,0 +1,291 @@
1
+ # Briefs dos verificadores e esqueleto do relatório
2
+
3
+ Leitor: o agente da skill `ll-verificar-entrega`, na fase 1. Abaixo, os três briefs prontos para despachar (preencha os `<placeholders>` com os caminhos e o range fechados na fase 0), o contrato de saída de cada camada e o esqueleto do `VERIFICACAO.md`.
4
+
5
+ Os verificadores não veem a conversa nem uns aos outros: cada brief é autossuficiente. Despache os três em paralelo, numa única mensagem.
6
+
7
+ ---
8
+
9
+ ## Bloco comum — cole em todo brief
10
+
11
+ <regras-comuns>
12
+ Você audita, não conserta. Nenhuma edição de código, teste, spec ou estado de marco;
13
+ nenhum commit. Encontrou defeito: reporte com evidência e siga.
14
+
15
+ Você NÃO abre `PROGRESS.md`, o diário de execução, `decisoes/` nem mensagens de
16
+ commit como justificativa. O relato de quem implementou não é insumo do seu
17
+ veredicto — quem confronta relato com realidade é a sessão que te despachou, depois
18
+ de receber o seu resultado. Suas fontes são o SPEC.md, o repositório e o que os
19
+ comandos devolvem.
20
+
21
+ Cobertura completa, com rótulo — a filtragem é feita depois de você. Todo item do
22
+ seu escopo recebe um veredicto:
23
+ - CONFORME — evidência de que está como a spec exige.
24
+ - FALHA — evidência de que não está.
25
+ - NÃO VERIFICÁVEL — você não conseguiu decidir. Diga o porquê e o que seria
26
+ necessário (serviço no ar, credencial, fixture, comando inexistente). Nunca
27
+ promova a CONFORME por plausibilidade.
28
+
29
+ Todo achado carrega evidência dura: `arquivo:linha` ou a saída do comando colada.
30
+ Sem evidência dura é hipótese — reporte assim mesmo, rotulada `hipótese`.
31
+ "Verifiquei e está conforme", item a item, é resultado válido; um relatório sem
32
+ falhas é um resultado, não um fracasso seu.
33
+ </regras-comuns>
34
+
35
+ ---
36
+
37
+ ## Camada (a) — mecânica: os comandos
38
+
39
+ Modelo: Sonnet, esforço baixo. É execução literal e transcrição fiel.
40
+
41
+ <brief-mecanica>
42
+ Você é o verificador mecânico de uma entrega de software. Roda os comandos de
43
+ verificação que o contrato de entrega define e registra o que eles realmente
44
+ devolvem.
45
+
46
+ Contexto: um agente autônomo implementou `<caminho>/SPEC.md` ao longo de dias e
47
+ declarou a entrega pronta. O auto-relato desse tipo de execução degrada com o
48
+ tempo, então nada é aceito por declaração. Seu resultado é a base factual de uma
49
+ auditoria que decide se a entrega é aprovada.
50
+
51
+ Dados:
52
+ - Contrato: `<caminho>/SPEC.md` — leia a §4 (critérios de aceite) e a §6 (marcos)
53
+ na íntegra; a §7 traz o comando de sanidade.
54
+ - Repositório: `<raiz do repo>`, recorte `<branch/range>`.
55
+
56
+ Instruções:
57
+ 1. Rode o comando de sanidade da §7 primeiro e registre o baseline.
58
+ 2. Rode TODOS os comandos de verificação da §4 e da §6, um a um, na ordem em que
59
+ aparecem, exatamente como escritos. Comando que não roda como escrito é
60
+ NÃO VERIFICÁVEL com o motivo — não o substitua por equivalente, não o ajuste,
61
+ não o divida.
62
+ 3. Para cada comando registre: o comando literal, o exit code, e as linhas da
63
+ saída que sustentam o veredicto (o resumo de testes, o status HTTP, a mensagem
64
+ de erro). Comando que falha é repetido uma vez, para separar instabilidade de
65
+ falha real; os dois resultados entram.
66
+ 4. Confronte o resultado com o campo `passes` de cada marco da §6, lido como está
67
+ escrito no arquivo. Marco `passes: true` cujo comando não passa nesta execução
68
+ é o achado de maior severidade que existe: nomeie-o explicitamente.
69
+
70
+ Contrato de saída (markdown, nesta ordem):
71
+ - `## Sanidade` — comando, exit code, veredicto.
72
+ - `## Critérios (§4)` — tabela: ID | comando literal | exit code | evidência (≤2
73
+ linhas da saída) | CONFORME/FALHA/NÃO VERIFICÁVEL.
74
+ - `## Marcos (§6)` — tabela: marco | passes declarado | comandos | resultado real
75
+ | CONFORME/FALHA/NÃO VERIFICÁVEL.
76
+ - `## Marcos declarados prontos que não passam` — lista, ou "nenhum".
77
+ - `## Ambiente` — o que precisou existir para os comandos rodarem e o que faltou.
78
+
79
+ Limites: não escreva nem edite arquivo algum do repositório; não instale
80
+ dependências nem suba serviços além do que a §7 prescreve como sanidade — o que
81
+ faltar vira NÃO VERIFICÁVEL com o requisito nomeado.
82
+
83
+ Critérios de sucesso: todo comando das §4 e §6 aparece na sua saída com exit code
84
+ real; nenhum veredicto vem de leitura de código no lugar de execução.
85
+
86
+ <regras-comuns aqui>
87
+ </brief-mecanica>
88
+
89
+ ---
90
+
91
+ ## Camada (b) — contrato: as decisões e os invariantes
92
+
93
+ Modelo: Opus. É a camada adversarial, onde um defeito perdido vai para produção.
94
+
95
+ <brief-contrato>
96
+ Você é o verificador de contrato de uma entrega de software. Confere, decisão por
97
+ decisão, se o código entregue é o que foi acordado — e nomeia onde ele divergiu.
98
+
99
+ Contexto: antes do código, o dono do projeto e um agente fecharam um contrato de
100
+ decisões (`SPEC.md`, §2 invariantes e §3 decisões). Um implementador autônomo
101
+ rodou por dias com essa spec como única fonte. O modo de falha conhecido dessas
102
+ execuções é o implementador re-decidir sob atrito — encontra resistência no
103
+ código, escolhe outro caminho e segue sem escalar. Seu trabalho é achar essas
104
+ re-decisões silenciosas, que passam despercebidas justamente porque o código
105
+ funciona.
106
+
107
+ Dados:
108
+ - Contrato: `<caminho>/SPEC.md` — §2 (invariantes MUST/NEVER), §3 (decisões
109
+ DEC-NNN e assunções ASS-NNN, cada uma com escolha, porquê, alternativa rejeitada
110
+ e entregáveis nomeados), §5a (escopo negativo).
111
+ - Repositório: `<raiz do repo>`, recorte `<branch/range>`. Use
112
+ `git diff --stat <range>` para ver o que a entrega tocou.
113
+
114
+ Instruções:
115
+ 1. Para cada DEC-NNN e ASS-NNN da §3: abra os entregáveis que ela nomeia e
116
+ classifique com `arquivo:linha` — IMPLEMENTADA (o código faz o que a decisão
117
+ escolheu); CONTORNADA (o código atende à letra mas frustra o porquê declarado);
118
+ RE-DECIDIDA (o código faz outra coisa, em geral a alternativa rejeitada);
119
+ AUSENTE (o entregável não existe). Decisão marcada CONTRA A RECOMENDAÇÃO do
120
+ dono é conferida com o mesmo rigor: o risco aceito não é seu para revisar.
121
+ 2. Para cada invariante da §2: procure violações no recorte inteiro, não só nos
122
+ entregáveis. Invariante NEVER exige varredura ativa (grep pelo que é proibido),
123
+ não leitura passiva.
124
+ 3. Escopo negativo (§5a): o que foi construído que a spec mandou não construir?
125
+ Cite `arquivo:linha`.
126
+ 4. Assunções ASS-NNN: cada uma declara "escalar se <condição>". A condição
127
+ ocorreu? Se ocorreu e a assunção seguiu em pé sem escalada, é achado.
128
+ 5. Liberdades da §5b: decisões tomadas dentro delas são legítimas — verifique
129
+ apenas que ficaram dentro, sem invadir a §3.
130
+
131
+ Contrato de saída (markdown):
132
+ - `## Decisões (§3)` — uma entrada por DEC/ASS: ID | classificação | evidência
133
+ `arquivo:linha` | o que o código faz, em uma frase | CONFORME/FALHA/NÃO
134
+ VERIFICÁVEL.
135
+ - `## Invariantes (§2)` — um por linha: ID | como varreu (comando/grep) | achados
136
+ com `arquivo:linha` | veredicto.
137
+ - `## Escopo negativo (§5a)` — construído fora do escopo, com evidência, ou
138
+ "nada encontrado".
139
+ - `## Assunções que deveriam ter sido escaladas` — lista, ou "nenhuma".
140
+ - `## Hipóteses` — suspeitas sem evidência dura, rotuladas.
141
+
142
+ Limites: você não julga se a decisão foi boa — julga se foi cumprida. Não proponha
143
+ refatoração, não corrija código, não edite a spec.
144
+
145
+ Critérios de sucesso: toda DEC-NNN, ASS-NNN e todo invariante da spec aparecem na
146
+ sua saída com veredicto e evidência; nenhuma entrada fica sem `arquivo:linha` ou
147
+ sem um motivo explícito de NÃO VERIFICÁVEL.
148
+
149
+ <regras-comuns aqui>
150
+ </brief-contrato>
151
+
152
+ ---
153
+
154
+ ## Camada (c) — integridade do processo
155
+
156
+ Modelo: Sonnet. Varredura contra critérios explícitos, sobre o histórico do repo.
157
+
158
+ <brief-integridade>
159
+ Você audita a integridade do processo de uma entrega de software: se o contrato
160
+ que está sendo verificado hoje é o mesmo que foi acordado antes do código.
161
+
162
+ Contexto: a spec `<caminho>/SPEC.md` é append-only depois de aprovada, e os
163
+ critérios de aceite e testes dela são intocáveis pelo implementador (invariante
164
+ I-02 típico): critério errado é motivo de escalada, nunca de edição. A ambiguidade
165
+ que aparece em voo vira um arquivo `decisoes/DEC-P-NNN.md` com status AGUARDANDO
166
+ HUMANO. O modo de falha que você procura é o oráculo mutilado — o implementador
167
+ que afrouxou o teste, editou o critério ou respondeu sozinho a própria pergunta e
168
+ seguiu.
169
+
170
+ Dados:
171
+ - `<caminho>/SPEC.md` e o histórico dele: `git log -p --follow -- <caminho>/SPEC.md`.
172
+ - `<caminho>/decisoes/` (os arquivos DEC-P, se existirem).
173
+ - Repositório `<raiz do repo>`, recorte `<branch/range>`; §7 do SPEC.md traz o
174
+ protocolo de execução com as regras de commit e escalada.
175
+
176
+ Instruções:
177
+ 1. Histórico da spec após a aprovação: toda mudança que não seja acréscimo
178
+ append-only (entrada nova, supersede explícito, `passes: false` → `true`) é
179
+ achado. Critério de aceite reescrito, comando de verificação afrouxado, marco
180
+ removido: cite o commit e o diff.
181
+ 2. Testes e fixtures no recorte: procure teste deletado, `skip`/`only`/`xfail`
182
+ adicionado, asserção afrouxada, timeout inflado, mock que substituiu integração
183
+ real. Compare com o baseline do início do recorte. Cite `arquivo:linha` e o
184
+ commit.
185
+ 3. `decisoes/DEC-P-NNN.md`: para cada um com status AGUARDANDO HUMANO, procure no
186
+ código se a pergunta foi respondida na prática. Pergunta aberta implementada é
187
+ achado — decisão one-way tomada em silêncio.
188
+ 4. Pendências da §5c: cada uma tem dono e marco. As de dono "humano" foram
189
+ tratadas como resolvidas sem resposta? As de dono "implementador" foram
190
+ cumpridas (por exemplo, promovidas a critério com comando)?
191
+ 5. Commits do recorte contra a §7: unidades pequenas e descritivas, ou um despejo
192
+ final? Houve force push, rebase que reescreveu histórico, migração destrutiva
193
+ ou ação irreversível que nenhum marco autorizava?
194
+
195
+ Contrato de saída (markdown):
196
+ - `## Mudanças na spec após aprovação` — commit | trecho | append-only? | veredicto.
197
+ - `## Oráculo mutilado` — testes/critérios enfraquecidos, com `arquivo:linha` e
198
+ commit, ou "nada encontrado".
199
+ - `## DEC-P e pendências` — ID | status declarado | o que o código mostra |
200
+ veredicto.
201
+ - `## Higiene de commits e ações irreversíveis` — achados com hash, ou
202
+ "conforme a §7".
203
+
204
+ Limites: não reverta nada, não recrie testes deletados, não edite a spec. Você
205
+ descreve o que aconteceu com o contrato, com o commit como prova.
206
+
207
+ Critérios de sucesso: cada uma das cinco frentes acima aparece na saída, com
208
+ achados citando commit e `arquivo:linha` ou com um "nada encontrado" explícito.
209
+
210
+ <regras-comuns aqui>
211
+ </brief-integridade>
212
+
213
+ ---
214
+
215
+ ## Esqueleto do VERIFICACAO.md
216
+
217
+ Escrito pela sessão principal na fase 3, a partir dos três resultados e do
218
+ confronto da fase 2. Ordem fixa: o veredicto primeiro — é o que o usuário lê.
219
+
220
+ <template>
221
+ # VERIFICAÇÃO — <nome da spec> — <data>
222
+
223
+ **Veredicto: <APROVADA | APROVADA COM RESSALVAS | REPROVADA>**
224
+
225
+ Auditado: `<caminho>/SPEC.md` · recorte `<branch/range>` · <N> commits.
226
+ Camadas: mecânica, contrato, integridade — todas em contexto limpo, sem acesso ao
227
+ PROGRESS.md na formação do veredicto.
228
+
229
+ | Severidade | Qtd |
230
+ |---|---|
231
+ | BLOQUEIA ENTREGA | <n> |
232
+ | DIVERGÊNCIA DE CONTRATO | <n> |
233
+ | AVISO | <n> |
234
+
235
+ Critérios: <n> CONFORME · <n> FALHA · <n> NÃO VERIFICÁVEL.
236
+ Em uma frase: <o que a entrega faz de fato e o que falta para estar pronta>.
237
+
238
+ ## 1. Critérios de aceite
239
+
240
+ | ID | Comando | Saída real | Veredicto |
241
+ |---|---|---|---|
242
+ | CA-03 | `npm test -- import.spec.ts -t "linha inválida"` | exit 1 — `2 failing: expected 401, got 500` | FALHA |
243
+ | CA-07 | `curl -s -o /dev/null -w "%{http_code}" localhost:3000/api/v1/reports` | `401` | CONFORME |
244
+
245
+ ## 2. Marcos
246
+
247
+ | Marco | passes declarado | Verificação real | Veredicto |
248
+ |---|---|---|---|
249
+ | M2 — Categorização | true | `npm test -- categorize.spec.ts` → exit 1 | FALHA |
250
+
251
+ ## 3. Achados
252
+
253
+ Um bloco por achado, do mais grave ao menos:
254
+
255
+ ### A-01 · BLOQUEIA ENTREGA · M2 marcado pronto com suíte vermelha
256
+ - Evidência: `npm test -- categorize.spec.ts` → exit 1, `3 failing`
257
+ (`src/import/categorize.ts:44`).
258
+ - Contrato ferido: §6 M2; §7 item 5 (`passes: true` só com comando passando).
259
+ - Consequência: o marco seguinte foi construído sobre base vermelha.
260
+
261
+ ### A-02 · DIVERGÊNCIA DE CONTRATO · DEC-004 re-decidida
262
+ - Evidência: `src/services/contact-identity.ts:120` normaliza in place.
263
+ - Contrato ferido: DEC-004 escolheu coluna canônica ao lado; in place é a
264
+ alternativa rejeitada, pela trilha de auditoria.
265
+ - Consequência: <o que quebra ou fica em risco>.
266
+
267
+ ## 4. Relatado × real
268
+
269
+ | Relatado no PROGRESS.md | Real | Severidade |
270
+ |---|---|---|
271
+ | "M2: `categorize.spec.ts` verde; passes: true" (2026-08-22) | exit 1, 3 failing | BLOQUEIA ENTREGA |
272
+
273
+ ## 5. Não verificável
274
+
275
+ | Item | Por que | O que seria necessário |
276
+ |---|---|---|
277
+ | CA-09 | serviço de e-mail não sobe no ambiente | credencial SMTP de sandbox ou fixture de fila |
278
+
279
+ ## 6. Conforme
280
+
281
+ Lista enxuta do que foi verificado e está de acordo — critérios, invariantes,
282
+ decisões, escopo negativo. Item a item, sem prosa.
283
+
284
+ ## 7. Pendências
285
+
286
+ **Decisões para o dono** (realimentam `ll-decidir-antes` — escolha, não correção):
287
+ - D-01 — <a pergunta em uma linha>. Opções: A) <custo> B) <custo>. Origem: A-02.
288
+
289
+ **Correções** (falhas locais, sem decisão nova):
290
+ - C-01 — <o que corrigir>. Origem: A-01.
291
+ </template>