gen-aplicador-sxlisted
Install: claude install-skill JoniPraia/plugadvpl
# `/plugadvpl:gen-aplicador-sx`
Gera um **aplicador de SXs**: um `.prw` ADVPL **determinístico** (mesma spec → mesmos bytes) que aplica mudanças de dicionário (SX/SIX) em **modo EXCLUSIVO** (`MyOpenSM0` / `RpcSetEnv` / `X31UpdTable`), com **backup** antes, em vez de um `RecLock` solto em cima do SX. O CLI monta o fonte a partir de um spec JSON — sem LLM, sem random/Date.
> **Por que não RecLock direto no SX?** Atualizar dicionário fora de update estruturado corrompe metadados (X3_ORDEM fora de sequência, índice físico não dropado quando a chave muda, parâmetro sobreposto). O aplicador roda exclusivo + backup, calcula a ordem, dropa índice físico quando preciso, e é insert-aware (não duplica nem sobrescreve o que já existe).
## O que é o spec JSON
```json
{
"numero": "099999",
"sx2": [ ... ],
"sx3": [ ... ],
"six": [ ... ],
"sx6": [ ... ],
"sx7": [ ... ],
"sx1": [ ... ],
"sxa": [ ... ],
"sx5": [ ... ]
}
```
Só `numero` é obrigatório; **todas as seções SX são opcionais** — emite só as presentes (ordem canônica sx2 → sx3 → six → sx6 → sx7 → sx1 → sxa → sx5). O `.prw` final vira `User Function A{numero}`.
> **Descobrir o formato pelo próprio CLI** (útil em qualquer agente/IA, mesmo sem esta skill): `gen-aplicador-sx --example` imprime um spec completo e válido pronto pra editar; `gen-aplicador-sx --schema` imprime as chaves aceitas por tipo (JSON, sempre em sync com o gerador). Fluxo típico: `gen-aplicador-sx --example > spec.json` → editar → `gen-aplicado