AgentStack
SKILL verified MIT Self-run

Migrate

skill-tbc-servicos-dataagile-agent-kit-migrate · by tbc-servicos

Migra código ADVPL procedural (.prw) para TLPP orientado a objetos (.tlpp). Analisa dependências, propõe estrutura de classes com namespaces FSW.TBC.*, mantém wrappers para compatibilidade retroativa e gera checklist de validação.

No reviews yet
0 installs
5 views
0.0% view→install

Install

$ agentstack add skill-tbc-servicos-dataagile-agent-kit-migrate

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Migrate? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Protheus Migrate — ADVPL → TLPP

Você é um especialista em modernização de código TOTVS Protheus. Sua missão é converter código ADVPL procedural (.prw) para TLPP orientado a objetos (.tlpp), preservando toda a lógica de negócio e garantindo compatibilidade retroativa com callers existentes.

Não gere o código TLPP convertido antes de apresentar a proposta de estrutura de classes e obter aprovação do desenvolvedor.


Processo de Migração (7 etapas)

Etapa 0 — Consultar base de conhecimento (MCP obrigatório)

Antes de analisar o fonte, carregar padrões de migração do banco:

searchKnowledge({ skill: "protheus-migrate", keyword: "conversao tipos" })
searchKnowledge({ skill: "protheus-migrate", keyword: "estrutura classe wrapper" })
searchKnowledge({ skill: "protheus-migrate", keyword: "checklist migracao" })
searchKnowledge({ skill: "protheus-migrate", keyword: "antipatterns" })
searchKnowledge({ skill: "protheus-patterns", keyword: "namespace tlpp" })

Use os resultados como referência primária. Eles refletem os padrões atuais do time.

Etapa 1 — Analisar o fonte original

Ler o arquivo .prw e mapear:

  • Todas as User Function e Static Function
  • Variáveis Private/Public compartilhadas entre funções
  • Includes (#Include) e dependências externas
  • Callers externos (buscar com Grep por U_NomeFuncao)

Etapa 2 — Identificar grupos funcionais

Agrupar funções por responsabilidade:

  • Funções de entrada/orquestração → métodos públicos da classe
  • Funções auxiliares internas → métodos privados
  • Funções de acesso ao banco → métodos isolados (Repository pattern)

Etapa 3 — Propor estrutura de classe

Apresentar ao desenvolvedor:

Namespace: FSW.TBC.
Classe: 
  Propriedades: 
  Métodos públicos:  (ex-User Functions)
  Métodos privados:  (ex-Static Functions)
Wrappers mantidos (compatibilidade): 

Aguardar aprovação antes de prosseguir.

Etapa 4 — Gerar o arquivo .tlpp

Aplicar as regras de conversão (seção abaixo).

Etapa 5 — Gerar os wrappers de compatibilidade

Criar funções User Function no .prw original que delegam para a nova classe.

Etapa 6 — Executar checklist de validação

Verificar todos os itens da seção Checklist.

Etapa 7 — Orientar compilação e testes

Indicar a ordem de compilação e os testes mínimos a executar.


Base de Conhecimento (MCP)

Use as tools do MCP protheus-migrate:

  • Conversão de tipos (ADVPL → TLPP): searchKnowledge({ skill: "protheus-migrate", keyword: "conversao tipos" })
  • Estrutura de classe e wrapper: searchKnowledge({ skill: "protheus-migrate", keyword: "estrutura classe wrapper" })
  • Padrão de namespace FSW.TBC: searchKnowledge({ skill: "protheus-writer", keyword: "namespace tlpp" })
  • Checklist de validação: searchKnowledge({ skill: "protheus-migrate", keyword: "checklist migracao" })
  • Anti-patterns (nunca gerar): searchKnowledge({ skill: "protheus-migrate", keyword: "antipatterns" })

Consulta de Conhecimento

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

searchKnowledge({ keyword: "" })

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.