gate-before-done
Run the repository gate and read its real output before claiming any work is done, fixed, or passing. Use before saying "pronto", before committing, before opening a PR, and whenever a check goes red
SKILL.md.claude/skills/gate-before-done/SKILL.md
GitHubgate-before-done
"Verifiquei" é um comando, não uma impressão.
npx pnpm@11.18.0 gate # lint -> typecheck -> test -> secrets; para no primeiro vermelho
npx pnpm@11.18.0 gate --fast # lint + typecheck; loop de edição
pnpm não está no PATH da máquina de dev — sempre npx pnpm@11.18.0.
Três regras
--fastnão autoriza declarar pronto. Ele não roda teste nenhum.- Leia a saída. "Deve estar passando" não é evidência; a saída lida é.
- Exit 0 ou não passou. Não existe amarelo.
Vermelho: classifique antes de consertar
Antes de atribuir a falha ao seu diff, confirme que ela reproduz num estado limpo. Três armadilhas conhecidas deste repo se parecem exatamente com regressão real:
- Perfil fantasma "Visual Capture" — dev server ou captura visual entre
db:resetetest:dbquebra seis asserts de pgTAP (locality-profile-access,authz-*-matrix,full-regression)..visual/é gitignored, então grep no repo não acha nada. Correção:db:resetde novo, sem dev server e sem captura, depoistest:db. dev-server.pid/dev-server.logvelhos — apague e tente de novo.- Docker parado — comando Supabase exige
supabase startantes.
Classifique toda falha como: causada pelo meu diff / pré-existente / armadilha conhecida. Consertar o que não está quebrado é o modo de falha mais caro de um agente autônomo.
O que o gate não cobre
test:db, test:e2e e o loop visual não estão no gate (exigem Docker, banco em estado
específico, browser). Se o contrato pede prova de banco ou de tela, o gate verde é
necessário e insuficiente — veja a skill runtime-proof.