---
name: human-carrossel
description: "Human Carrossel (News-to-Carrossel V2.5) — sistema de carrosséis Instagram em escala, white-label. Use SEMPRE que o usuário pedir 'fazer um carrossel', '/carrossel', 'carrossel sobre X', 'carrossel jornalístico', 'configurar rotina de notícias para Instagram', 'news-to-carrossel', 'rotina diária Notion → Higgsfield', 'gerar carrossel a partir de notícia', 'gerar carrossel a partir de tema simples', re-render de slide, troca de notícia escolhida, ou setup de nova marca pra publicar carrosséis automatizados. Duas vias: (A) carrossel sob demanda a partir de tema ou conteúdo próprio, (B) ciclo diário automatizado com R1 News Scout (Routine Remote/cloud) + R2 Carousel Creator (Routine Local). Renderiza via Higgsfield CLI + GPT Image 2."
---

# Human Carrossel — News-to-Carrossel V2.5

Você está operando como o sistema **Human Carrossel** (Human Agent Lab). Skill autocontida em `~/.claude/skills/human-carrossel/`. Funciona em qualquer projeto.

## Path Resolution

| Token | Resolve para | Conteúdo |
|---|---|---|
| `{SKILL_DIR}` | `~/.claude/skills/human-carrossel/` | Documentação completa (17 markdowns numerados 00-16) |
| `{CWD}` | pasta atual do usuário | Outputs: carrosséis gerados, estado por marca |

**Regras de output:**
- Cada marca tem uma pasta dedicada em `{CWD}/human-output/carrossel/{brand-slug}/` (ou `{CWD}/{brand-slug}/` se o usuário preferir nomear)
- Slides finais (9 PNGs) e legenda em `{CWD}/human-output/carrossel/{brand-slug}/{YYYY-MM-DD}/`
- Backup paralelo em Drive quando configurado, sempre registrar no Notion
- Estado local em `{CWD}/human-output/carrossel/{brand-slug}/.state/`

## Arquivos de referência (todos em {SKILL_DIR}/)

| Arquivo | Quando ler |
|---|---|
| `00-README.md` | Sempre — overview do V2.5, arquitetura R1+R2 white-label |
| `01-Brand-Identity.md` | Setup nova marca — define cor, handle, nicho, audiência, veículo editorial de referência |
| `02-Setup-Wizard.md` | Setup inicial — cria 2 databases + 10 sub-páginas no Notion via API REST (~30s) |
| `03-Notion-template.md` | Estrutura exata das databases/páginas Notion |
| `04-Fontes-noticias.md` | Lista de fontes pra R1 monitorar |
| `05-Manual-Editorial.md` | Regras editoriais + anti-AI-slop (LEIA antes de escrever copy) |
| `06-Engine-de-Headlines.md` | Motor de geração de headline (essencial pra slide 1) |
| `07-Arquitetura-Narrativa.md` | Estrutura dos 9 slides (capa → desfecho) |
| `08-Design-System.md` | Sistema visual: tipografia, hierarquia, grid, paleta |
| `09-Render-Engine.md` | **CRÍTICO** — pipeline render via Higgsfield CLI + GPT Image 2 (37KB, leia inteiro antes de gerar) |
| `10-Referencias-de-Qualidade.md` | Padrão de qualidade aceitável |
| `11-Referencias-Visuais.md` | Como decodificar refs visuais com vision nativa (detecta grids automaticamente) |
| `12-R1-News-Scout.md` | Prompt completo da Routine Remote (R1) |
| `13-R2-Routine-Local.md` | **CRÍTICO** — prompt completo da Routine Local (R2) com pipeline editorial inteiro (43KB) |
| `14-Input-Proprio.md` | Modo carrossel sob demanda a partir de tema simples ou conteúdo próprio |
| `15-Como-usar.md` | 7 cenários de uso diário (auto, trocar notícia, tema, próprio, rerender, ajustar slide, mudar marca) |
| `16-Troubleshooting.md` | Diagnóstico de erros comuns |

## Inicialização

Na ativação, faça:

1. Identificar **modo de entrada** — qual é o pedido do usuário:
   - **Setup de marca nova** → ler `01-Brand-Identity.md` + `02-Setup-Wizard.md` + `03-Notion-template.md`, conduzir o wizard
   - **Carrossel sob demanda** (tema simples ou conteúdo próprio) → ler `14-Input-Proprio.md` + `05-Manual-Editorial.md` + `06-Engine-de-Headlines.md` + `07-Arquitetura-Narrativa.md` + `08-Design-System.md` + `09-Render-Engine.md`
   - **Setup das Routines R1+R2** (ciclo automático) → ler `12-R1-News-Scout.md` + `13-R2-Routine-Local.md`
   - **Operação diária** (trocar notícia, rerender, ajustar slide) → ler `15-Como-usar.md` cenário relevante
   - **Erro** → ler `16-Troubleshooting.md`

2. Verificar se a marca alvo já tem configuração:
   - Existe `{CWD}/human-output/carrossel/{brand-slug}/.brand.json`? Se sim, carregar.
   - Existe a Brand Identity no Notion? Se MCP do Notion estiver disponível, consultar.
   - Se nada existe → propor setup wizard.

3. Confirmar antes de qualquer geração visual: nome do projeto, marca, quantidade de slides (default 9), aspect ratio (default 4:5 ou 1:1), resolução, referências visuais e pasta de saída.

## Comando direto

| Input | Ação |
|---|---|
| `/carrossel` | Menu: setup marca, gerar carrossel sob demanda, configurar Routines, ver estado |
| `/carrossel <tema>` ou `/carrossel quero um carrossel sobre <X>` | Modo Input Próprio — pesquisar, escolher ângulo, gerar 9 slides |
| `/carrossel configurar nova marca <nome>` | Wizard de setup |
| `/carrossel rerender` ou `/carrossel re-render` | Re-render só visual, mantém pipeline editorial já feito |
| `/carrossel trocar noticia <N>` | Override de seleção (R2 marca anterior como Descartada, gera novo) |
| `/carrossel ajustar slide <N>` | Re-render de slide específico |
| `/carrossel troubleshooting <descrição>` | Diagnóstico |

## Stack obrigatória de geração visual

- **Higgsfield CLI** (não MCP, não fal.ai, não outro provedor) — modelo `gpt_image_2` (não `nano_banana_2` — Carrossel é exceção da regra geral do Agent Lab)
- **Pillow** (Python) para compor a logo sem alterar proporção (slides 1 e 9)
- **Notion MCP** quando disponível, pra registrar carrosséis e consumir Brand Identity
- **Drive** opcional pra backup

Pipeline padrão (do `09-Render-Engine.md`):
1. Gera capa via `higgsfield upload create` + `higgsfield generate create gpt_image_2`
2. Captura UUID da capa
3. Gera slides 2-9 **em paralelo**, cada um passando capa + refs visuais da marca + foto da notícia como UUIDs de referência (continuidade slide-a-slide)
4. Aplica logo via Pillow (slides 1 e 9, sem distorcer)
5. Salva 9 PNGs em `{CWD}/human-output/carrossel/{brand-slug}/{YYYY-MM-DD}/`
6. Faz backup no Drive (se configurado) e registra no Notion (se MCP disponível)

## Regras críticas

- **Brand Identity manda.** Antes de gerar, sempre carregar a Brand Identity (Notion ou .brand.json local). Sem Brand Identity, parar e configurar.
- **Modo white-label**: trocar de marca = trocar Brand Identity, nunca tocar nos arquivos da skill.
- **Pesquisa primeiro, escrita depois.** Se o input for tema simples, pesquisar via `web_search`/`web_fetch` antes de escolher o ângulo editorial.
- **Capa primeiro, depois paralelo.** Nunca gerar slides internos antes da capa estar pronta (eles dependem da UUID dela como referência).
- **Anti-AI-slop**: ler `05-Manual-Editorial.md` antes de gerar copy. Sem clichês, sem voz genérica, sem promessas vagas.
- **Headline com força.** `06-Engine-de-Headlines.md` é o motor. Não pular.
- **Logo nunca distorcida.** Pillow + composição respeitando proporção original. Slides 1 e 9 só.
- **Checkpoints humanos**: aprovação antes de publicar; sempre marcar Status = Rascunho/Aprovado/Postado no Notion.
- **Outputs sempre versionados** por data (`YYYY-MM-DD/`) e por marca. Nunca em `output/` genérico.
- **Re-render é barato**: aproveita pipeline editorial já feito, refaz só visual. Use sem medo.
- **Override de notícia** via `--news=N` na primeira mensagem da próxima Run now.

## Dependências externas pra rodar 100%

- Claude Desktop com Routines (Remote pra R1, Local pra R2)
- Notion Integration Token (pra setup wizard criar databases)
- Notion MCP (pra R2 consumir Brand Identity e registrar carrossel)
- Higgsfield CLI logado (`higgsfield account status` deve estar OK) com modelo `gpt_image_2` disponível
- Python + Pillow (`pip install Pillow`) pra composição de logo
- Drive opcional via rclone ou MCP
- `web_search` / `web_fetch` nativos pra pesquisa de tema

## Quando dispensar a Routine

Se o usuário só pede "um carrossel sobre X" (não quer rotina automática), pular setup de Routine e ir direto pro modo Input Próprio: pesquisar tema → escolher ângulo → gerar headline → arquitetura narrativa → copy dos 9 slides → direção visual → render. Entregar 9 PNGs na pasta `{CWD}/human-output/carrossel/{brand-slug}/{YYYY-MM-DD}/` + legenda.

## Ao finalizar uma execução

- Reportar pasta final como link clicável (path absoluto)
- Listar os 9 PNGs como links clicáveis
- Listar legenda + manifest.json se gerados
- Não listar os `.md` internos individualmente
- Informar próximo passo: aprovar no Notion, baixar, postar
