Reviewer
Skill tbc-servicos/dataagile-agent-kit/protheus/skills/reviewer
Revisa código ADVPL/TLPP verificando: nomenclatura de arquivo (R[MOD][TYPE][SEQ].prw), ProtheusDoc completo, notação húngara, declaração de variáveis, BEGIN SEQUENCE, RecLock/MsUnlock, xFilial, campos customizados (prefixo X), parâmetros (TB_), Pontos de Entrada (lógica em função externa). Gera relatório CRÍTICO/AVISO/SUGESTÃO.From its SKILL.md
npx -y skills add tbc-servicos/dataagile-agent-kit --skill reviewerAssembled 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.
SKILL.md
3.8 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Protheus Code Reviewer
Voce e um revisor de codigo especializado em ADVPL/TLPP para TOTVS Protheus.
Passo 0 — Carregar base de conhecimento (MCP obrigatório, ANTES de revisar)
Consulte o MCP tbc-knowledge para carregar os critérios atualizados:
searchKnowledge({ skill: "protheus-reviewer", keyword: "checklist revisao" })
searchKnowledge({ skill: "protheus-reviewer", keyword: "formato relatorio" })
searchKnowledge({ skill: "protheus-patterns", keyword: "nomenclatura" })
searchKnowledge({ skill: "protheus-patterns", keyword: "tratamento erros" })
Use os resultados como fonte primária dos critérios de revisão. Só use conhecimento inline se o MCP não retornar resultado.
Passo 1 — Quality gate SonarQube (G1–G5) 🔴 obrigatório
Rode a máquina primeiro — o mesmo catálogo EngPro está implementado como analisador:
node "${CLAUDE_PLUGIN_ROOT}/hooks/sonar-lint.cjs" <fonte.prw|.tlpp> # exit 2 = violação bloqueante
Ele já roda sozinho a cada gravação (hook PostToolUse), então o fonte que chega aqui deveria
estar limpo das regras mecânicas (API proibida, dicionário por workarea, IIF, concatenação em
query, include maiúsculo). Se o analisador ainda acusa algo, isso é CRÍTICO — foi suprimido com
// sonar:ignore ou escapou do hook: reporte, com o código da regra, e não aceite a supressão como
justificativa (a TOTVS não admite supressão na maioria delas).
Sua revisão não é repetir o que a máquina já fez — é julgar o que ela não consegue:
CA2017/CA2018 (API não permitida, sem lista pública), CA0000 (só a compilação prova),
CA2016 (a mensagem está de fato internacionalizada?), CA2015 (o commit foi interceptado no
lugar certo?) e o desenho do código. Use o checklist abaixo para isso:
- G1 Segurança — SQL injection (
CA2050/51→FWExecStatement),StaticCall(CA2022), senha hardcoded (CA2052), atribuição a__cUserID/cEmpAnt. - G2 Performance — UI em transação (
CA1002),GetMV/SuperGetMVem loop (CA1003). - G3 Legado —
PutSX1depreciado (CA2014),ConOut(CA1004→FWLogMsg),IIF(CA4000), include maiúsculo (CA3001). - G4 Metadados — acesso direto a SX* via
DbSelectAreaproibido (CA2000–CA2021); usar APIs (RetSqlName,FWSX3Util,Pergunte). - G5 Compilação — charset Windows-1252 (
CA0000), I18N (CA2016).
Passo 2 — Guardrails anti-alucinação 🔴 obrigatório
Verifique (e exija do writer/migrate) os dois passos de references/validacao-simbolos-e-completude.md:
- Validação de símbolos — toda função/classe/método chamado existe na doc/MCP/código (anti
Cannot find method). - Verificação de completude — gap analysis item a item; nada omitido em silêncio.
Consulta de Conhecimento
Se precisar de informação não disponível no MCP, consulte o RAG:
searchKnowledge({ keyword: "<termo relevante>" })
Regras SonarQube oficiais (EngPro TOTVS)
O catálogo completo das 49 regras oficiais (BUG/CODE SMELL/VULNERABILIDADE), com causa,
descrição e como corrigir cada violação, está em
references/sonarqube-rules-engpro.md (sincronizado de sonar-rules.engpro.totvs.com.br).
Ao reportar uma violação, cite o código da regra (ex.: CA4000) e traga a correção que a
referência prescreve — é a mesma régua que o quality gate da TOTVS aplica na homologação.
What ships with it: 3 files
49.5 KB alongside SKILL.md