From c74dab4ac21878d221a30d9f4c10c8968854239b Mon Sep 17 00:00:00 2001 From: Emanuel Almeida Date: Wed, 19 Aug 2026 05:35:21 +0100 Subject: [PATCH] wordpress: nova skill mcp-wpmeteor (como usar o MCP wpmeteor) - documenta as 8 tools do MCP wpmeteor: status, config, toggle de modulo, delay, exclusoes, telemetria detected - wp-meteor actualizada: estado real confirmado nos 8 sites do bundle (so emanuelalmeida.pt tem o plugin), cross-referencia para mcp-wpmeteor - mesma convencao de mcp-wpfc/mcp-element-pack/mcp-cloudflare-app: esta skill e o 'como executar', wp-meteor continua a ser o mapeamento --- wordpress/skills/mcp-wpmeteor/SKILL.md | 84 ++++++++++++++++++++++++++ wordpress/skills/wp-meteor/SKILL.md | 17 ++++-- 2 files changed, 96 insertions(+), 5 deletions(-) create mode 100644 wordpress/skills/mcp-wpmeteor/SKILL.md diff --git a/wordpress/skills/mcp-wpmeteor/SKILL.md b/wordpress/skills/mcp-wpmeteor/SKILL.md new file mode 100644 index 0000000..351d85e --- /dev/null +++ b/wordpress/skills/mcp-wpmeteor/SKILL.md @@ -0,0 +1,84 @@ +--- +name: mcp-wpmeteor +description: MCP dedicado multi-site (node stdio, ligação `wpmeteor` em ~/.omp/agent/mcp.json) para gerir o WP Meteor (delay/reorder de JavaScript não crítico) em qualquer site do bundle Descomplicar® via WP-CLI/SSH — estado do plugin, config completa, toggle de módulo, delay do ultimate-reorder, exclusões manuais, telemetria detected. Site é um parâmetro em cada tool. Usar quando "gestão wp meteor", "wpmeteor mcp", "desligar ultimate reorder via mcp", "mudar delay wp meteor", "exclusões wp meteor mcp", "activar módulo elementor-pp". +layer: wiki +--- + +# /mcp-wpmeteor — MCP dedicado multi-site ao WP Meteor + +Projecto em `/media/ealmeida/Dados/Dev/mcp-wpmeteor/` (TypeScript, SDK MCP oficial, stdio). Sem +código PHP novo no WordPress: cada tool executa `wp option get` / `wp option patch` via +`ssh server` sobre o WP-CLI já instalado. O plugin **não regista nenhum comando WP-CLI próprio** +(confirmado por grep a todo o código-fonte — ver skill `wp-meteor`); toda a config vive numa +única option, `wp-meteor-settings`. + +**Relação com a skill `wp-meteor`:** essa skill é a fonte de conhecimento completa — os 5 módulos +reais, a semântica exacta do `delay`, as duas camadas de exclusão automática embutidas (`gdpr`, +`Compatibility`), os mecanismos de bypass automático, diagnóstico de CLS/CWV. Esta skill é o "como +executar" — qual tool chamar para cada operação. Consultar `wp-meteor` para entender uma +definição antes de a alterar por aqui. + +## Âmbito + +Config do WP Meteor: 5 módulos, delay do `ultimate-reorder`, exclusões manuais +(`exclude.value`), leitura da telemetria `detected`. Não cobre: activação/desactivação do +próprio plugin (`emcp-tools activate-plugin`/`deactivate-plugin` já cobre isso genericamente), +diagnóstico de CLS/CWV com Chrome DevTools (workflow manual, ver skill `wp-meteor` §"Testar +isoladamente via Chrome DevTools"). + +## Sites conhecidos + +Chamar `wpmeteor_list_sites` para a lista actual com path e nota de estado. **Verificado ao vivo +19-08-2026: só `emanuelalmeida` tem o WP Meteor instalado** — os outros 7 sites reais do bundle +(`descomplicar`, `starter`, `ccv`, `care`, `ecommerce-demo`, `e-commerce`, `ecommerce`) não o têm. +Também aceita um path absoluto directamente para sites fora desta lista. + +## Tools (8) + +| Tool | Read-only | Uso | +|---|---|---| +| `wpmeteor_list_sites` | sim | Aliases conhecidos, path WP, nota de estado | +| `wpmeteor_get_status` | sim | Instalado/activo/versão | +| `wpmeteor_get_config` | sim | Option `wp-meteor-settings` completa | +| `wpmeteor_set_module` | não | Liga/desliga um dos 5 módulos (`ultimate-reorder`, `gdpr`, `exclude`, `elementor-animations`, `elementor-pp`) — escrita atómica de `.enabled`, não toca nos outros | +| `wpmeteor_set_delay` | não | `ultimate-reorder.delay` — string numérica; "0" = zero delay, N positivo = timeout fixo de N segundos, negativo (ex. "-1") = só corre na primeira interacção | +| `wpmeteor_get_exclusions` / `wpmeteor_set_exclusions` | sim/não | `exclude.value` — array de URLs/palavras-chave/regex. Set é **substituição completa**, não merge. Não liga o módulo `exclude` sozinho | +| `wpmeteor_get_detected` | sim | Telemetria interna (`detected`), sem tool de escrita — não é configurável | + +Todas exigem `site` como primeiro parâmetro. + +## Padrão de escrita — atómico por chave, não read-modify-write + +Diferente do `mcp-wpfc` (que faz merge em JS de toda a option `WpFastestCache`), aqui cada +escrita usa `wp option patch update wp-meteor-settings [--format=json]` — o próprio +WP-CLI localiza e substitui só a chave aninhada pedida, atomicamente, sem ler+reescrever a option +inteira. Menos risco de pisar uma gravação concorrente do wp-admin. + +## Segurança + +Allowlist fixa de 1 option (`wp-meteor-settings`) e 5 módulos conhecidos (`src/wpcli.ts`, +`MODULES`). Escritas via base64 em stdin, nunca interpoladas no comando SSH remoto. + +**Confirmado antes de escrever a bridge (lição de `mcp-wpfc`/skill `wp-fastest-cache` §16.2):** +`wp-meteor-settings` é um **array PHP nativo** — `wp option get` sem `--format=json` devolve +`array(...)` desestruturado, não uma string. `--format=json` é portanto o padrão correcto aqui em +leitura e escrita (ao contrário do WP Fastest Cache, onde `--format=json` corrompe a option). +Qualquer MCP novo sobre `wp option` deve continuar a verificar isto primeiro, caso a caso — não +assumir nenhum dos dois padrões por omissão. + +## Verificação + +Construído e testado ponta-a-ponta contra produção 19-08-2026 (`emanuelalmeida.pt`, único site com +o plugin instalado): `wpmeteor_get_status` confirmou activo v3.4.18 lá e ausente em +`descomplicar`; `wpmeteor_get_config`/`wpmeteor_get_exclusions` leram a config real; `wpmeteor_set_module`, +`wpmeteor_set_delay` e `wpmeteor_set_exclusions` escreveram e relerem correctamente com valores +já-correntes (round-trip idempotente, sem alterar comportamento do site); `wpmeteor_get_detected` +confirmou array vazio. Integridade final da option confirmada por leitura SSH directa, idêntica ao +estado original. + +## Skills relacionadas + +- `wp-meteor` — mapeamento completo de todos os módulos, semântica do delay, exclusões + automáticas embutidas, mecanismos de bypass, diagnóstico de CLS/CWV. +- `mcp-wpfc` — mesma convenção (MCP multi-site, `site` por parâmetro), mas para o WP Fastest + Cache; ver lá o gotcha de formato de armazenamento que motivou a verificação prévia aqui. diff --git a/wordpress/skills/wp-meteor/SKILL.md b/wordpress/skills/wp-meteor/SKILL.md index 695be3b..97d728b 100644 --- a/wordpress/skills/wp-meteor/SKILL.md +++ b/wordpress/skills/wp-meteor/SKILL.md @@ -1,6 +1,6 @@ --- name: wp-meteor -description: Diagnóstico e configuração do WP Meteor (delay/reorder de JavaScript não crítico) via WP-CLI em servidores CWP. Cobre os 5 módulos reais do plugin — `ultimate-reorder` (atraso de execução de JS até interacção do utilizador, com modo "zero delay" e modo "só interacção"), `exclude` (exclusões manuais por regex), `gdpr` (exclusões automáticas para 8 plugins de cookies), `elementor-animations` e `elementor-pp` (emulação do menu Elementor PowerPack Pro — NÃO é "Elementor Pro") — mais o módulo interno `Compatibility` (sempre activo, não configurável, com exclusões automáticas para dezenas de outros optimizadores). Cobre também os mecanismos de bypass automático (query strings, user agents, page builders, conflito com WP Rocket/Nitropack/FastPixel), o endpoint REST `wpmeteor/v1/detect`, e diagnóstico de CLS/CWV com Chrome DevTools performance trace. Usar quando "wp meteor", "wpmeteor", "atraso javascript", "delay js", "ultimate reorder", "cls alto", "layout shift", "core web vitals wordpress", "facade pattern js", "js não crítico", "elementor powerpack pro", "zero delay mode", "wpmeteordisable", "wpmeteordebug". +description: Diagnóstico e configuração do WP Meteor (delay/reorder de JavaScript não crítico) via WP-CLI em servidores CWP e via o MCP `wpmeteor` (projecto `mcp-wpmeteor`, multi-site, 8 tools — ver skill `mcp-wpmeteor` para o "como executar"). Cobre os 5 módulos reais do plugin — `ultimate-reorder` (atraso de execução de JS até interacção do utilizador, com modo "zero delay" e modo "só interacção"), `exclude` (exclusões manuais por regex), `gdpr` (exclusões automáticas para 8 plugins de cookies), `elementor-animations` e `elementor-pp` (emulação do menu Elementor PowerPack Pro — NÃO é "Elementor Pro") — mais o módulo interno `Compatibility` (sempre activo, não configurável, com exclusões automáticas para dezenas de outros optimizadores). Cobre também os mecanismos de bypass automático (query strings, user agents, page builders, conflito com WP Rocket/Nitropack/FastPixel), o endpoint REST `wpmeteor/v1/detect`, e diagnóstico de CLS/CWV com Chrome DevTools performance trace. Usar quando "wp meteor", "wpmeteor", "atraso javascript", "delay js", "ultimate reorder", "cls alto", "layout shift", "core web vitals wordpress", "facade pattern js", "js não crítico", "elementor powerpack pro", "zero delay mode", "wpmeteordisable", "wpmeteordebug", "wpmeteor mcp". --- # /wp-meteor — Diagnóstico e config do WP Meteor (delay de JavaScript) @@ -14,10 +14,17 @@ Catálogo confirmado por leitura completa do código-fonte do plugin (5718 linhas em todos os `.php`, sessão 16-08-2026) — não há módulos escondidos por descobrir; o que está documentado abaixo é o total. -Confirmado activo em `emanuelalmeida.pt` (16-08-2026, esta sessão). **Não -confirmado noutros sites do bundle** — `wp plugin get wp-meteor` em -`carstuff.pt` devolveu vazio/erro, i.e. não está instalado lá. Verificar -sempre por site antes de assumir que está presente. +Confirmado activo em `emanuelalmeida.pt` (16-08-2026, esta sessão). **Verificado ao vivo +19-08-2026 nos 8 sites WordPress reais do bundle Descomplicar (`wp plugin list`): +`emanuelalmeida.pt` é o ÚNICO site com o WP Meteor instalado** — `descomplicar.pt` (produção), +`starter.descomplicar.pt`, `ccv.descomplicar.pt`, `care.descomplicar.pt`, +`ecommerce-demo.descomplicar.pt`, `e-commerce.descomplicar.pt` e `ecommerce.descomplicar.pt` não +o têm. Verificar sempre por site antes de assumir que está presente. + +**Gestão activa (ligar/desligar módulos, mudar delay, exclusões) via MCP:** ver skill +`mcp-wpmeteor` — MCP dedicado multi-site (`wpmeteor` em `~/.omp/agent/mcp.json`, 8 tools), +testado ponta-a-ponta contra produção 19-08-2026. Esta skill continua a ser a fonte de +conhecimento (o que cada chave significa, gotchas); a skill `mcp-wpmeteor` é o "como executar". ---