---
name: arte-engine
description: Engine unificada de geração de arte, fotografia, posts e carrosséis Instagram/Stories. Use SEMPRE que o usuário pedir "arte", "post design", "prompt de fotografia", "story", "carrossel", "poster", "campanha visual", "capa", "peça gráfica", ou mencionar qualquer um dos 8 estilos (Glass Live, Squad Editorial Poster, Editorial AI Carousel, AcademyPASS, Glassmorphism Academy, Human Academy Reference, Cinema Studio IA, Human Update Dark Stage). A skill pergunta qual estilo usar, mostra exemplo/catálogo quando pedido, gera prompt de imagem para IA (Midjourney/Nano Banana/Seedance) OU renderiza o post como PNG via HTML/Chrome headless. Suporta 1:1, 4:5, 9:16, carrossel múltiplo. Saída em ~/.claude/skills/arte-engine/out/.
---

# ARTE ENGINE — Motor Unificado de Geração de Arte e Posts

Skill que consolida 8 sistemas visuais diferentes em um único ponto de entrada. Cada estilo tem identidade própria (tipografia, paleta, composição, elementos fixos) mas compartilham o mesmo fluxo: o agente pergunta o estilo, gera o prompt de fotografia/arte ou renderiza o post em PNG.

---

## OS 8 ESTILOS DISPONÍVEIS

| # | Código | Nome | Cara / Uso |
|---|--------|------|-----------|
| 01 | `glass-live` | Glass Editorial Motion Poster | Campanha live/workshop, glassmorphism, fashion film, acento verde-limão ou azul SQUAD |
| 02 | `squad-editorial` | Squad Film Editorial Poster | Poster cinematográfico preto + branco + azul SQUAD, textura impressa, tipografia brutalista, equipamento FX3 como hero |
| 03 | `editorial-carousel-ai` | Editorial Carousel / AI Culture | Carrossel dark charcoal, tom analítico/crítico sobre IA e direção visual, verde-limão pálido |
| 04 | `academypass-gradient` | AcademyPASS / Human Academy / Upscale Pro | Gradiente azul petróleo → vinho queimado, tech-editorial educacional, selo "Q1>26" |
| 05 | `glass-academy` | Glassmorphism Live Campaign / Academy Pass | Cards translúcidos grandes, retrato fashion, pill "● AO VIVO", "/H Academy" |
| 06 | `human-reference` | Human Academy / IA For Humans / Reference System | Grafite escuro, verde-lima, foco em palette lock e reference system |
| 07 | `cinema-studio-narrative` | Human Academy / Cinema Studio IA / Consistência Visual | Fotografia cinematográfica, narrativa, personagem, hero frame, sistema visual |
| 08 | `human-update-dark` | Human Update / Dark Stage | Palco escuro, lustre suspenso, pessoa sentada, capa de newsletter semanal IA |

Detalhes completos de cada estilo (prompt base, paleta exata, tipografia, elementos fixos, variações) em `presets/<codigo>.md`. Só leia o preset que vai usar — não carregue todos.

---

## FLUXO DE TRABALHO

### 1. Usuário pede arte/post/prompt

Exemplos de gatilhos:
- "gera um post squad"
- "quero um story sobre IA"
- "cria um prompt de fotografia pra live"
- "carrossel de 5 slides sobre Midjourney V8"
- "poster cinematográfico squad film"

### 2. Agente pergunta estilo (se ambíguo)

Resposta curta com menu numerado:

```
Qual estilo?

01 — glass-live         (campanha live/workshop, vidro + fashion film)
02 — squad-editorial    (poster cinema SQUAD, preto+branco+azul, FX3)
03 — editorial-carousel-ai  (carrossel dark charcoal, IA analítico)
04 — academypass        (gradiente azul→vinho, curso educacional)
05 — glass-academy      (glass card grande, /H Academy)
06 — human-reference    (grafite + verde-lima, palette lock)
07 — cinema-studio      (fotografia cinema, narrativa, personagem)
08 — human-update-dark  (palco escuro, lustre, newsletter IA)

Manda o número ou o nome. Se quiser ver exemplos antes, diz "exemplos".
```

Se o usuário pedir "exemplos" ou "mostra os estilos": listar os 8 com 1 linha de descrição + 1 headline canônica de cada (extraída de `presets/<codigo>.md` > seção Headline de Referência).

Se o pedido já é claro ("poster squad film com câmera FX3"), pular a pergunta e ir direto pro estilo óbvio.

### 3. Agente pergunta modo de saída (se ambíguo)

```
Saída:
  A — prompt de IA (Midjourney/Nano Banana/Seedance) pra eu colar lá
  B — renderizar PNG agora (HTML → Chrome headless → out/)
  C — os dois
```

Se o usuário já disse "gera o PNG" ou "me dá o prompt", pular.

### 4. Agente pergunta formato (se ambíguo)

```
Formato:
  - 1:1  feed quadrado (1080x1080)
  - 4:5  feed portrait  (1080x1350)
  - 9:16 story/reel     (1080x1920)
  - carrossel Nx onde N = número de slides
```

Default do estilo (se não especificado):
- 01 glass-live, 04 academypass, 05 glass-academy, 06/07/08 human-academy → **9:16**
- 02 squad-editorial, 03 editorial-carousel-ai → **4:5**

### 5. Agente pergunta conteúdo (headline, tema, imagem)

Se o usuário não deu, pedir de forma objetiva:

```
Me passa:
  • Headline ou frase-título (ou diz "usa uma canônica do estilo")
  • Subtexto (ou "livre")
  • Imagem de fundo: [upload de foto / descrição pra prompt de IA / "usa default cinematográfico do estilo"]
```

### 6. Agente executa

**Modo A — Prompt de IA:**
Abrir `presets/<codigo>.md`, pegar o template do prompt base, injetar headline/subtexto/descrição de imagem, devolver o prompt completo em inglês/português já pronto pra colar em Midjourney/Nano Banana Pro/Seedance. Incluir o negative prompt específico do estilo.

**Modo B — PNG renderizado:**
Rodar `scripts/render.py --preset <codigo> --ratio <ratio> --data '<json>' --output out/<nome>.png`. O renderer carrega o template HTML correspondente, substitui variáveis, fotografa com Playwright/Chromium em device_scale_factor=2 (saída 2x, ex: 2160x3840 pra 9:16). Para carrossel, loop de N slides.

**Modo C:** Faz os dois e devolve prompt + caminho do PNG.

---

## REGRA DE DELEGAÇÃO DE MODEL

- **Decisão de estilo / curadoria de copy / edição de headline** → responder no chat principal (Opus 4.7)
- **Renderização em massa (carrossel 5+ slides)** → delegar `executor-sonnet` com JSON pronto
- **Listar presets / mostrar exemplos** → resposta direta, sem subagent

---

## ESTRUTURA DE ARQUIVOS

```
~/.claude/skills/arte-engine/
├── SKILL.md                  ← este arquivo (hub)
├── catalog.json              ← index dos 8 estilos + metadata
├── presets/
│   ├── 01-glass-live.md
│   ├── 02-squad-editorial.md
│   ├── 03-editorial-carousel-ai.md
│   ├── 04-academypass-gradient.md
│   ├── 05-glass-academy.md
│   ├── 06-human-reference.md
│   ├── 07-cinema-studio-narrative.md
│   └── 08-human-update-dark.md
├── templates/                ← HTML/CSS pra renderização PNG
│   ├── 01-glass-live.html
│   ├── 02-squad-editorial.html
│   ├── 03-editorial-carousel-ai.html
│   ├── 04-academypass-gradient.html
│   ├── 05-glass-academy.html
│   ├── 06-human-reference.html
│   ├── 07-cinema-studio-narrative.html
│   └── 08-human-update-dark.html
├── scripts/
│   └── render.py             ← Playwright → PNG 2x
└── out/                      ← PNGs gerados
```

---

## CONVENÇÕES GLOBAIS DOS 8 ESTILOS

Mesmo mudando de estilo, manter coerência Squad/Matheus:

1. **Fontes principais**: Britti Sans (Squad/SQUAD Film) ou Neue Haas Grotesk / Inter / Söhne / Helvetica Now (demais). Nunca serifada, nunca grunge, nunca brush.
2. **PT-BR sempre**. Copy pública sem travessão longo (—). Substituir por ponto ou vírgula.
3. **Zero voz de IA** na copy: nada de "sinergia", "impactante", "otimizar", "engajar".
4. **Zero data exibida** no post (conforme feedback global): nada de "23.04.2026", "ABR 2026". User posta em dia diferente.
5. **Zero imagem gerada por IA em posts Squad Film** (ou clientes Squad). Para estes 2 estilos, a imagem vem de foto real ou frame de vídeo Squad. Para os outros 6, IA é permitida.
6. **Render em 2x** para nitidez: Playwright com `device_scale_factor=2`.
7. **Output 4K** quando possível (maior lado 2160): já conferido no renderer.

---

## NEGATIVE PROMPTS GLOBAIS (usar em TODO prompt IA)

Canva template, cheap webinar banner, corporate event flyer, crowded layout, excessive icons, hard neon, cyberpunk UI, 3D render, cartoon, illustration, bad Portuguese, misspelled text, distorted typography, unreadable small text, fake QR code, random logo, low quality stock photo, amateur design, motivational template, generic tech conference poster, plastic skin, AI-looking face, unrealistic hands, messy composition.

Cada preset adiciona negatives específicos do próprio estilo por cima desse baseline.

---

## CHECKLIST FINAL ANTES DE ENTREGAR

- [ ] Preset correto carregado?
- [ ] Headline em PT-BR e sem travessão?
- [ ] Sem data no post?
- [ ] Paleta travada no sistema do estilo?
- [ ] Tipografia correta (Britti pra Squad; Neue Haas/Inter pros demais)?
- [ ] Margens de segurança respeitadas (9:16 stories têm UI do IG no topo/rodapé)?
- [ ] PNG em 2x (se modo B)?
- [ ] Prompt inclui negative prompt (se modo A)?
