agentsclimarketplace

Debug

Skill tbc-servicos/dataagile-agent-kit/fluig/skills/debug

Plugin Claude Code para Protheus e ADVPL/TLPP — base 155k+ registros, Agent Teams, compilação TDS-CLI, testes TIR e MCP PO-UI

Install
npx -y skills add tbc-servicos/dataagile-agent-kit --skill debug

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Debugging sistemático para Fluig. Guia investigação de root cause em 4 fases: reproduzir, investigar, hipótese, corrigir com teste. Usa logs Docker, Playwright traces, Karma output.

SKILL.md

6.6 KB, as published. Nobody here has run it

Você vai conduzir um debugging sistemático de erros encontrados em artefatos Fluig.

Fluxo de Debugging em 4 Fases

O debugging segue 4 fases obrigatórias em sequência. Não pule para "corrigir" sem antes completar reprodução, investigação e hipótese.


Fase 1 — Reproduzir o Erro

Passo 1a — Obter descrição exata do erro

Pergunte ao usuário:

  • Qual é o erro exato observado? (mensagem, comportamento inesperado, falha silenciosa)
  • Em qual cenário ocorre? (ao carregar formulário, ao submeter dados, ao filtrar dataset)
  • É reproduzível consistentemente ou intermitente?
  • Em qual ambiente? (localhost, servidor HML, servidor de teste)

Passo 1b — Reproduzir localmente ou no servidor

Se é erro em localhost (Karma, servidor local):

npm test   # Execute Karma/Jasmine para reproduzir
# Ou
npm start  # Inicie ng serve e reproduza no navegador

Verifique:

  • Console do navegador (F12) — há erros JavaScript?
  • Output do Karma — qual teste falhou e com que mensagem?

Se é erro no servidor deployado (HML ou teste):

# Leia o CLAUDE.md do projeto para obter o hostname do servidor.
# Via SSH na VPS
ssh [hostname] "docker logs fluig --tail 100 2>&1"

Procure por:

  • Stack trace no stdout
  • Exceções Java (se Fluig logging capturar)
  • Timing de quando o erro ocorreu

Passo 1c — Coletar evidências do erro

  • Captura de tela ou vídeo do comportamento (se no navegador)
  • Stack trace completo (copie do console ou dos logs)
  • Playground trace do Playwright (se teste E2E falhou) — verifique test-results/ ou playwright/traces/
  • Versão do artefato, servidor e ambiente

Fase 2 — Investigar

Passo 2a — Coletar logs relevantes

Logs Docker (servidor Fluig):

# Leia o CLAUDE.md do projeto para obter o hostname do servidor.
ssh [hostname] "docker logs fluig --since 10m 2>&1 | tail -200"

Procure por:

  • Timestamp próximo ao momento do erro
  • Linhas com ERROR, WARN, Exception
  • Stack traces Java completos

Logs do Karma (localhost):

npm test 2>&1 | tee test.log
# Revise test.log para output completo

Playwright traces:

# Se o teste E2E deixou trace
ls -la test-results/
# Abra o trace no Playwright Inspector
npx playwright show-trace test-results/*.trace

Passo 2b — Revisar mudanças recentes

git diff HEAD~5..HEAD [arquivo do artefato]
# Ou para ver todo o histórico do arquivo
git log -p --follow [arquivo] | head -100

Identifique:

  • Qual mudança foi feita antes do erro aparecer?
  • Ela poderia ter causado o comportamento observado?

Passo 2c — Verificar dependências e variáveis de ambiente

Se é erro de integração com Protheus:

  • URL da API está correta no CLAUDE.md?
  • Token/credenciais estão válidas?
  • Protheus está acessível (não down)?

Se é erro de dataset:

  • A query SQL/JPQL está correta?
  • Os parâmetros de entrada estão sendo validados?
  • O banco de dados retorna resultado vazio (edge case)?

Se é erro de widget Angular:

  • Dependências npm estão instaladas (npm list @po-ui/core, etc.)?
  • Versão do @po-ui está compatível?

Fase 3 — Hipótese

Passo 3a — Formar hipótese baseada em evidências

Liste 2-3 possíveis causas ordenadas por probabilidade:

Hipótese 1 (provável): [descrição]
  Evidência: [qual log ou comportamento suporta isso]
  Como validar: [qual comando ou teste valida]

Hipótese 2 (possível): [descrição]
  Evidência: [qual evidência]
  Como validar: [qual teste]

Hipótese 3 (improvável): [descrição]
  Evidência: [qual evidência]
  Como validar: [qual teste]

Passo 3b — Validar contra evidências

Para cada hipótese:

  • Ela explica TODOS os sintomas observados?
  • Há contradições com os logs ou comportamento?
  • Qual hipótese é mais consistente com as evidências?

Descarte hipóteses que contradigem evidências.


Fase 4 — Corrigir com Teste

Passo 4a — Escrever teste que reproduz o bug PRIMEIRO

Antes de corrigir o código, escreva um teste que falhe:

Para templates de correção, consulte o MCP:

searchFluigPatterns({ category: "template" })
searchFluigPatterns({ category: "error-handling" })

Aplique o padrão correto ao tipo de artefato sendo debugado.

Execute o teste e confirme que falha:

npm test 2>&1 | grep FAIL

Passo 4b — Corrigir o código

Com o teste falhando, agora corrija o artefato usando os padrões obtidos do MCP.

Passo 4c — Validar: teste passa, bug não ocorre mais

npm test -- --include='**/nome.spec.ts'  # Teste específico passa?
npm start  # Inicie servidor e valide comportamento manualmente no navegador

Se no servidor:

# Redeploy
/fluig:deploy

# Teste E2E contra servidor atualizado
/fluig:test

Confirme:

  • ✅ Teste unitário passa
  • ✅ Comportamento no navegador/servidor é correto
  • ✅ Nenhuma regressão em outros testes

Fontes de Debugging Fluig

Docker logs (servidor):

# Leia o CLAUDE.md do projeto para obter o hostname do servidor.
ssh [hostname] "docker logs fluig --tail 50 --timestamps"

Playwright traces (E2E):

ls -la test-results/
npx playwright show-trace test-results/*.trace  # Abre Playwright Inspector

Karma output (localhost):

npm test 2>&1 | grep -A 20 "FAIL"

Browser console (F12):

  • Abra DevTools (F12)
  • Network tab — verifique requisições à API/Protheus
  • Console tab — erros JavaScript
  • Application tab — localStorage/cookies se relevante

Resumo Final

Após corrigir e validar, anuncie:

BUG CORRIGIDO — [descrição do bug]

Root cause: [hipótese confirmada]
Correção: [mudança de código aplicada]
Teste: [teste unitário que valida a correção]
Validação: [comportamento correto confirmado]

Próximo passo: Retorne para /fluig:deploy → /fluig:qa para validar a correção em toda a pipeline.

Regras obrigatórias

  • As 4 fases são sequenciais — não pule reprodução ou investigação
  • Sempre escrever teste ANTES de corrigir (TDD)
  • Sempre validar que o teste passa após correção
  • Sempre coletar logs (Docker, Playwright, Karma) antes de especular
  • Fase 3 (hipótese) é teórica — validar com testes ou logs, nunca assumir

Consulta de Conhecimento

Se precisar de informação não disponível no MCP, consulte o RAG:

searchKnowledge({ keyword: "<termo relevante>" })

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.