---
name: benchmark
description: >
  Mede Core Web Vitals e performance antes/depois de alterações. Detecta regressões.
  Usar antes e depois de qualquer alteração a WP, WooCommerce, Next.js ou infra.
  Baseado no gstack /benchmark. Eixo 2B.
---

# /benchmark — Performance Antes/Depois

Medir o impacto real de alterações. Nunca fazer deploy sem benchmark.

---

## Quando Usar

- Antes de qualquer optimização de performance
- Antes de deploy de plugins/temas WordPress
- Antes de alterações ao servidor ou cache
- Antes de implementar nova feature em produção
- Como baseline mensal de cada site

---

## Métricas Alvo (Core Web Vitals 2024)

| Métrica | Bom | Precisa Melhorar | Mau |
|---------|-----|-----------------|-----|
| LCP (Largest Contentful Paint) | ≤2.5s | 2.5-4.0s | >4.0s |
| FID / INP (Interaction to Next Paint) | ≤200ms | 200-500ms | >500ms |
| CLS (Cumulative Layout Shift) | ≤0.1 | 0.1-0.25 | >0.25 |
| TTFB (Time to First Byte) | ≤800ms | 800-1800ms | >1800ms |
| FCP (First Contentful Paint) | ≤1.8s | 1.8-3.0s | >3.0s |

---

## Protocolo

### Passo 1 — Baseline (ANTES)

```bash
# Via MCP Lighthouse (se disponível)
mcp__lighthouse__get_core_web_vitals({ url: "<URL>" })
mcp__lighthouse__run_audit({ url: "<URL>", categories: ["performance"] })

# Ou via Lighthouse CLI no servidor
ssh server "lighthouse <URL> --output=json --output-path=/tmp/before.json --chrome-flags='--headless'"

# Ou via PageSpeed Insights API
curl "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=<URL>&strategy=mobile" | jq '.lighthouseResult.categories.performance.score'
```

**Guardar baseline:**
```bash
BEFORE_LCP=<valor>
BEFORE_CLS=<valor>  
BEFORE_FCP=<valor>
BEFORE_SCORE=<valor>
```

### Passo 2 — Executar Alteração

Fazer a alteração (deploy, optimização, plugin, etc.)

### Passo 3 — Depois

```bash
# Repetir as mesmas medições
mcp__lighthouse__get_core_web_vitals({ url: "<URL>" })

AFTER_LCP=<valor>
AFTER_CLS=<valor>
AFTER_FCP=<valor>
AFTER_SCORE=<valor>
```

### Passo 4 — Comparação

```markdown
## Benchmark — [Site] — [Data]

| Métrica | Antes | Depois | Delta | Estado |
|---------|-------|--------|-------|--------|
| LCP | Xs | Ys | ±Zs | ✅/⚠️/❌ |
| CLS | X | Y | ±Z | ✅/⚠️/❌ |
| FCP | Xs | Ys | ±Zs | ✅/⚠️/❌ |
| Score | X% | Y% | ±Z% | ✅/⚠️/❌ |

**Veredicto:** MELHOROU / NEUTRO / REGREDIU
**Acção:** Manter deploy / Reverter / Investigar
```

---

## Regras de Decisão

```
SE qualquer métrica piorou >10% → REVERTER imediatamente
SE Score global piorou >5 pontos → investigar antes de continuar
SE CLS aumentou >0.05 → bloquear — UX crítica
SE LCP piorou >500ms em mobile → reverter
```

---

## Sites Descomplicar a Monitorizar

| Site | URL | Frequência |
|------|-----|-----------|
| Descomplicar main | descomplicar.pt | Mensal |
| Clip | clip.descomplicar.pt | Após cada deploy |
| Outros clientes | variável | Após alterações WP |

---

## Healing Log

```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```

---

*Skill /benchmark v1.0 | 06-04-2026 | Eixo 2B — gstack pattern*
