drm-core 1.2.0 → 1.4.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.
- package/cli/index.js +5 -3
- package/package.json +1 -1
- package/scaffold/.claude/CLAUDE.md +66 -0
- package/scaffold/.claude/commands/DRM/agents/argos.md +3 -0
- package/scaffold/.claude/rules/drm-agent-authority.md +14 -0
- package/scaffold/.claude/rules/drm-workflow-execution.md +39 -2
- package/scaffold/.claude/settings.json +30 -0
- package/scaffold/.claude/settings.local.json +8 -0
- package/scaffold/.drm/config.yaml +1 -1
- package/scaffold/.drm-core/agents/afrodite.md +10 -0
- package/scaffold/.drm-core/agents/apolo.md +9 -0
- package/scaffold/.drm-core/agents/argos.md +588 -0
- package/scaffold/.drm-core/agents/atena.md +9 -0
- package/scaffold/.drm-core/agents/cronos.md +9 -0
- package/scaffold/.drm-core/agents/hefesto.md +10 -0
- package/scaffold/.drm-core/agents/hermes.md +9 -0
- package/scaffold/.drm-core/agents/poseidon.md +9 -0
- package/scaffold/.drm-core/agents/temis.md +9 -0
- package/scaffold/.drm-core/agents/zeus.md +10 -0
- package/scaffold/.drm-core/checklists/tracking-pre-launch.md +100 -0
- package/scaffold/.drm-core/data/agent-config.yaml +34 -0
- package/scaffold/.drm-core/data/workflow-chains.yaml +88 -0
- package/scaffold/.drm-core/rules/interaction-patterns.md +138 -0
- package/scaffold/.drm-core/tasks/estrategia/criar-briefing.md +133 -186
package/cli/index.js
CHANGED
|
@@ -53,6 +53,7 @@ const AGENTS = [
|
|
|
53
53
|
{ id: 'afrodite', icon: '🎨', name: 'Afrodite', role: 'Designer', refs: 'Brunson, Wiebe, Laja' },
|
|
54
54
|
{ id: 'temis', icon: '⚖️', name: 'Temis', role: 'Compliance', refs: 'Meta, Google, LGPD' },
|
|
55
55
|
{ id: 'poseidon', icon: '🌊', name: 'Poseidon', role: 'Funnel Architect', refs: 'Brunson, Brown, Ladeira' },
|
|
56
|
+
{ id: 'argos', icon: '👁️', name: 'Argos', role: 'Tracking Specialist', refs: 'Ahava, Foxwell, Fedorovicius' },
|
|
56
57
|
];
|
|
57
58
|
|
|
58
59
|
// ══════════════════════════════════════════════
|
|
@@ -219,7 +220,7 @@ function createProgram() {
|
|
|
219
220
|
|
|
220
221
|
fs.mkdirSync(targetDir, { recursive: true });
|
|
221
222
|
|
|
222
|
-
await step('Constitution + Agentes (
|
|
223
|
+
await step('Constitution + Agentes (10 deuses)', async () => {
|
|
223
224
|
fs.copySync(path.join(SCAFFOLD_DIR, '.drm-core'), path.join(targetDir, '.drm-core'));
|
|
224
225
|
await sleep(100);
|
|
225
226
|
});
|
|
@@ -381,10 +382,10 @@ function createProgram() {
|
|
|
381
382
|
|
|
382
383
|
const checks = [
|
|
383
384
|
{ name: 'Constitution', path: '.drm-core/constitution.md' },
|
|
384
|
-
{ name: 'Agentes (
|
|
385
|
+
{ name: 'Agentes (10)', path: '.drm-core/agents/atena.md' },
|
|
385
386
|
{ name: 'Workflows (8)', path: '.drm-core/workflows/funil-vsl-completo.yaml' },
|
|
386
387
|
{ name: 'Templates (12)', path: '.drm-core/templates/vsl-full-template.md' },
|
|
387
|
-
{ name: 'Checklists (
|
|
388
|
+
{ name: 'Checklists (9)', path: '.drm-core/checklists/copy-quality-gate.md' },
|
|
388
389
|
{ name: 'Tasks (15)', path: '.drm-core/tasks/copy/escrever-vsl-full.md' },
|
|
389
390
|
{ name: 'Rules (4)', path: '.drm-core/rules/copy-standards.md' },
|
|
390
391
|
{ name: 'Data files', path: '.drm-core/data/workflow-chains.yaml' },
|
|
@@ -502,6 +503,7 @@ Use \`@nome\` ou \`/DRM:agents:nome\`:
|
|
|
502
503
|
| \`@afrodite\` | Afrodite | Designer |
|
|
503
504
|
| \`@temis\` | Temis | Compliance |
|
|
504
505
|
| \`@poseidon\` | Poseidon | Funnel Architect |
|
|
506
|
+
| \`@argos\` | Argos | Tracking Specialist |
|
|
505
507
|
|
|
506
508
|
### Comandos DRM
|
|
507
509
|
Use prefixo \`*\` para comandos de agente.
|
package/package.json
CHANGED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# Hub MediaBuyer
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# DRM — Direct Response Marketing Framework
|
|
6
|
+
|
|
7
|
+
Voce tambem trabalha com o DRM, um framework de orquestracao de agentes
|
|
8
|
+
especializados em marketing de resposta direta para o mercado brasileiro.
|
|
9
|
+
|
|
10
|
+
## Constitution DRM
|
|
11
|
+
|
|
12
|
+
| Artigo | Principio | Severidade |
|
|
13
|
+
|--------|-----------|------------|
|
|
14
|
+
| I | Conversao First | NON-NEGOTIABLE |
|
|
15
|
+
| II | Agent Authority | NON-NEGOTIABLE |
|
|
16
|
+
| III | Data-Driven | MUST |
|
|
17
|
+
| IV | No Invention | MUST |
|
|
18
|
+
| V | Compliance First | MUST |
|
|
19
|
+
| VI | Copy is King | SHOULD |
|
|
20
|
+
|
|
21
|
+
**Documento completo:** `.drm-core/constitution.md`
|
|
22
|
+
|
|
23
|
+
## Sistema de Agentes DRM
|
|
24
|
+
|
|
25
|
+
### Ativacao
|
|
26
|
+
Use `@nome` ou `/DRM:agents:nome`:
|
|
27
|
+
|
|
28
|
+
| Agente | Nome | Papel |
|
|
29
|
+
|--------|------|-------|
|
|
30
|
+
| `@atena` | Atena | Estrategista / Master (360) |
|
|
31
|
+
| `@apolo` | Apolo | Copywriter |
|
|
32
|
+
| `@hermes` | Hermes | Media Buyer |
|
|
33
|
+
| `@zeus` | Zeus | Creative Director |
|
|
34
|
+
| `@cronos` | Cronos | Analista de Dados |
|
|
35
|
+
| `@hefesto` | Hefesto | Editor de Video |
|
|
36
|
+
| `@afrodite` | Afrodite | Designer |
|
|
37
|
+
| `@temis` | Temis | Compliance |
|
|
38
|
+
| `@poseidon` | Poseidon | Funnel Architect |
|
|
39
|
+
| `@argos` | Argos | Tracking Specialist |
|
|
40
|
+
|
|
41
|
+
### Comandos DRM
|
|
42
|
+
Use prefixo `*` para comandos de agente.
|
|
43
|
+
|
|
44
|
+
### Interacao Gamificada
|
|
45
|
+
- **Uma pergunta por vez** — nunca multiplas perguntas na mesma mensagem
|
|
46
|
+
- **Opcoes A/B/C/D** quando possivel — usuario escolhe, nao inventa
|
|
47
|
+
- **Barra de progresso** em processos longos — `[████░░░░] X/Y`
|
|
48
|
+
- **Resumo antes de produzir** — confirmar dados com S/N
|
|
49
|
+
- Referencia: `.drm-core/rules/interaction-patterns.md`
|
|
50
|
+
|
|
51
|
+
## Framework Structure DRM
|
|
52
|
+
|
|
53
|
+
| Camada | Mutabilidade | Path |
|
|
54
|
+
|--------|-------------|------|
|
|
55
|
+
| **L1** Core | NEVER | `.drm-core/constitution.md`, `.drm-core/agents/` |
|
|
56
|
+
| **L2** Templates | NEVER | `.drm-core/tasks/`, `.drm-core/templates/`, `.drm-core/workflows/`, `.drm-core/checklists/` |
|
|
57
|
+
| **L3** Config | Mutable | `.drm/`, `.drm-core/data/` |
|
|
58
|
+
| **L4** Runtime | ALWAYS | `docs/` |
|
|
59
|
+
|
|
60
|
+
## Modelo de Negocio DRM
|
|
61
|
+
|
|
62
|
+
Frontend (VSL) -> Checkout -> Order Bump -> Upsell -> Downsell
|
|
63
|
+
Backend (WhatsApp API) -> Nutricao -> Oferta High-Ticket -> Onboarding
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
*DRM Framework v1.4.0*
|
|
@@ -81,10 +81,24 @@
|
|
|
81
81
|
| Upsell/downsell/bump (estrutura) | Trafego |
|
|
82
82
|
| Onboarding | Compliance |
|
|
83
83
|
|
|
84
|
+
### @argos — Tracking (Exclusivo)
|
|
85
|
+
|
|
86
|
+
| Permitido | Bloqueado |
|
|
87
|
+
|-----------|-----------|
|
|
88
|
+
| Setup de pixel Meta + CAPI | Escrever copy |
|
|
89
|
+
| Setup de Google Tag + Enhanced Conversions | Design, edicao de video |
|
|
90
|
+
| GTM Web e Server-side | Montar campanha de trafego |
|
|
91
|
+
| Mapeamento de eventos de conversao | Arquitetura de funil |
|
|
92
|
+
| Estrategia de UTMs | Compliance |
|
|
93
|
+
| Auditoria de tracking e deduplicacao | Analise de metricas de campanha (delegar @cronos) |
|
|
94
|
+
| Validacao de disparo de eventos | Criar criativos |
|
|
95
|
+
| Configuracao de atribuicao | Bid strategy |
|
|
96
|
+
|
|
84
97
|
## Fluxo de Delegacao
|
|
85
98
|
|
|
86
99
|
```
|
|
87
100
|
Usuario -> @atena (interpreta e roteia) -> @agente-especialista (executa)
|
|
101
|
+
-> @argos (configura tracking)
|
|
88
102
|
-> @zeus (valida criativo)
|
|
89
103
|
-> @temis (valida compliance)
|
|
90
104
|
-> @atena (entrega final)
|
|
@@ -16,13 +16,17 @@ Atena decide qual workflow ativar com base na demanda do usuario. Cada workflow
|
|
|
16
16
|
| "Tenho produto novo pra lancar" | lancamento-produto |
|
|
17
17
|
| "Otimiza minha campanha/funil" | otimizacao-cycle |
|
|
18
18
|
| "Reativar clientes" / "Win-back" | reativacao-cycle |
|
|
19
|
+
| "Configura tracking" / "Setup pixel" / "CAPI" | tracking-setup |
|
|
20
|
+
| "Audita meu tracking" / "Tracking ta errado" | tracking-audit |
|
|
19
21
|
| Demanda pontual (so copy, so funil, etc.) | Atena roteia direto pro agente |
|
|
20
22
|
|
|
21
23
|
## 8 Workflows
|
|
22
24
|
|
|
23
25
|
### 1. Funil VSL Completo — PRIMARY
|
|
24
26
|
|
|
25
|
-
|
|
27
|
+
9 fases: @atena (briefing) → @poseidon (funil) → @apolo (copy) → @zeus (validacao) → @hefesto + @afrodite (producao, paralelo) → @temis (compliance) → @argos (tracking do funil + validacao) → @apolo + @hermes (ads + campanha) → @atena (GO/NO-GO)
|
|
28
|
+
|
|
29
|
+
**Nota:** @argos entra DEPOIS do compliance e ANTES da campanha. Tracking validado e prerequisito para @hermes lancar.
|
|
26
30
|
|
|
27
31
|
### 2. Backend WhatsApp
|
|
28
32
|
|
|
@@ -30,7 +34,9 @@ Atena decide qual workflow ativar com base na demanda do usuario. Cada workflow
|
|
|
30
34
|
|
|
31
35
|
### 3. Campanha de Trafego
|
|
32
36
|
|
|
33
|
-
|
|
37
|
+
7 fases: @atena (objetivo) → @zeus (conceito + angulos) → @apolo (ads) → @hefesto + @afrodite (producao) → @temis (compliance) → @argos (tracking + validacao) → @hermes (campanha + teste A/B) → @atena (GO/NO-GO)
|
|
38
|
+
|
|
39
|
+
**Nota:** @argos valida que pixel, CAPI e eventos estao corretos antes de @hermes configurar a campanha.
|
|
34
40
|
|
|
35
41
|
### 4. Copy Review Loop
|
|
36
42
|
|
|
@@ -48,10 +54,41 @@ Loop iterativo, max 3 iteracoes: @apolo escreve → @zeus valida → @temis revi
|
|
|
48
54
|
|
|
49
55
|
Loop: @cronos (diagnostico) → @atena (decide acoes) → agente(s) executam → @temis (revisa se copy/criativo) → @cronos (mede resultado) → repete ate meta ou esgotar hipoteses
|
|
50
56
|
|
|
57
|
+
**Nota:** Se @cronos detecta anomalia nos dados (conversoes duplicadas, ROAS inflado, attribution discrepancy), escala para @argos antes de continuar.
|
|
58
|
+
|
|
51
59
|
### 8. Ciclo de Reativacao
|
|
52
60
|
|
|
53
61
|
4 fases: @cronos (identifica inativos) → @atena (estrategia win-back) → @apolo (email + WhatsApp) → @temis (compliance) + @hermes (retargeting) + @cronos (resultado)
|
|
54
62
|
|
|
63
|
+
### 9. Tracking Setup
|
|
64
|
+
|
|
65
|
+
5 fases: @atena (discovery — produto, checkout, plataformas de ads) → @argos (domain verification + event mapping + setup Meta + setup Google) → @argos (validacao com checklist tracking-pre-launch) → @argos (documentacao de UTMs + handoff) → @atena (GO/NO-GO)
|
|
66
|
+
|
|
67
|
+
**Quando:** Usuario precisa configurar tracking do zero ou migrar para setup novo.
|
|
68
|
+
|
|
69
|
+
### 10. Tracking Audit
|
|
70
|
+
|
|
71
|
+
3 fases: @argos (diagnostico completo — eventos, deduplicacao, EMQ, Enhanced Conversions) → @argos (correcoes e revalidacao) → @cronos (confirma dados limpos nas metricas)
|
|
72
|
+
|
|
73
|
+
**Quando:** Dados inconsistentes, conversoes duplicadas, ROAS inflado, EMQ baixo, ou @cronos escala anomalia de dados.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Regra de Pre-Condicao: Tracking antes de Trafego
|
|
78
|
+
|
|
79
|
+
**REGRA:** Nenhuma campanha paga deve ser lancada sem tracking validado por @argos.
|
|
80
|
+
|
|
81
|
+
| Situacao | Acao |
|
|
82
|
+
|----------|------|
|
|
83
|
+
| Campanha nova, tracking nao existe | @argos faz setup completo antes de @hermes |
|
|
84
|
+
| Campanha nova, tracking ja existe | @argos faz auditoria rapida (*diagnostico) antes de @hermes |
|
|
85
|
+
| @cronos detecta anomalia de dados | @argos faz audit antes de qualquer otimizacao |
|
|
86
|
+
| Funil novo montado por @poseidon | @argos mapeia eventos do funil antes de go-live |
|
|
87
|
+
|
|
88
|
+
**Justificativa:** Sem tracking de qualidade, @hermes otimiza com dados errados. ROAS inflado por duplicacao leva a escalar campanha que na verdade da prejuizo. EMQ baixo faz o algoritmo do Meta/Google perder conversoes, aumentando CPA real.
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
55
92
|
## Nota: *validar-criativo vs copy-quality-gate
|
|
56
93
|
|
|
57
94
|
- `*validar-criativo` (@zeus) = validacao de direcao criativa (conceito, angulo, hook, tom)
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"language": "portuguese",
|
|
3
|
+
"permissions": {
|
|
4
|
+
"deny": [
|
|
5
|
+
"Edit(.drm-core/constitution.md)",
|
|
6
|
+
"Write(.drm-core/constitution.md)",
|
|
7
|
+
"Edit(.drm-core/agents/**)",
|
|
8
|
+
"Write(.drm-core/agents/**)",
|
|
9
|
+
"Edit(.drm-core/tasks/**)",
|
|
10
|
+
"Write(.drm-core/tasks/**)",
|
|
11
|
+
"Edit(.drm-core/templates/**)",
|
|
12
|
+
"Write(.drm-core/templates/**)",
|
|
13
|
+
"Edit(.drm-core/workflows/**)",
|
|
14
|
+
"Write(.drm-core/workflows/**)",
|
|
15
|
+
"Edit(.drm-core/checklists/**)",
|
|
16
|
+
"Write(.drm-core/checklists/**)",
|
|
17
|
+
"Edit(.drm-core/rules/**)",
|
|
18
|
+
"Write(.drm-core/rules/**)"
|
|
19
|
+
],
|
|
20
|
+
"allow": [
|
|
21
|
+
"Read(.drm-core/**)",
|
|
22
|
+
"Edit(.drm-core/data/**)",
|
|
23
|
+
"Write(.drm-core/data/**)",
|
|
24
|
+
"Edit(.drm/**)",
|
|
25
|
+
"Write(.drm/**)",
|
|
26
|
+
"Edit(docs/**)",
|
|
27
|
+
"Write(docs/**)"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -67,6 +67,14 @@ core_principles:
|
|
|
67
67
|
- "CTA impossivel de perder — tamanho, cor, contraste, posicao"
|
|
68
68
|
- "Hierarquia visual guia o olhar — teste, nao assuma"
|
|
69
69
|
- "Menos friction, mais conversao — Peep Laja"
|
|
70
|
+
|
|
71
|
+
interaction_rules:
|
|
72
|
+
- "UMA pergunta por vez — nunca multiplas perguntas na mesma mensagem"
|
|
73
|
+
- "Opcoes A/B/C/D quando possivel — o usuario escolhe, nao inventa"
|
|
74
|
+
- "Feedback imediato — confirmar resposta antes da proxima pergunta"
|
|
75
|
+
- "Barra de progresso em processos longos — [████░░░░] X/Y"
|
|
76
|
+
- "Resumo antes de produzir — confirmar dados coletados com S/N"
|
|
77
|
+
- "Referencia completa: .drm-core/rules/interaction-patterns.md"
|
|
70
78
|
```
|
|
71
79
|
|
|
72
80
|
---
|
|
@@ -103,6 +111,8 @@ commands:
|
|
|
103
111
|
dependencies:
|
|
104
112
|
templates: []
|
|
105
113
|
checklists: []
|
|
114
|
+
rules:
|
|
115
|
+
- interaction-patterns.md
|
|
106
116
|
```
|
|
107
117
|
|
|
108
118
|
---
|
|
@@ -60,6 +60,14 @@ core_principles:
|
|
|
60
60
|
- "Claims rastreiam beneficios reais — nenhuma promessa sem lastro"
|
|
61
61
|
- "Linguagem do avatar — escrever como o publico fala, nao como o copywriter quer falar"
|
|
62
62
|
|
|
63
|
+
interaction_rules:
|
|
64
|
+
- "UMA pergunta por vez — nunca multiplas perguntas na mesma mensagem"
|
|
65
|
+
- "Opcoes A/B/C/D quando possivel — o usuario escolhe, nao inventa"
|
|
66
|
+
- "Feedback imediato — confirmar resposta antes da proxima pergunta"
|
|
67
|
+
- "Barra de progresso em processos longos — [████░░░░] X/Y"
|
|
68
|
+
- "Resumo antes de produzir — confirmar dados coletados com S/N"
|
|
69
|
+
- "Referencia completa: .drm-core/rules/interaction-patterns.md"
|
|
70
|
+
|
|
63
71
|
nao_faz:
|
|
64
72
|
- "Design"
|
|
65
73
|
- "Edicao de video"
|
|
@@ -120,4 +128,5 @@ dependencies:
|
|
|
120
128
|
- "copy-quality-gate.md"
|
|
121
129
|
rules:
|
|
122
130
|
- "copy-standards.md"
|
|
131
|
+
- "interaction-patterns.md"
|
|
123
132
|
```
|