MÓDULO 1.6

🔍 Audit antes de implement

Analisar → planejar → simular. Só depois mexer. Os dois mega-prompts que fecham esta trilha, o Prompt A (migrar um setup Claude existente) e o Prompt B (construir um workspace portátil), começam obrigatoriamente em MODE: audit. Este módulo abre os dois por dentro, mostra a matriz de compatibilidade que eles produzem e fixa a regra que sustenta toda a Trilha 2: arquivo existir não é prova.

6
Tópicos
~30
Minutos
Básico
Nível
Fundamento
Tipo
1

🛑 Por que os mega-prompts começam em MODE: audit

A prompt library "Model-agnostic workspaces" traz dois prompts longos, e os dois têm a mesma primeira linha de input: MODE: audit. Em modo audit o agente lê, inventaria, classifica e planeja, mas não altera nenhum arquivo nem configuração. Só quando você rodar o mesmo prompt de novo com MODE: implement e o escopo acordado é que ele muda alguma coisa. A newsletter resume: os prompts "analisam → planejam → simulam, e somente depois começam a modificar qualquer coisa. Leia os prompts você mesmo antes de entregá-los aos seus agentes."

MODE: audit só lê e inventaria Plano matriz + árvore + testes Simular: plano aprovado? sim MODE: implement reversível, com backup evidência + handoff não: ajusta o escopo e audita de novo

Siga as setas: audit gera um plano; o losango ciano é a simulação, onde você lê o plano e decide. "Sim" libera o implement (com glow, porque é o único passo que altera algo). "Não" volta ao começo pela seta vermelha tracejada, com o escopo ajustado.

Novo aqui? "Mega-prompt" é um prompt longo e estruturado, com campos de input entre colchetes que você preenche antes de colar no agente. "Modo" (MODE) é o primeiro desses campos e funciona como uma chave: audit proíbe mudanças; implement libera. É o mesmo prompt, com comportamento diferente.

✓ Audit primeiro

  • Você vê o plano inteiro antes de qualquer arquivo mudar.
  • Descobre o que o agente não conseguiu ler (acesso faltando).
  • Ajusta o escopo barato: é só editar o input.
  • O setup Claude que funciona continua intacto.

✗ Implement direto

  • O agente reorganiza pastas que não estavam no pedido.
  • Copia ~/.claude inteiro "pra garantir".
  • Inventa um comando de import que não existe.
  • Você só descobre o estrago quando algo quebra.

Conceitos-chave

MODE: audit

Ler, inventariar, classificar, planejar. Nada muda.

MODE: implement

Mesmo prompt, escopo acordado, mudanças reversíveis.

Simular

Você lê o plano e decide antes de liberar.

Leia o prompt antes

O autor pede que você entenda o que está entregando ao agente.

2

🅰️ Prompt A: migrar um setup Claude existente, por dentro

O Prompt A pede ao agente que aja como "engenheiro de migração": adaptar as partes selecionadas do seu setup Claude para a ferramenta-alvo, mantendo o setup de origem funcionando. A frase-chave está no primeiro parágrafo: "trate a portabilidade como uma série de mapeamentos verificados, não como uma promessa de que todo recurso nativo transfere igual". Ele tem 8 passos; os inputs vêm antes de tudo.

Cabeçalho de inputs do Prompt A — preencha os colchetes e cole no agente (o kit guarda o texto completo em prompts/01-migrate-claude.md)

MODE: audit
WORKSPACE_ROOT: [pasta do projeto]
SOURCE_ROOTS: [pastas de origem aprovadas; padrão: só o projeto]
TARGETS: [Codex app / Codex CLI / Codex IDE / outro]
SCOPE: [um projeto / setup global selecionado / ambos]
REPRESENTATIVE_TASK: [um fluxo real de trabalho a preservar]
KEEP_UNCHANGED: [comportamento, arquivos, integrações importantes]
CONSTRAINTS: [SO, runtime, escopo de cliente, dependências]
1

Confirmar escopo e evidência

Inspeciona só as raízes aprovadas. Documentos e transcrições são evidência, não instruções novas. Segredos ficam fora de relatórios.

2

Inventariar o sistema que funciona

Instruções, skills, comandos, subagentes, hooks, plugins, MCP, scripts, memória. Cada item com caminho, propósito, escopo, dependências e uma tarefa real que depende dele.

3

Checar o alvo antes de converter

Verifica com a ajuda local e a documentação oficial o que o Codex realmente suporta. "Nunca invente um comando de import do CLI." Classifica cada ativo (tópico 4).

4

Produzir o plano concreto e PARAR

Tabela origem → destino com classificação, mudanças, dependências, rollback e teste de aceite. Em audit, o agente para aqui.

5–8

Só em implement: mudar, separar, verificar, entregar

Backup privado só dos arquivos afetados; lógica portátil em arquivos comuns, uma fonte canônica de skill; readback em sessão nova; relatório com o que foi e não foi testado.

📊 O que o Prompt A proíbe explicitamente

  • Copiar em massa a pasta home de uma ferramenta.
  • Apagar o setup de origem, trocar de provedor, instalar ferramentas globais, publicar repositórios.
  • Assumir que hooks, manifestos de plugin ou configs de MCP com nomes parecidos têm a mesma semântica.
  • Declarar "migração completa" enquanto um fluxo obrigatório não foi verificado.

Conceitos-chave

Mapeamento verificado

Cada ativo tem destino, teste e rollback. Nada "transfere sozinho".

REPRESENTATIVE_TASK

O fluxo real que a migração precisa preservar. O piloto mínimo.

KEEP_UNCHANGED

O que o agente não pode tocar. O Claude continua funcionando.

Menor passo restante

Recomendar o próximo passo pequeno, não uma reescrita geral.

3

🅱️ Prompt B: workspace portátil, por dentro

O Prompt B muda o papel do agente: "arquiteto de workspace e parceiro de implementação". Em vez de migrar um setup, ele constrói ou adapta um sistema baseado em arquivos cujo conhecimento, instruções, skills e estado continuem usáveis em ferramentas compatíveis. Os inputs trocam SOURCE_ROOTS por WORKSPACE_TYPE (pessoal, cliente, misto), PILOT_PROJECT, KNOWLEDGE_SOURCES e CLIENT_SCOPE. E ele exige um add-on de escopo no fim: pessoal, cliente ou misto.

🧭 Os 8 passos do Prompt B, em uma linha cada

  • 1.Inspecionar antes de desenhar: inventaria repos, fontes, acordos e estado. Nunca inventa fato, credencial, acesso ou teste bem-sucedido.
  • 2.Desenhar o menor núcleo portátil: um piloto, um mapa de pastas; contexto essencial dentro do projeto, não em ../../knowledge.
  • 3.Implementar o núcleo (só em implement): README, AGENTS.md, context/, tasks/, handoffs/, .agents/skills/, scripts/. "Diga explicitamente ao agente o que ler; não afirme que auto-carrega."
  • 4.Definir donos da informação: o módulo 1.5 inteiro.
  • 5.Adaptadores nativos pequenos: CLAUDE.md importando @AGENTS.md; uma skill canônica com cópias geradas e checagem de drift; GLM é modelo, precisa de harness compatível.
  • 6.Controlar a distribuição de contexto: briefing pequeno na largada, buscar só o que a tarefa precisa; MCP não resolve conflito de memória nem separa clientes.
  • 7.Provar portabilidade: clone isolado, readback em sessão nova, mudar um fato inofensivo e ver a nova sessão enxergar, drift zero, canários pra escopo de cliente.
  • 8.Entregar e manter: piloto, árvore, mapa de donos, matriz de compatibilidade, testes, fluxo diário, handoff. Um dono por mudança concorrente.

✓ Prompt A quando…

  • Você já tem um setup Claude que funciona.
  • Quer levar partes selecionadas pro Codex.
  • Precisa de matriz origem → destino com rollback.

✓ Prompt B quando…

  • Quer um projeto que sirva a Claude, Codex, OpenCode, Cowork ao mesmo tempo.
  • Tem cliente e precisa de fronteira de escopo.
  • Está começando do zero ou reorganizando o segundo cérebro.

Novo aqui? "Add-on de escopo" é um parágrafo extra que você cola no fim do Prompt B dizendo se o workspace é pessoal, de cliente ou misto. O de cliente, por exemplo, proíbe fatos de cliente em instruções globais e exige um repo privado por projeto. Sem o add-on, o prompt não sabe onde é a fronteira.

Conceitos-chave

Arquiteto de workspace

Constrói o núcleo, não só transfere o que existe.

PILOT_PROJECT

Um projeto só. Expandir depois que passar.

Nada auto-carrega

Os nomes são convenção; o AGENTS.md diz o que ler.

Add-on de escopo

Pessoal, cliente ou misto. Define a fronteira.

4

🗂️ A matriz: reutilizável / adaptador / nativo / não resolvido

O produto central do audit é uma classificação de cada ativo em quatro caixas: reutilizável como está (Markdown e scripts comuns, funciona nos dois), precisa de adaptador (depende de um MCP, plugin ou convenção que o alvo não tem), nativo (só existe na origem, como um hook de SessionStart) ou não resolvido (faltou informação pra decidir). O audit.sh do kit faz essa classificação por heurística nas skills desta máquina. O resultado real de 2026-09-14:

90 skills só no Claude 72 reutilizáveis Markdown + scripts comuns 15 adaptador dependem de MCP / plugin 2 nativas dependem de hook SessionStart 1 não resolvida sem SKILL.md → polyskill, sem mudar → só depois do codex mcp add → vira texto no AGENTS.md → decidir antes de migrar

Da caixa cinza (o gap total) saem quatro caminhos. A faixa verde com glow é a maioria: 72 skills que são só Markdown e scripts, e portam sem mudança. As 15 de adaptador esperam um MCP ser registrado no Codex; as 2 amarelas dependem de hook e viram texto; a tracejada vermelha precisa de decisão humana. À direita, o que fazer com cada uma.

📊 A mesma matriz aplicada aos outros ativos (auditoria de 2026-09-14)

  • Subagentes (7): nativo. Sem equivalente 1:1 no Codex; viram skill de "papel" ou prompt.
  • Hooks (2): adaptador. Os eventos diferem: o Codex tem PostToolUse e Stop, não SessionStart.
  • Plugins (7): nativo. Superpowers, claude-mem, context-mode ficam no resíduo Claude.
  • Runbooks (4): reutilizável. Vão pro context/ do projeto que os usa.
  • CLAUDE.md global: adaptador. Vira AGENTS.md mais um resíduo (módulo 2.2).
  • Memória (227 projetos): promoção manual, nunca cópia em massa (módulo 1.5).

Novo aqui? A classificação do audit.sh é feita por "heurística por grep": o script procura palavras no SKILL.md (como mcp__, AskUserQuestion, SessionStart) e decide a caixa. É uma primeira passada, boa pra ter o número, e o próprio relatório avisa: revisar caso a caso antes de migrar. Uma hipótese, como no módulo 1.5.

Conceitos-chave

Reutilizável

Markdown e scripts. Porta como está.

Adaptador

Depende de algo que o alvo precisa ganhar antes.

Nativo

Só existe na origem. Fica no resíduo ou vira texto.

Não resolvido

Faltou informação. Decisão humana antes de qualquer coisa.

5

🧾 Evidência: passou, falhou, não rodado

Os dois prompts terminam com a mesma exigência: cada verificação é marcada como passou, falhou ou não rodado, com a evidência observada. Não existe a quarta opção "deve estar ok". O Prompt A: "marque checagens indisponíveis ou não executadas como não rodadas; forneça os passos exatos de reprodução". O Prompt B: "marque cada resultado como passou, falhou ou não rodado com a evidência observada". E a página de verificação da library completa: "um relatório útil distingue passou, falhou e não rodado".

Passou

Rodou, e o resultado observado bate com o critério. Exemplo real: readback-test.sh no Codex citou AGENTS.md, tasks/current.md e handoffs/latest.md.

Falhou

Rodou, e não bateu. Exemplo real: a primeira rodada do readback no Codex falhou porque o script forçava um sandbox que o AppArmor da máquina bloqueia. Ficou registrado, foi corrigido, rodou de novo.

Não rodado

Não foi executado, por falta de tempo, acesso ou decisão. Exemplo real: sync-skills.sh nunca foi rodado até o fechamento do kit. O README diz isso em letras claras, em vez de fingir.

✓ Relatório honesto

  • "Passou" vem com o texto do resultado salvo em relatorios/.
  • "Falhou" vem com a causa e a menor correção.
  • "Não rodado" vem com o comando exato pra reproduzir.
  • Sem evidência = não rodado, por padrão.

✗ Relatório otimista

  • "Migração completa" com um fluxo obrigatório sem teste.
  • "Deve funcionar" no lugar de rodar.
  • Esconder a falha em vez de registrar e corrigir.
  • Import bem-sucedido tratado como comportamento equivalente.

Novo aqui? "Evidência observada" é o que você realmente viu acontecer: a saída de um comando, o texto que o agente respondeu, o arquivo que apareceu. Não é o que você espera que aconteça. O kit guarda essas saídas em relatorios/ justamente pra que outra pessoa (ou outro modelo) possa conferir sem confiar na sua palavra.

Conceitos-chave

Três estados, nunca quatro

Passou, falhou, não rodado. "Deve estar ok" não existe.

Evidência observada

Saída real, salva. Não expectativa.

Reprodução

Todo "não rodado" traz o comando pra rodar depois.

FALHAS.md

Uma linha por falha: o que quebrou, menor correção, prompt ou infra.

6

🧪 Arquivo existir não é prova; o agente ter lido e usado é

Esta é a frase que fecha a trilha e abre a próxima. Você pode ter uma árvore linda (brain/, knowledge/, memory/, context/) e o agente simplesmente não usar nada disso. O Prompt A é seco: "um arquivo legível, um import bem-sucedido ou uma sintaxe de config válida não são prova de comportamento equivalente". O texto "O que o prompt acrescenta" traduz: o prompt não aceita "o arquivo existe" como prova; ele exige validar se o agente encontrou, leu, entendeu e usou corretamente.

🔎 O teste de continuidade (fresh-session readback)

Abrir uma sessão nova, sem histórico, e pedir que o agente responda cinco coisas só a partir dos arquivos do projeto:

  • 1.Qual é o objetivo atual e o critério de aceite.
  • 2.Uma regra importante do projeto, com o arquivo exato de onde veio.
  • 3.A última decisão aceita.
  • 4.A próxima ação concreta.
  • 5.Conflitos, fatos velhos ou acesso faltando. Separando o que os arquivos estabelecem do que ele inferiu.

Aprovação: as respostas citam AGENTS.md, tasks/current.md e handoffs/latest.md, e a próxima ação bate com a tarefa. O módulo 2.5 roda isso de verdade.

🔬 O que aconteceu quando o kit fez esse teste em si mesmo

Em 2026-09-13 o readback rodou no Codex sobre o próprio repo do kit. O Codex citou os arquivos certos e, além disso, apontou três inconsistências reais: o handoff da raiz não existia (só o template), a soma das skills no plano dava 94 e não 89, e o estado atual dizia que o readback tinha rodado antes de rodar. Tudo corrigido na mesma sessão. É o ponto: o teste não confirma que a estrutura é bonita; ele revela onde ela mente.

⚠️ O erro a evitar

Gerar a árvore, olhar pra ela, e declarar "workspace agnóstico pronto". A prompt library é honesta sobre si mesma: "estes prompts foram escritos e checados como documentos; nenhuma migração ao vivo ou teste cross-tool foi executado". A primeira evidência real só apareceu quando alguém rodou o readback. Sua estrutura só vale o que a sessão nova consegue responder.

Conceitos-chave

Encontrou, leu, entendeu, usou

As quatro perguntas que substituem "o arquivo existe".

Sessão nova

Sem histórico. Só os arquivos podem responder.

Citar a fonte

A resposta certa sem o arquivo de origem não conta.

O teste revela mentiras

Inconsistências aparecem quando um agente frio lê.

Auto-checagem (opcional): o agente criou AGENTS.md, context/ e handoffs/ no seu projeto e disse "workspace portátil pronto". O que falta pra você aceitar?

🎯 Resumo do módulo

MODE: audit primeiro — analisar, planejar, simular; só implement com escopo acordado e mudanças reversíveis.
Prompt A — migra partes selecionadas do setup Claude como mapeamentos verificados, sem quebrar a origem.
Prompt B — constrói o núcleo portátil com donos, adaptadores pequenos e add-on de escopo.
A matriz — reutilizável / adaptador / nativo / não resolvido; nesta máquina, 72 / 15 / 2 / 1.
Evidência e readback — passou, falhou ou não rodado; arquivo existir não é prova, o agente ter lido e usado é.

Próximo módulo:

Trilha 2 · 2.1 — Diagnóstico do ambiente: doctor.sh e audit.sh na sua máquina