Comunicado Semanal de Aula
Objetivo
Gerar o comunicado semanal de aula/encontro ao vivo de uma comunidade, sempre a partir do template registrado no KB do produto — nunca inventando texto novo.
Fonte de verdade (templates por produto)
- Diretora:
kb/products/comunidade-diretoras-aula-semanal.md - MRZ:
kb/products/comunidade-mrz-aula-semanal.md
Fluxo (rodar toda semana, um produto por vez)
- Achar a próxima data de aula do produto: próxima quarta (MRZ) ou próxima quinta (Diretora) a partir de hoje.
- Checar se já tem campanha real pra essa data (evitar duplicar): chamar
GET https://app.reorganize.com.br/api/v1/campaigns/{campaign_slug}(headerAuthorization: Bearer <token>, mesmo token do/api/v1/audience—.secrets/reorganize_api_credentials.jsonouREORGANIZE_API_TOKEN) com ocampaign_slugesperado (mrz-aula-semanal-{data}/diretora-aula-semanal-{data},dataem AAAAMMDD).404= não existe, pode seguir. Se existir estatusnão forcanceled, não recriar — só reportar o que já está agendado (dá pra conferir visualmente também emadmin_comunicados_queue.php).- Esse endpoint (
api/v1/campaigns.php, registrado emapi/router.php) existe porque o host MySQL (mysql2.reorganize.com.br) só é alcançável de dentro da VPS — uma tentativa de conectar direto do Mac local dáConnection refused. Antes disso só dava pra checar duplicidade via SSH rodando SELECT na VPS; agora dá pra checar via HTTPS, do mesmo jeito que a audiência já é resolvida.
- Esse endpoint (
- Calcular o tema da semana pela âncora do ciclo de 12 semanas registrada no KB do produto ("MRZ" / "Diretora") — contar semanas a partir da data-âncora, ciclo fecha em 12 e reinicia. Se a âncora estiver velha (~13+ semanas sem confirmação), perguntar a Hugo em vez de confiar cegamente no cálculo.
- Montar assunto e corpo a partir do template de email do produto, preenchendo
{tema},{horario},{link_zoom},{link_agenda}— nunca inventar texto novo fora do template. - Dry-run via
enviar-comunicado-email-skill(comunicado_email_cli.phpsem--commit) pra confirmar contagem de audiência. - Conferir os checks (sem campanha duplicada pra data, âncora do ciclo fresca, audiência na faixa esperada — MRZ ~2.900, Diretora ~365). Se algum falhar, parar e mostrar pra Hugo antes do
--commit. - Commit com
--scheduled-atàs 09:00 do dia da aula (não no horário da aula — decisão de Hugo em 2026-08-21, registrada também nos dois KBs de produto). - Avisar a equipe no Telegram [RZ] CS (chat_id
-1004318153907, viarz-coo/agents/operations-JOSHUA/tools/telegram_send.py) — resumo curto: data, tema, audiência e link de acompanhamento emadmin_comunicados_queue.php?campaign_slug=.... Substituiu o email pra cs@/financeiro@ (decisão de Hugo em 2026-09-07). - Devolver pra Hugo os links de acompanhamento de cada campanha agendada.
Regra de governança
Desde 2026-09-07 este fluxo é autopilot: com os checks do passo 6 passando, o agente roda o --commit real sem esperar OK no chat e reporta no Telegram [RZ] CS (passo 8). Hugo decidiu isso depois de semanas de execução correta com confirmação manual (desde 2026-08-20).
Vale só para o comunicado semanal de aula (MRZ/Diretora). Qualquer outro comunicado segue a regra geral de procedimento-envio-comunicados-por-ia.md: autorização explícita no chat, por envio.
Parâmetros do CLI específicos da aula semanal
Mecanismo de envio (script, dry-run, --commit, agendamento) é o genérico de enviar-comunicado-email. Aqui só muda:
--product=<product_slug do produto>(diretora, mrz, ...)--campaign-slug=comunicado-<produto>-YYYYMMDD--subject="Aula de hoje: <tema>"--sender-name="Priscila Sabóia"(é a voz da aula, diferente do default "Reorganize")message_typefica no defaultacademica(não passar--message-type)
Canal decidido em 2026-08-20: email pelo sistema de comunicados do WebApp, audiência person do produto (não WhatsApp em grupo).
Erros a evitar
- Não criar cronograma de temas novo para produto que ainda não tem um definido — decisão do Hugo/Priscila, não da automação.
- Não reintroduzir templates de "anúncio de mudança de estrutura" — foram removidos de propósito do KB da Diretora; o comunicado semanal é evergreen.
- Não usar
/private/tmpou scripts descartáveis — o script fica versionado emreorganize-webapp.
Status
MVP testado em produção em 2026-08-20 (comunicado Diretora, 366 destinatários, 0 erros). Em 2026-08-21, primeiro ciclo completo rodado ponta a ponta pra semana seguinte de ambos os produtos: MRZ (2.883 destinatários, agendado 26/08 09h) e Diretora (366 destinatários, agendado 27/08 09h), com aviso interno enviado. Cobre Diretora e MRZ. Academia fica para depois.
Em 2026-08-25, a checagem de duplicidade (passo 2) passou a usar o endpoint GET /api/v1/campaigns/{campaign_slug} em vez de exigir acesso direto ao banco — a execução automática de segunda (24/08) travou tentando conectar em mysql2.reorganize.com.br direto da máquina local, que não é alcançável de fora da VPS.