Brainstorm
Skill tbc-servicos/dataagile-agent-kit/protheus/skills/brainstorm
Plugin Claude Code para Protheus e ADVPL/TLPP — base 155k+ registros, Agent Teams, compilação TDS-CLI, testes TIR e MCP PO-UI
npx -y skills add tbc-servicos/dataagile-agent-kit --skill brainstormAssembled 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
Planejamento de desenvolvimento ADVPL/TLPP — intake de MIT044, explora o projeto, faz perguntas, propõe abordagens e gera design aprovado antes de qualquer código. Encadeia /protheus:plan.
SKILL.md
5.7 KB, as published. Nobody here has run it
Passo 0 — Documento de desenvolvimento
Antes de qualquer exploração, pergunte:
"Existe um documento de desenvolvimento (MIT044) ou levantamento de requisitos para esta tarefa? Se sim, informe o caminho do arquivo."
Se o desenvolvedor informar o caminho:
- Leia o documento completo
- Extraia automaticamente: módulo, tabelas envolvidas, tipo de artefato, regras de negócio e restrições
- Apresente um resumo do que foi extraído e confirme com o desenvolvedor
- Use esses dados como contexto primário nas perguntas do Passo 2 — só pergunte o que estiver faltando ou ambíguo no documento
Se não houver documento:
- Continue normalmente para o Passo 1
Passo 1 — Explorar o projeto
Percorra o projeto antes de qualquer pergunta:
# Fontes existentes e padrão de nomenclatura
find . -name "*.prw" -o -name "*.tlpp" | sort
# CLAUDE.md — configuração do cliente
cat CLAUDE.md 2>/dev/null
# MIT043 — registro de customizações já feitas
find . -name "MIT043*" | head -3 | xargs cat 2>/dev/null
# Commits recentes — o que foi feito
git log --oneline -15 2>/dev/null
# Pontos de Entrada existentes (prefixo PE_ ou padrão legado)
grep -rn "User Function" . --include="*.prw" --include="*.tlpp" | grep -i "^.*PE_\|^.*MT\|^.*FA" | head -20
Com base na exploração, identifique:
- Próximo sequencial disponível no padrão
R[MOD][TYPE][SEQ] - Módulos já desenvolvidos neste projeto
- Padrão de namespace TLPP, se houver
- Pontos de Entrada já customizados (para evitar duplicidade)
Passo 1.5 — Consultar base de conhecimento (MCP obrigatório)
Antes de formular perguntas ou propor abordagens, consulte o MCP tbc-knowledge:
# Funções existentes no módulo relevante
searchFunction({ module: "<MOD>", limit: 20 })
# Pontos de Entrada disponíveis para a tabela/rotina
findEndpoint({ keyword: "<tabela ou rotina>" })
findExecAuto({ target: "<rotina>" })
findMvcPattern({ table: "<alias>" })
# Padrões e convenções aplicáveis
searchKnowledge({ skill: "protheus-patterns", keyword: "nomenclatura" })
searchKnowledge({ skill: "protheus-patterns", keyword: "tratamento erros" })
# Material de treinamento relevante
searchDocuments({ keyword: "<modulo ou funcionalidade>" })
Use os resultados para:
- Identificar se já existe função/PE que resolve o caso
- Evitar reescrever comportamento já fornecido pelo ERP
- Embasar as abordagens propostas no Passo 3 com evidências da Knowledge Base
Passo 2 — Perguntas (uma por vez)
Faça uma pergunta por mensagem. Prefira múltipla escolha quando possível.
Sequência recomendada:
- O que você precisa construir? (descrição livre)
- Qual tipo de artefato?
ACadastro/atualização (User Function ou MVC)EProcessamento/ExecBlock (função, consulta, relatório)PPonto de Entrada (MVC ou legado)RRelatório
- Qual módulo? (FAT, FIN, EST, COM, RH…)
- Quais tabelas são envolvidas? (ex: SA1 Clientes, SC5 Pedidos)
- Existe algum Ponto de Entrada padrão já disponível para este caso? (se for PE — verificar na documentação TDN ou no código existente)
- Precisa persistir dados? Se sim, em tabela padrão ou customizada?
- Há validações ou regras de negócio específicas do cliente?
Pare quando tiver informações suficientes para propor abordagens.
Passo 3 — Propor 2-3 abordagens
Apresente as opções com trade-offs e sua recomendação. Exemplos de eixos de decisão:
| Decisão | Opção A | Opção B |
|---|---|---|
| Estrutura | User Function simples | MVC completo |
| PE | Ponto de Entrada MVC | Ponto de Entrada legado |
| Persistência | Tabela padrão (SA1…) | Tabela customizada (SZ?) |
| Linguagem | ADVPL .prw | TLPP .tlpp com namespace |
Sempre indique qual você recomenda e por quê.
Passo 4 — Apresentar design
Apresente o design em seções, aguardando aprovação após cada uma:
4.1 — Visão geral
- Nome do arquivo:
R[MOD][TYPE][SEQ].prw(ou.tlpp) - Tipo de artefato e responsabilidade
- Módulo e próximo sequencial
4.2 — Estrutura de funções
User Functionprincipal (nome ≤ 8 chars para.prw)Static Functionauxiliares- Ponto de Entrada (se aplicável) — PE em arquivo próprio, lógica em função externa
4.3 — Acesso a dados
- Tabelas lidas e gravadas
RecLock / MsUnlock / dbCommitonde necessárioxFilial()obrigatório em toda busca
4.4 — Tratamento de erros
ErrorBlock+ programação defensiva com guard clauses (BEGIN SEQUENCE PROIBIDO)- Mensagens ao usuário
4.5 — Checklist de conformidade
- Notação húngara em todas as variáveis?
- Limite de 8 chars no nome da User Function?
- ProtheusDoc completo?
- Registrar no MIT043?
Passo 5 — Transição para planejamento
Após aprovação do design, salve o design doc em docs/plans/YYYY-MM-DD-[modulo]-[descricao]-design.md:
Design aprovado!
Próximo passo:
/protheus:plan
O
protheus:planirá decompor o design em tasks tipadas para ADVPL e preparar o plano para os teammates de implementação, revisão, compilação e testes E2E Playwright.
Consulta de Conhecimento
Se precisar de informação não disponível no MCP, consulte o RAG:
searchKnowledge({ keyword: "<termo relevante>" })