# SCHEMA JSON — `03-voz-de-marca.json`

Schema canônico do arquivo gerado pela skill. Local fixo: `~/imperio/mentoradas/[nome-slug]/03-voz-de-marca.json`.

Toda skill consumidora valida contra esse schema antes de usar. Se chave obrigatória estiver faltando, skill consumidora chama `voz-de-marca-builder --auditar` antes de gerar.

---

## Schema completo

```json
{
  "$schema": "voz-de-marca-builder/v1.0",
  "mentorada": "string (slug)",
  "nome_completo": "string",
  "fase_travessia": "principe | princesa | duquesa | marquesa | imperatriz",
  "tom_principal": "formal | informal | intimo | empoderador | tecnico | poetico | agressivo | acolhedor | intimo-empoderador | acolhedor-tecnico | etc (combinações permitidas com hifen)",
  "tons_secundarios": ["array de string", "max 2"],
  "abordagem": "coracao | coracao-com-cabeca | cabeca-com-coracao | cabeca",
  "amiga_ou_coach": "amiga | amiga-com-autoridade | coach-acolhedora | coach",
  "frase_de_voz": "string — descrição em 1 frase de como ela fala",

  "palavras_ancora": [
    "array de string",
    "min 5",
    "max 15"
  ],

  "palavras_banidas": [
    "array de string",
    "min 5",
    "max 20"
  ],

  "ritmo": {
    "padrao": "curtas | longas | alternado | alternado-com-quebra-curta | alternado-com-quebra-longa",
    "tamanho_medio_frase": "number (palavras)",
    "desvio_padrao_frase": "number",
    "frase_mais_curta_observada": "number",
    "frase_mais_longa_observada": "number",
    "pontuacao_caracteristica": [
      "travessao | reticencias | ponto-virgula | dois-pontos | parenteses | negrito | caixa-alta | linha-em-branco | emoji"
    ],
    "quebra_paragrafo": "rara | normal | frequente-stories-style | longa-corrida-blog",
    "tiques_deliberados": [
      "comecar-com-E-ou-Mas | frase-sem-verbo | virgula-fora-da-norma | caixa-alta-pra-enfase | repetir-palavra-pra-enfase"
    ]
  },

  "girias_ok": ["array de string"],
  "girias_evitar": ["array de string"],
  "regionalismos": ["array de string"],
  "como_chama_audiencia": ["array de string"],
  "termos_tecnicos_naturalizados": ["array de string"],

  "abertura_padrao": [
    {
      "canal": "instagram-feed | instagram-stories | email | whatsapp-direto | pagina-vendas | vsl | post-blog | linkedin",
      "formula": "string"
    }
  ],

  "fechamento_padrao": [
    {
      "canal": "instagram-feed | instagram-stories | email | whatsapp-direto | pagina-vendas | vsl | post-blog | linkedin | cta-vendas",
      "formula": "string"
    }
  ],

  "exemplos_canonicos": [
    {
      "id": "number",
      "canal": "string",
      "tipo": "vitrine | venda | bastidor | ensaio | emocao",
      "data_aproximada": "string YYYY-MM",
      "texto": "string — texto cru completo, NUNCA passado por IA"
    }
  ],

  "data_captura": "string YYYY-MM-DD",
  "capturado_por": "voz-de-marca-builder@1.0",
  "modo_captura": "entrevista | auto | hibrido",
  "versao": "number — começa em 1, incrementa a cada --versionar",
  "historico_versoes": [
    {
      "versao": "number",
      "data": "string YYYY-MM-DD",
      "motivo_mudanca": "string — ex: 'subiu de Princesa pra Marquesa, voz ficou mais autoridade'",
      "campos_alterados": ["array de string"]
    }
  ],
  "consentimento_explicito": "boolean — sempre true",
  "observacoes_da_skill": "string — notas livres sobre captura"
}
```

---

## Exemplo 1 — Tata Gonçalves (Imperatriz)

```json
{
  "$schema": "voz-de-marca-builder/v1.0",
  "mentorada": "tata-goncalves",
  "nome_completo": "Tata Gonçalves",
  "fase_travessia": "imperatriz",
  "tom_principal": "intimo-empoderador",
  "tons_secundarios": ["acolhedor", "tecnico"],
  "abordagem": "coracao-com-cabeca",
  "amiga_ou_coach": "amiga-com-autoridade",
  "frase_de_voz": "amiga que abraça forte mas não passa a mão na cabeça — fala de igual pra igual com a mulher que decide ser soberana",

  "palavras_ancora": [
    "soberania",
    "imperatriz",
    "travessia",
    "mentorada",
    "arsenal",
    "comando",
    "fundação",
    "voz",
    "operação",
    "nota 1000",
    "padrão Tata",
    "ecossistema"
  ],

  "palavras_banidas": [
    "guerreira",
    "boss lady",
    "girlboss",
    "empoderada (sem contexto)",
    "menina do bem",
    "transformação",
    "jornada",
    "mindset",
    "vibração",
    "energia",
    "abundância",
    "manifestação",
    "fofa",
    "delicada",
    "maravilhosa"
  ],

  "ritmo": {
    "padrao": "alternado-com-quebra-curta",
    "tamanho_medio_frase": 13,
    "desvio_padrao_frase": 9,
    "frase_mais_curta_observada": 2,
    "frase_mais_longa_observada": 38,
    "pontuacao_caracteristica": ["travessao", "linha-em-branco", "caixa-alta"],
    "quebra_paragrafo": "frequente-stories-style",
    "tiques_deliberados": ["comecar-com-E-ou-Mas", "frase-sem-verbo", "caixa-alta-pra-enfase"]
  },

  "girias_ok": ["tipo", "aí", "né", "cara", "mulher"],
  "girias_evitar": ["mano", "véi", "top", "da hora", "fofo"],
  "regionalismos": [],
  "como_chama_audiencia": ["mentorada", "imperatriz", "mulher", "amada"],
  "termos_tecnicos_naturalizados": ["travessia", "arsenal", "fundação", "ecossistema", "operação"],

  "abertura_padrao": [
    {"canal": "instagram-feed", "formula": "Mentorada, …"},
    {"canal": "instagram-feed", "formula": "Hoje vou te falar uma coisa que ninguém te conta sobre…"},
    {"canal": "email", "formula": "Imperatriz, …"},
    {"canal": "stories", "formula": "Tem uma coisa que eu preciso te falar agora…"},
    {"canal": "whatsapp-direto", "formula": "[Nome], olha…"}
  ],

  "fechamento_padrao": [
    {"canal": "instagram-feed", "formula": "É isso. Imperatriz não pede licença."},
    {"canal": "instagram-feed", "formula": "Te vejo dentro da Travessia."},
    {"canal": "email", "formula": "Com soberania, Tata."},
    {"canal": "stories", "formula": "Me conta nos directs."},
    {"canal": "cta-vendas", "formula": "Imperatriz não pede licença. Clica aqui."}
  ],

  "exemplos_canonicos": [
    {
      "id": 1,
      "canal": "instagram-feed",
      "tipo": "vitrine",
      "data_aproximada": "2026-04",
      "texto": "Mentorada, escuta uma coisa.\n\nVocê não precisa de mais um curso. Você precisa de SOBERANIA na operação.\n\nSoberania é quando a sua voz manda no seu negócio. Não a do guru, não a do algoritmo, não a do medo.\n\nA Travessia é isso. Travessia da mulher que faz pra mulher que comanda.\n\nÉ isso. Imperatriz não pede licença."
    },
    {
      "id": 2,
      "canal": "email",
      "tipo": "venda",
      "data_aproximada": "2026-04",
      "texto": "Imperatriz,\n\nTô abrindo 5 vagas pra Travessia novembro. Cinco. Não dez.\n\nQuem entra agora pega a fundação completa antes do mercado virar.\n\nResposta no link. Vaga vai virar pó até sexta.\n\nCom soberania, Tata."
    },
    {
      "id": 3,
      "canal": "whatsapp-direto",
      "tipo": "bastidor",
      "data_aproximada": "2026-04",
      "texto": "Carla, olha — você tá segurando isso há 3 semanas. Já passou de prazo de pensar. Decide. Se for sim, eu te abro a porta hoje. Se for não, fica em paz e a gente conversa daqui 6 meses. Mas decide."
    }
  ],

  "data_captura": "2026-05-08",
  "capturado_por": "voz-de-marca-builder@1.0",
  "modo_captura": "entrevista",
  "versao": 1,
  "historico_versoes": [],
  "consentimento_explicito": true,
  "observacoes_da_skill": "Voz fundadora da Travessia Imperatriz. Referência canônica do ecossistema. Versão 1 captura voz Tata na fase Imperatriz consolidada."
}
```

---

## Exemplo 2 — Carla Mendes (Princesa subindo pra Marquesa)

```json
{
  "$schema": "voz-de-marca-builder/v1.0",
  "mentorada": "carla-mendes",
  "nome_completo": "Carla Mendes",
  "fase_travessia": "princesa",
  "tom_principal": "intimo-acolhedor",
  "tons_secundarios": ["poetico"],
  "abordagem": "coracao-com-cabeca",
  "amiga_ou_coach": "amiga",
  "frase_de_voz": "amiga próxima que escreve com carinho mas tem profundidade — fala da pele pra pele",

  "palavras_ancora": [
    "amor",
    "trabalho",
    "ofício",
    "presença",
    "verdade",
    "casa",
    "raiz",
    "pertencimento",
    "tempo"
  ],

  "palavras_banidas": [
    "imperatriz",
    "soberania",
    "travessia",
    "arsenal",
    "comando",
    "guerreira",
    "boss lady",
    "high ticket",
    "nicho",
    "escala"
  ],

  "ritmo": {
    "padrao": "alternado-com-quebra-longa",
    "tamanho_medio_frase": 17,
    "desvio_padrao_frase": 11,
    "frase_mais_curta_observada": 4,
    "frase_mais_longa_observada": 42,
    "pontuacao_caracteristica": ["reticencias", "virgula", "linha-em-branco"],
    "quebra_paragrafo": "longa-corrida-blog",
    "tiques_deliberados": ["frase-sem-verbo", "repetir-palavra-pra-enfase"]
  },

  "girias_ok": ["sabe?", "tipo", "né"],
  "girias_evitar": ["mano", "cara", "véi", "top"],
  "regionalismos": ["uai"],
  "como_chama_audiencia": ["amada", "minha gente", "minhas meninas"],
  "termos_tecnicos_naturalizados": ["ofício", "casa"],

  "abertura_padrao": [
    {"canal": "instagram-feed", "formula": "Tem dias que eu acordo pensando…"},
    {"canal": "instagram-feed", "formula": "Olha, eu vou te contar uma coisa…"},
    {"canal": "email", "formula": "Amada, …"},
    {"canal": "stories", "formula": "Vem cá, vem comigo…"}
  ],

  "fechamento_padrao": [
    {"canal": "instagram-feed", "formula": "É isso. De coração."},
    {"canal": "email", "formula": "Com carinho, Carla."},
    {"canal": "stories", "formula": "Me conta como foi."}
  ],

  "exemplos_canonicos": [
    {
      "id": 1,
      "canal": "instagram-feed",
      "tipo": "vitrine",
      "data_aproximada": "2026-04",
      "texto": "Tem dias que eu acordo pensando no quanto o trabalho que a gente faz é amor disfarçado. Sério.\n\nVocê acorda, vai pro estúdio, recebe a cliente, escuta, atende. Parece técnica. Parece ofício. Mas é amor.\n\nQuem trabalha com gente sabe.\n\nÉ isso. De coração."
    },
    {
      "id": 2,
      "canal": "email",
      "tipo": "venda",
      "data_aproximada": "2026-04",
      "texto": "Amada,\n\nAbri 8 vagas pro programa de outono. Não é high-ticket. Não é guru. É o que eu construí ao longo de 12 anos atendendo mulher de verdade.\n\nSe ressoar, tô aqui.\n\nCom carinho, Carla."
    },
    {
      "id": 3,
      "canal": "whatsapp-direto",
      "tipo": "bastidor",
      "data_aproximada": "2026-04",
      "texto": "Oi querida, vi sua mensagem ontem mas só consegui responder agora. Olha, sobre o que você me contou — eu sinto o mesmo. Vamos conversar com calma quarta? Te mando horário daqui a pouco. Beijo."
    }
  ],

  "data_captura": "2026-05-08",
  "capturado_por": "voz-de-marca-builder@1.0",
  "modo_captura": "entrevista",
  "versao": 1,
  "historico_versoes": [],
  "consentimento_explicito": true,
  "observacoes_da_skill": "Carla bane explicitamente vocabulário Tata (imperatriz, soberania, travessia). Voz dela é o oposto do empoderamento high-ticket — é proximidade artesanal. Ritmo mais longo, parágrafo corrido, reticências como marca."
}
```

---

## Exemplo 3 — Renata Vasco (Marquesa estabilizada)

```json
{
  "$schema": "voz-de-marca-builder/v1.0",
  "mentorada": "renata-vasco",
  "nome_completo": "Renata Vasco",
  "fase_travessia": "marquesa",
  "tom_principal": "tecnico-empoderador",
  "tons_secundarios": ["formal", "agressivo"],
  "abordagem": "cabeca-com-coracao",
  "amiga_ou_coach": "coach",
  "frase_de_voz": "executiva direta que respeita a inteligência da leitora — fala em dado, decisão e prazo",

  "palavras_ancora": [
    "estratégia",
    "decisão",
    "operação",
    "número",
    "prazo",
    "meta",
    "ROI",
    "padrão",
    "execução",
    "performance"
  ],

  "palavras_banidas": [
    "fofa",
    "amada",
    "delicada",
    "energia",
    "vibração",
    "manifestação",
    "abundância",
    "menina",
    "florzinha",
    "queridinha",
    "gracinha",
    "imperatriz",
    "guerreira"
  ],

  "ritmo": {
    "padrao": "curtas",
    "tamanho_medio_frase": 9,
    "desvio_padrao_frase": 5,
    "frase_mais_curta_observada": 3,
    "frase_mais_longa_observada": 22,
    "pontuacao_caracteristica": ["dois-pontos", "ponto-virgula", "negrito"],
    "quebra_paragrafo": "normal",
    "tiques_deliberados": ["frase-sem-verbo", "caixa-alta-pra-enfase"]
  },

  "girias_ok": [],
  "girias_evitar": ["tipo", "né", "aí", "mano", "véi", "cara"],
  "regionalismos": [],
  "como_chama_audiencia": ["você", "executiva", "líder"],
  "termos_tecnicos_naturalizados": ["ROI", "CAC", "LTV", "performance", "P&L"],

  "abertura_padrao": [
    {"canal": "instagram-feed", "formula": "3 dados. 1 conclusão."},
    {"canal": "instagram-feed", "formula": "Sua operação tem [X]. Aqui está o porquê:"},
    {"canal": "email", "formula": "Olá, [Nome]."},
    {"canal": "linkedin", "formula": "Observação da semana:"}
  ],

  "fechamento_padrao": [
    {"canal": "instagram-feed", "formula": "Decisão é sua."},
    {"canal": "email", "formula": "Atenciosamente, Renata Vasco."},
    {"canal": "cta-vendas", "formula": "Próximo passo aqui: [link]."}
  ],

  "exemplos_canonicos": [
    {
      "id": 1,
      "canal": "instagram-feed",
      "tipo": "vitrine",
      "data_aproximada": "2026-04",
      "texto": "3 dados. 1 conclusão.\n\n1. 78% das empresárias B2C operam sem dashboard.\n2. Quem opera com dashboard cresce em média 2,3x mais rápido.\n3. Custo médio de implementação: R$ 4.800.\n\nConclusão: o gap não é capital. É processo.\n\nDecisão é sua."
    },
    {
      "id": 2,
      "canal": "email",
      "tipo": "venda",
      "data_aproximada": "2026-04",
      "texto": "Olá, [Nome].\n\nAbri 12 vagas pro Programa Performance Q3. Critério: faturamento mínimo R$ 80k/mês recorrente.\n\nCandidatura via formulário. Processo seletivo até 30/05.\n\nAtenciosamente, Renata Vasco."
    },
    {
      "id": 3,
      "canal": "whatsapp-direto",
      "tipo": "bastidor",
      "data_aproximada": "2026-04",
      "texto": "[Nome], li sua mensagem. Resposta direta: o problema não é o time. É a meta sem decomposição. Marca uma call de 30 min comigo terça. Te mando 2 horários."
    }
  ],

  "data_captura": "2026-05-08",
  "capturado_por": "voz-de-marca-builder@1.0",
  "modo_captura": "entrevista",
  "versao": 1,
  "historico_versoes": [],
  "consentimento_explicito": true,
  "observacoes_da_skill": "Renata bane todo vocabulário 'fofo' e maternal. Voz é executiva pura. Frases curtas. Pontuação de relatório (dois-pontos, ponto-vírgula, negrito). Sem gírias. Tratamento por 'você' formal."
}
```

---

## Validação obrigatória do JSON

Antes de gravar, a skill valida:

| Regra | Critério |
|-------|----------|
| 1 | Todas as chaves obrigatórias presentes |
| 2 | `palavras_ancora.length >= 5 && <= 15` |
| 3 | `palavras_banidas.length >= 5 && <= 20` |
| 4 | `tons_secundarios.length <= 2` |
| 5 | `abertura_padrao.length >= 3 && <= 5` |
| 6 | `fechamento_padrao.length >= 3 && <= 5` |
| 7 | `exemplos_canonicos.length >= 3 && <= 5` |
| 8 | Cada exemplo canônico com `texto.length >= 50` palavras |
| 9 | `consentimento_explicito === true` |
| 10 | `versao >= 1` |
| 11 | `data_captura` em formato `YYYY-MM-DD` |
| 12 | Nenhuma palavra-âncora em palavras-banidas (consistência) |

Se falhar em qualquer regra → skill devolve erro e volta ao bloco específico pra refinar.

---

## Compatibilidade com versionamento

Quando `--versionar` é invocado:

1. Lê o JSON existente
2. Cria nova versão (`versao: N+1`)
3. Adiciona entrada em `historico_versoes` com data, motivo da mudança, campos alterados
4. Sobrescreve o arquivo com versão nova (preservando histórico)
5. Skills consumidoras passam a ler versão mais recente automaticamente

Exemplo de `historico_versoes` populado:

```json
"versao": 2,
"historico_versoes": [
  {
    "versao": 1,
    "data": "2025-08-15",
    "motivo_mudanca": "Captura inicial — fase Princesa",
    "campos_alterados": ["primeira-captura"]
  }
],
"observacoes_da_skill": "Versão 2 — Carla subiu de Princesa pra Marquesa. Voz ganhou mais autoridade, palavras-âncora 'estratégia' e 'decisão' adicionadas, ritmo ficou mais alternado (antes era só corrido)."
```

---

**Schema JSON — propriedade intelectual Tata Gonçalves.**
