drm-core 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/cli/index.js +396 -201
  2. package/package.json +1 -1
  3. package/scaffold/.drm-core/checklists/campanha-pre-launch.md +49 -0
  4. package/scaffold/.drm-core/checklists/compliance-google.md +46 -0
  5. package/scaffold/.drm-core/checklists/compliance-meta.md +49 -0
  6. package/scaffold/.drm-core/checklists/compliance-tiktok.md +46 -0
  7. package/scaffold/.drm-core/checklists/compliance-vsl.md +48 -0
  8. package/scaffold/.drm-core/checklists/copy-quality-gate.md +55 -0
  9. package/scaffold/.drm-core/checklists/funil-pre-launch.md +66 -0
  10. package/scaffold/.drm-core/checklists/whatsapp-compliance.md +49 -0
  11. package/scaffold/.drm-core/data/agent-config.yaml +220 -0
  12. package/scaffold/.drm-core/data/workflow-chains.yaml +374 -0
  13. package/scaffold/.drm-core/tasks/analise/diagnostico-funil.md +314 -0
  14. package/scaffold/.drm-core/tasks/compliance/revisar-ad-meta.md +242 -0
  15. package/scaffold/.drm-core/tasks/copy/escrever-ad-meta.md +191 -0
  16. package/scaffold/.drm-core/tasks/copy/escrever-email-sequence.md +237 -0
  17. package/scaffold/.drm-core/tasks/copy/escrever-msgs-whatsapp.md +220 -0
  18. package/scaffold/.drm-core/tasks/copy/escrever-pagina-vendas.md +276 -0
  19. package/scaffold/.drm-core/tasks/copy/escrever-vsl-full.md +235 -0
  20. package/scaffold/.drm-core/tasks/direcao-criativa/criar-conceito.md +249 -0
  21. package/scaffold/.drm-core/tasks/direcao-criativa/validar-criativo.md +202 -0
  22. package/scaffold/.drm-core/tasks/estrategia/criar-briefing.md +274 -0
  23. package/scaffold/.drm-core/tasks/estrategia/pesquisa-mercado.md +200 -0
  24. package/scaffold/.drm-core/tasks/funil/arquitetar-funil-vsl.md +228 -0
  25. package/scaffold/.drm-core/tasks/funil/fluxo-whatsapp-backend.md +291 -0
  26. package/scaffold/.drm-core/tasks/trafego/escalar-campanha.md +256 -0
  27. package/scaffold/.drm-core/tasks/trafego/montar-campanha-meta.md +303 -0
  28. package/scaffold/.drm-core/templates/ad-meta-template.md +391 -0
  29. package/scaffold/.drm-core/templates/avatar-template.md +468 -0
  30. package/scaffold/.drm-core/templates/briefing-estrategico-template.md +462 -0
  31. package/scaffold/.drm-core/templates/compliance-report-template.md +86 -0
  32. package/scaffold/.drm-core/templates/estrutura-campanha-template.md +492 -0
  33. package/scaffold/.drm-core/templates/funil-vsl-template.md +470 -0
  34. package/scaffold/.drm-core/templates/msgs-whatsapp-template.md +516 -0
  35. package/scaffold/.drm-core/templates/pagina-vendas-template.md +517 -0
  36. package/scaffold/.drm-core/templates/relatorio-template.md +313 -0
  37. package/scaffold/.drm-core/templates/vsl-curta-template.md +341 -0
  38. package/scaffold/.drm-core/templates/vsl-full-template.md +780 -0
  39. package/scaffold/.drm-core/templates/vsl-mini-template.md +360 -0
  40. package/scaffold/.drm-core/workflows/backend-whatsapp.yaml +395 -0
  41. package/scaffold/.drm-core/workflows/campanha-trafego.yaml +465 -0
  42. package/scaffold/.drm-core/workflows/copy-review-loop.yaml +333 -0
  43. package/scaffold/.drm-core/workflows/funil-vsl-completo.yaml +544 -0
  44. package/scaffold/.drm-core/workflows/lancamento-produto.yaml +402 -0
  45. package/scaffold/.drm-core/workflows/microlead-pipeline.yaml +408 -0
  46. package/scaffold/.drm-core/workflows/otimizacao-cycle.yaml +394 -0
  47. package/scaffold/.drm-core/workflows/reativacao-cycle.yaml +468 -0
@@ -0,0 +1,394 @@
1
+ # =============================================================================
2
+ # OTIMIZACAO CYCLE — Workflow Iterativo (Loop)
3
+ # Pipeline: diagnostico → decisao → execucao → compliance → medicao → loop
4
+ # =============================================================================
5
+
6
+ workflow:
7
+ id: otimizacao-cycle
8
+ name: "Ciclo de Otimizacao"
9
+ version: "1.0"
10
+ description: >
11
+ Ciclo continuo de otimizacao de funil e campanha. @cronos diagnostica
12
+ gargalos comparando metricas reais vs benchmarks, @atena decide qual
13
+ agente deve intervir usando decision tree, o agente designado executa
14
+ a correcao, @temis revisa se compliance foi afetado, @cronos mede
15
+ resultado antes/depois. Loop continua ate meta atingida ou hipoteses
16
+ esgotadas.
17
+
18
+ trigger: manual
19
+ estimated_duration: "continuo (ciclos de 3-7 dias)"
20
+ priority: high
21
+ type: iterative_loop
22
+
23
+ # ---------------------------------------------------------------------------
24
+ # FASES
25
+ # ---------------------------------------------------------------------------
26
+ phases:
27
+ - phase_1: "Diagnostico de Performance"
28
+ - phase_2: "Decisao e Roteamento"
29
+ - phase_3: "Execucao da Correcao"
30
+ - phase_4: "Compliance (se aplicavel)"
31
+ - phase_5: "Medicao de Resultado"
32
+ - phase_loop: "Loop ate meta ou hipoteses esgotadas"
33
+
34
+ # ---------------------------------------------------------------------------
35
+ # CONFIGURACAO DO LOOP
36
+ # ---------------------------------------------------------------------------
37
+ loop_config:
38
+ max_iterations: 10
39
+ current_iteration: 0
40
+ min_measurement_period: "72h"
41
+ exit_conditions:
42
+ - "Meta de KPI atingida"
43
+ - "Todas as hipoteses testadas sem melhoria"
44
+ - "max_iterations atingido"
45
+ - "Budget esgotado"
46
+ state_file: "docs/otimizacao/cycle-state.yaml"
47
+
48
+ # ---------------------------------------------------------------------------
49
+ # BENCHMARKS DE REFERENCIA
50
+ # ---------------------------------------------------------------------------
51
+ benchmarks:
52
+ funil:
53
+ opt_in_rate: "25-40%"
54
+ vsl_view_rate: "30-50%"
55
+ vsl_completion_rate: "15-30%"
56
+ checkout_conversion: "3-8%"
57
+ bump_take_rate: "20-40%"
58
+ upsell_take_rate: "10-25%"
59
+ downsell_take_rate: "15-30%"
60
+ trafego:
61
+ ctr_link: "1-3%"
62
+ cpc: "R$ 0.50-2.00"
63
+ cpl: "R$ 3-15"
64
+ cpa: "Varia por ticket"
65
+ roas: ">= 2.0"
66
+ hook_rate: "25-40%"
67
+ hold_rate: "15-25%"
68
+ frequency_max: 3
69
+ email:
70
+ open_rate: "20-35%"
71
+ click_rate: "2-5%"
72
+ unsubscribe_rate: "< 0.5%"
73
+ whatsapp:
74
+ response_rate: "40-70%"
75
+ conversion_rate: "5-15%"
76
+
77
+ # ---------------------------------------------------------------------------
78
+ # DECISION TREE
79
+ # ---------------------------------------------------------------------------
80
+ decision_tree:
81
+ - gargalo: "Hook rate baixo (< 25%)"
82
+ problema: "Criativo nao para o scroll"
83
+ agente: "@zeus"
84
+ acao: "Reescrever hooks com novos angulos"
85
+ prioridade: "P0"
86
+
87
+ - gargalo: "CTR baixo (< 1%) com hook rate OK"
88
+ problema: "Copy do ad nao converte clique"
89
+ agente: "@apolo"
90
+ acao: "Reescrever primary text e headline"
91
+ prioridade: "P0"
92
+
93
+ - gargalo: "CPA alto com CTR OK"
94
+ problema: "Publico ou bid strategy inadequados"
95
+ agente: "@hermes"
96
+ acao: "Ajustar publicos, bid cap, exclusoes"
97
+ prioridade: "P0"
98
+
99
+ - gargalo: "Opt-in rate baixo (< 25%)"
100
+ problema: "Pagina de captura nao converte"
101
+ agente: "@afrodite"
102
+ acao: "Redesenhar LP acima da dobra"
103
+ co_agente: "@apolo"
104
+ co_acao: "Reescrever headline e CTA da captura"
105
+ prioridade: "P1"
106
+
107
+ - gargalo: "VSL view rate baixo (< 30%)"
108
+ problema: "Lead nao assiste a VSL"
109
+ agente: "@apolo"
110
+ acao: "Reescrever pre-frame e headline da pagina VSL"
111
+ prioridade: "P1"
112
+
113
+ - gargalo: "VSL completion rate baixo (< 15%)"
114
+ problema: "VSL perde audiencia no meio"
115
+ agente: "@apolo"
116
+ acao: "Identificar ponto de queda e reescrever secao"
117
+ prioridade: "P1"
118
+
119
+ - gargalo: "Checkout conversion baixo (< 3%)"
120
+ problema: "Funil perde no checkout"
121
+ agente: "@poseidon"
122
+ acao: "Otimizar fluxo de checkout, reduzir friccao"
123
+ co_agente: "@apolo"
124
+ co_acao: "Melhorar microcopy e urgencia no checkout"
125
+ prioridade: "P0"
126
+
127
+ - gargalo: "Email open rate baixo (< 20%)"
128
+ problema: "Subject lines fracas"
129
+ agente: "@apolo"
130
+ acao: "Reescrever subject lines com A/B test"
131
+ prioridade: "P2"
132
+
133
+ - gargalo: "WhatsApp response rate baixo (< 40%)"
134
+ problema: "Mensagens nao engajam"
135
+ agente: "@apolo"
136
+ acao: "Reescrever mensagens com tom mais pessoal"
137
+ prioridade: "P2"
138
+
139
+ - gargalo: "Frequencia alta (> 3)"
140
+ problema: "Criativo saturado"
141
+ agente: "@zeus"
142
+ acao: "Desenvolver novo conceito C.A.S.H."
143
+ co_agente: "@hefesto"
144
+ co_acao: "Produzir novos criativos"
145
+ prioridade: "P0"
146
+
147
+ # ---------------------------------------------------------------------------
148
+ # SEQUENCIA DE STEPS
149
+ # ---------------------------------------------------------------------------
150
+ sequence:
151
+
152
+ # =========================================================================
153
+ # FASE 1 — DIAGNOSTICO DE PERFORMANCE (@cronos)
154
+ # =========================================================================
155
+ - step: coletar_metricas
156
+ phase: 1
157
+ agent: "@cronos"
158
+ action: "*coletar-metricas"
159
+ description: >
160
+ Coleta metricas de performance de todas as etapas do funil e campanha:
161
+ Meta Ads (CTR, CPC, CPL, CPA, ROAS, frequencia, hook rate),
162
+ funil (opt-in rate, view rate, completion rate, checkout CVR),
163
+ email (open rate, click rate), WhatsApp (response rate, CVR).
164
+ inputs:
165
+ - "Meta Ads Manager (via Meta MCP)"
166
+ - "Plataforma de funil (analytics)"
167
+ - "Plataforma de email (metricas)"
168
+ - "Plataforma de WhatsApp (metricas)"
169
+ - "docs/otimizacao/cycle-state.yaml (estado anterior)"
170
+ outputs:
171
+ - "docs/otimizacao/metricas-atuais.md"
172
+ requires: null
173
+ next: diagnosticar_gargalo
174
+ on_failure: "Coletar metricas disponiveis, marcar indisponiveis"
175
+ validation:
176
+ type: checklist
177
+ criteria: >
178
+ Metricas coletadas de todas as fontes disponiveis, periodo
179
+ definido (ultimos 3-7 dias), dados comparados com periodo
180
+ anterior (se existir).
181
+
182
+ - step: diagnosticar_gargalo
183
+ phase: 1
184
+ agent: "@cronos"
185
+ action: "*diagnosticar-gargalo"
186
+ description: >
187
+ Compara metricas atuais com benchmarks de referencia. Identifica
188
+ gargalo principal (metrica mais distante do benchmark), gargalos
189
+ secundarios, e prioriza por impacto no resultado final (ROAS).
190
+ Calcula impacto estimado se gargalo for resolvido.
191
+ inputs:
192
+ - "docs/otimizacao/metricas-atuais.md"
193
+ - "Benchmarks de referencia (definidos no workflow)"
194
+ - "docs/otimizacao/historico-diagnosticos.md (se existir)"
195
+ outputs:
196
+ - "docs/otimizacao/diagnostico-v{n}.md"
197
+ requires: coletar_metricas
198
+ next: decisao_roteamento
199
+ on_failure: "Listar todos os gargalos sem priorizar"
200
+ validation:
201
+ type: checklist
202
+ criteria: >
203
+ Diagnostico com: gargalo principal identificado, metrica
204
+ atual vs benchmark, impacto estimado no ROAS, prioridade
205
+ (P0/P1/P2), gargalos secundarios listados.
206
+
207
+ # =========================================================================
208
+ # FASE 2 — DECISAO E ROTEAMENTO (@atena)
209
+ # =========================================================================
210
+ - step: decisao_roteamento
211
+ phase: 2
212
+ agent: "@atena"
213
+ action: "*decisao-otimizacao"
214
+ description: >
215
+ Analisa diagnostico e usa decision tree para rotear a correcao
216
+ ao agente correto. Define: qual agente corrige, qual acao
217
+ especifica, hipotese a testar, metrica de sucesso, prazo
218
+ de medicao.
219
+ inputs:
220
+ - "docs/otimizacao/diagnostico-v{n}.md"
221
+ - "Decision tree (definido no workflow)"
222
+ - "docs/otimizacao/historico-decisoes.md (se existir)"
223
+ outputs:
224
+ - "docs/otimizacao/decisao-v{n}.md"
225
+ - "docs/otimizacao/briefing-correcao-v{n}.md"
226
+ requires: diagnosticar_gargalo
227
+ next: executar_correcao
228
+ on_failure: "Testar hipotese mais conservadora primeiro"
229
+ validation:
230
+ type: checklist
231
+ criteria: >
232
+ Decisao com: agente designado, acao especifica, hipotese
233
+ documentada ("Se X, entao Y"), metrica de sucesso com
234
+ threshold, prazo de medicao (minimo 72h).
235
+ decision_output:
236
+ agente_designado: "Baseado no decision tree"
237
+ acao: "Descricao especifica da correcao"
238
+ hipotese: "Se [correcao], entao [metrica] deve [melhorar em X%]"
239
+ metrica_sucesso: "Metrica especifica com threshold"
240
+ prazo_medicao: "72h minimo"
241
+
242
+ # =========================================================================
243
+ # FASE 3 — EXECUCAO DA CORRECAO (AGENTE DESIGNADO)
244
+ # =========================================================================
245
+ - step: executar_correcao
246
+ phase: 3
247
+ agent: "dinamico (definido em decisao_roteamento)"
248
+ action: "dinamico (definido em decisao_roteamento)"
249
+ description: >
250
+ O agente designado na Fase 2 executa a correcao especifica
251
+ conforme o briefing. Pode ser: @apolo (copy), @zeus (hooks/conceito),
252
+ @hermes (campanha/bid), @poseidon (funil), @afrodite (design),
253
+ @hefesto (criativo).
254
+ inputs:
255
+ - "docs/otimizacao/briefing-correcao-v{n}.md"
256
+ - "docs/otimizacao/diagnostico-v{n}.md"
257
+ - "Assets atuais que serao modificados"
258
+ outputs:
259
+ - "docs/otimizacao/correcao-v{n}.md"
260
+ - "Assets modificados (varia por agente)"
261
+ requires: decisao_roteamento
262
+ next: compliance_check
263
+ on_failure: "Documentar bloqueio e escalar para @atena"
264
+ validation:
265
+ type: checklist
266
+ criteria: >
267
+ Correcao executada conforme briefing, assets modificados
268
+ documentados, versao anterior preservada para rollback,
269
+ hipotese mantida na correcao.
270
+
271
+ # =========================================================================
272
+ # FASE 4 — COMPLIANCE (SE APLICAVEL) (@temis)
273
+ # =========================================================================
274
+ - step: compliance_check
275
+ phase: 4
276
+ agent: "@temis"
277
+ action: "*compliance-check-otimizacao"
278
+ description: >
279
+ Verifica se a correcao afetou compliance. So executa revisao
280
+ completa se a correcao envolveu copy ou criativo. Para
281
+ correcoes tecnicas (bid, publico, funil flow) faz check rapido.
282
+ inputs:
283
+ - "docs/otimizacao/correcao-v{n}.md"
284
+ - "Assets modificados"
285
+ - "docs/compliance/compliance-report.md (original)"
286
+ outputs:
287
+ - "docs/otimizacao/compliance-check-v{n}.md"
288
+ requires: executar_correcao
289
+ next: medir_resultado
290
+ on_failure: "Bloquear publicacao da correcao ate compliance OK"
291
+ validation:
292
+ type: conditional
293
+ criteria: >
294
+ Se correcao envolve copy/criativo: revisao completa de compliance.
295
+ Se correcao e tecnica: check rapido (politicas de plataforma).
296
+ APROVADO: Prosseguir para medicao.
297
+ AJUSTES: Corrigir antes de publicar.
298
+ conditions:
299
+ copy_or_creative_change:
300
+ review_type: "full"
301
+ checks: ["claims", "disclaimers", "Meta policies", "CONAR"]
302
+ technical_change:
303
+ review_type: "quick"
304
+ checks: ["Meta policies basicas"]
305
+
306
+ # =========================================================================
307
+ # FASE 5 — MEDICAO DE RESULTADO (@cronos)
308
+ # =========================================================================
309
+ - step: medir_resultado
310
+ phase: 5
311
+ agent: "@cronos"
312
+ action: "*medir-resultado-otimizacao"
313
+ description: >
314
+ Apos periodo minimo de medicao (72h), coleta novas metricas e
315
+ compara com baseline (antes da correcao). Calcula variacao
316
+ percentual, significancia estatistica (se volume suficiente),
317
+ impacto no ROAS global.
318
+ inputs:
319
+ - "docs/otimizacao/metricas-atuais.md (baseline)"
320
+ - "docs/otimizacao/decisao-v{n}.md (hipotese e metrica)"
321
+ - "Dados pos-correcao (minimo 72h)"
322
+ outputs:
323
+ - "docs/otimizacao/resultado-v{n}.md"
324
+ - "docs/otimizacao/historico-diagnosticos.md (append)"
325
+ requires: compliance_check
326
+ next: avaliar_continuidade
327
+ on_failure: "Estender periodo de medicao para 7 dias"
328
+ validation:
329
+ type: comparison
330
+ criteria: >
331
+ Comparacao antes/depois com: metrica alvo, valor antes,
332
+ valor depois, variacao percentual, significancia
333
+ (volume minimo: 100 conversoes ou 1000 cliques), impacto
334
+ no ROAS, veredicto (MELHOROU / NEUTRO / PIOROU).
335
+
336
+ - step: avaliar_continuidade
337
+ phase: 5
338
+ agent: "@atena"
339
+ action: "*avaliar-continuidade-ciclo"
340
+ description: >
341
+ Avalia se o ciclo deve continuar: meta atingida? Hipoteses
342
+ restantes? Budget disponivel? Decide entre: continuar loop
343
+ (proximo gargalo), manter correcao e escalar, ou encerrar
344
+ ciclo com report final.
345
+ inputs:
346
+ - "docs/otimizacao/resultado-v{n}.md"
347
+ - "docs/otimizacao/cycle-state.yaml"
348
+ - "KPIs alvo do projeto"
349
+ outputs:
350
+ - "docs/otimizacao/continuidade-v{n}.md"
351
+ - "docs/otimizacao/cycle-state.yaml (atualizado)"
352
+ requires: medir_resultado
353
+ next: "condicional"
354
+ on_failure: "Encerrar ciclo com report do que foi tentado"
355
+ validation:
356
+ type: routing
357
+ criteria: >
358
+ Roteamento baseado em resultado e estado do ciclo.
359
+ routing_rules:
360
+ - condition: "Meta de KPI atingida"
361
+ next: null
362
+ action: "Encerrar ciclo com report de sucesso"
363
+ - condition: "Melhoria detectada mas meta nao atingida"
364
+ next: coletar_metricas
365
+ action: "Novo ciclo com proximo gargalo"
366
+ - condition: "Sem melhoria e hipoteses restantes"
367
+ next: coletar_metricas
368
+ action: "Novo ciclo com hipotese alternativa"
369
+ - condition: "Sem melhoria e sem hipoteses"
370
+ next: null
371
+ action: "Encerrar ciclo — pivotar estrategia"
372
+ - condition: "Piorou"
373
+ next: executar_correcao
374
+ action: "Rollback para versao anterior"
375
+ - condition: "max_iterations atingido"
376
+ next: null
377
+ action: "Encerrar ciclo com report completo"
378
+
379
+ # ---------------------------------------------------------------------------
380
+ # CONFIGURACAO GLOBAL
381
+ # ---------------------------------------------------------------------------
382
+ config:
383
+ max_iterations: 10
384
+ min_measurement_period: "72h"
385
+ rollback_enabled: true
386
+ compliance_on_copy_changes: true
387
+ track_all_iterations: true
388
+ preserve_baselines: true
389
+
390
+ failure_handling:
391
+ global_escalation: "@atena"
392
+ on_max_iterations: "Gerar report final com todos os testes e resultados"
393
+ on_critical_failure: "Rollback para ultimo estado estavel"
394
+ on_regression: "Rollback imediato + investigacao da causa"