@pixeleducacao/curso-openclaw 2026.5.8

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 (88) hide show
  1. package/README.md +60 -0
  2. package/assets/cases/case-amora.md +97 -0
  3. package/assets/cases/case-aurora-brunner.md +85 -0
  4. package/assets/cases/case-chris-everest.md +114 -0
  5. package/assets/cases/case-filippe-cesar.md +117 -0
  6. package/assets/cases/case-igor-gouveia.md +106 -0
  7. package/assets/cases//360/237/223/215 LEIA PRIMEIRO" +57 -0
  8. package/assets/cheatsheets/crons-do-seu-agente.md +170 -0
  9. package/assets/cheatsheets/identidade-do-seu-agente.md +133 -0
  10. package/assets/cheatsheets/integracoes-de-produtividade.md +171 -0
  11. package/assets/cheatsheets/memoria-do-seu-agente.md +166 -0
  12. package/assets/cheatsheets/mission-control.md +220 -0
  13. package/assets/cheatsheets/multi-agente.md +193 -0
  14. package/assets/cheatsheets/onboarding-do-seu-agente.md +145 -0
  15. package/assets/cheatsheets/outros-canais.md +129 -0
  16. package/assets/cheatsheets/skills-do-seu-agente.md +165 -0
  17. package/assets/cheatsheets/workspace-do-seu-agente.md +155 -0
  18. package/assets/cheatsheets//360/237/223/215 LEIA PRIMEIRO" +61 -0
  19. package/assets/prompts/business/analise-features.md +47 -0
  20. package/assets/prompts/business/metricas-saas.md +53 -0
  21. package/assets/prompts/business/reports-pdf.md +37 -0
  22. package/assets/prompts/business//360/237/223/215 LEIA PRIMEIRO.docx +0 -0
  23. package/assets/prompts/community/analise-comunidade.md +43 -0
  24. package/assets/prompts/community//360/237/223/215 LEIA PRIMEIRO" +11 -0
  25. package/assets/prompts/content/content-waterfall.md +57 -0
  26. package/assets/prompts/content/ideias-de-conteudo.md +36 -0
  27. package/assets/prompts/content/tom-de-voz.md +41 -0
  28. package/assets/prompts/content//360/237/223/215 LEIA PRIMEIRO" +13 -0
  29. package/assets/prompts/productivity/daily-briefing.md +57 -0
  30. package/assets/prompts/productivity/social-metrics.md +53 -0
  31. package/assets/prompts/productivity/viagens-pesquisas.md +38 -0
  32. package/assets/prompts/productivity//360/237/223/215 LEIA PRIMEIRO" +13 -0
  33. package/assets/prompts/research/deep-research.md +52 -0
  34. package/assets/prompts/research//360/237/223/215 LEIA PRIMEIRO" +11 -0
  35. package/assets/prompts/support/analise-suporte.md +41 -0
  36. package/assets/prompts/support//360/237/223/215 LEIA PRIMEIRO" +11 -0
  37. package/assets/prompts//360/237/223/215 LEIA PRIMEIRO.docx +0 -0
  38. package/assets/skills/_registry.md +184 -0
  39. package/assets/skills/canais/_registry.md +36 -0
  40. package/assets/skills/canais/wizard-whatsapp/SKILL.md +334 -0
  41. package/assets/skills/operacional/_registry.md +20 -0
  42. package/assets/skills/operacional/backup-workspace-github/SKILL.md +246 -0
  43. package/assets/skills/planejamento/_registry.md +70 -0
  44. package/assets/skills/planejamento/brainstorming/SKILL.md +133 -0
  45. package/assets/skills/planejamento/executing-plans/SKILL.md +182 -0
  46. package/assets/skills/planejamento/verification-before-completion/SKILL.md +157 -0
  47. package/assets/skills/planejamento/writing-plans/SKILL.md +170 -0
  48. package/assets/skills/starter/_registry.md +93 -0
  49. package/assets/skills/starter/onboarding-checklist/SKILL.md +434 -0
  50. package/assets/skills/starter/onboarding-checklist/evals/evals.json +245 -0
  51. package/assets/skills/starter/onboarding-checklist/references/arquivamento-pos-jornada.md +167 -0
  52. package/assets/skills/starter/onboarding-checklist/references/arquivos-raiz.md +281 -0
  53. package/assets/skills/starter/onboarding-checklist/references/checklist-template.md +215 -0
  54. package/assets/skills/starter/onboarding-checklist/references/comandos-canonicos.md +272 -0
  55. package/assets/skills/starter/onboarding-checklist/references/dependencias.md +139 -0
  56. package/assets/skills/starter/onboarding-checklist/references/manifesto-abertura.md +54 -0
  57. package/assets/skills/starter/onboarding-checklist/references/mapa-aulas.md +216 -0
  58. package/assets/skills/starter/onboarding-checklist/references/padrao-exemplos-opt-in.md +159 -0
  59. package/assets/skills/starter/onboarding-checklist/references/principios-defensivos.md +408 -0
  60. package/assets/skills/starter/onboarding-checklist/references/prompt-upgrade-para-aluno-antigo.md +289 -0
  61. package/assets/skills/starter/onboarding-checklist/references/sistema-de-mapas.md +273 -0
  62. package/assets/skills/starter/onboarding-checklist/references/sobre-o-kit.md +105 -0
  63. package/assets/skills/starter/primeira-vitoria/SKILL.md +515 -0
  64. package/assets/skills/starter/primeira-vitoria/evals/evals.json +201 -0
  65. package/assets/skills/starter/wizard-agente/SKILL.md +420 -0
  66. package/assets/skills/starter/wizard-agente/evals/evals.json +204 -0
  67. package/assets/skills/starter/wizard-aluno/SKILL.md +353 -0
  68. package/assets/skills/starter/wizard-aluno/evals/evals.json +192 -0
  69. package/assets/skills/starter/wizard-autonomia/SKILL.md +391 -0
  70. package/assets/skills/starter/wizard-autonomia/evals/evals.json +192 -0
  71. package/assets/skills/starter/wizard-conectar/SKILL.md +450 -0
  72. package/assets/skills/starter/wizard-conectar/evals/evals.json +196 -0
  73. package/assets/skills/starter/wizard-whisper-quick/SKILL.md +349 -0
  74. package/assets/skills/starter/wizard-whisper-quick/evals/evals.json +195 -0
  75. package/assets/skills/starter/wizard-workspace/SKILL.md +483 -0
  76. package/assets/skills/starter/wizard-workspace/evals/evals.json +174 -0
  77. package/assets/templates/AGENTS.template.md +58 -0
  78. package/assets/templates/IDENTITY.template.md +21 -0
  79. package/assets/templates/MAPA.template.md +71 -0
  80. package/assets/templates/README.md +62 -0
  81. package/assets/templates/SOUL-stub.template.md +26 -0
  82. package/assets/templates/USER.template.md +41 -0
  83. package/dist/index.d.ts +9 -0
  84. package/dist/index.d.ts.map +1 -0
  85. package/dist/index.js +11 -0
  86. package/dist/index.js.map +1 -0
  87. package/openclaw.plugin.json +15 -0
  88. package/package.json +44 -0
@@ -0,0 +1,201 @@
1
+ {
2
+ "skill": "primeira-vitoria",
3
+ "version": "1.0",
4
+ "description": "4 cenários cobrindo: post LinkedIn (caminho mais comum), email (sem Brave), aluno trava sem inspiração, aluno detesta e refaz",
5
+ "scenarios": [
6
+ {
7
+ "id": "post-linkedin-completo",
8
+ "name": "Caminho feliz — post LinkedIn",
9
+ "description": "Aluno chega no passo 6 com tudo configurado. Pede post, agente busca Brave, gera, salva, NPS.",
10
+ "setup": {
11
+ "workspace_state": "tudo configurado, content/drafts vazia",
12
+ "memory_flags": {
13
+ "autonomia_liberada": true,
14
+ "workspace_organizado": true,
15
+ "conectado": true,
16
+ "brave_search_active": true,
17
+ "onboarding_current_step": 6
18
+ }
19
+ },
20
+ "interaction_flow": [
21
+ {
22
+ "user": "[despachado]",
23
+ "expected_agent_behavior": [
24
+ "checa dependências (autonomia + workspace + Brave) - tudo OK",
25
+ "Princípio 11 - content/drafts vazia, fluxo normal",
26
+ "narra promessa do passo (5min, artefato real)",
27
+ "pergunta tipo"
28
+ ]
29
+ },
30
+ {
31
+ "user": "a",
32
+ "expected_agent_behavior": [
33
+ "salva tipo=post",
34
+ "pergunta sobre o que",
35
+ "pergunta plataforma"
36
+ ]
37
+ },
38
+ {
39
+ "user": "post sobre 3 erros que cometo na padaria, pra LinkedIn",
40
+ "expected_agent_behavior": [
41
+ "salva tema",
42
+ "salva plataforma=LinkedIn",
43
+ "anuncia que vai buscar referências no Brave",
44
+ "roda call ao Brave Search"
45
+ ]
46
+ },
47
+ {
48
+ "user": "[Brave retornou 3 resultados]",
49
+ "expected_agent_behavior": [
50
+ "mostra os 3 resultados ao aluno",
51
+ "lê IDENTITY/SOUL/USER pra calibrar tom",
52
+ "gera draft seguindo padrão LinkedIn (parágrafos curtos)",
53
+ "salva em content/drafts/primeira-vitoria-post-{data}.md",
54
+ "mostra path + preview do conteúdo (primeiras linhas)",
55
+ "roda pergunta-âncora"
56
+ ]
57
+ },
58
+ {
59
+ "user": "content/drafts e sim posso editar",
60
+ "expected_agent_behavior": [
61
+ "valida resposta",
62
+ "menciona aula C2",
63
+ "marca first_win_completed=true",
64
+ "pede NPS"
65
+ ]
66
+ },
67
+ {
68
+ "user": "9",
69
+ "expected_agent_behavior": [
70
+ "salva nps_score=9",
71
+ "agradece + convite pra grupo",
72
+ "renderiza checklist FINAL completa com 🎉",
73
+ "oferece 4 próximos passos opcionais",
74
+ "marca onboarding_complete=true"
75
+ ]
76
+ }
77
+ ],
78
+ "success_criteria": [
79
+ "arquivo criado em content/drafts/primeira-vitoria-post-{data}.md",
80
+ "first_win_completed=true",
81
+ "onboarding_complete=true",
82
+ "nps_score=9 em MEMORY",
83
+ "aula C2 mencionada",
84
+ "4 próximos passos opcionais oferecidos"
85
+ ]
86
+ },
87
+ {
88
+ "id": "email-sem-brave",
89
+ "name": "Email pra fornecedor — pula Brave",
90
+ "description": "Aluno escolhe email. Não precisa de pesquisa externa. Vai direto pra geração.",
91
+ "setup": {
92
+ "workspace_state": "tudo configurado",
93
+ "memory_flags": {}
94
+ },
95
+ "interaction_flow": [
96
+ {
97
+ "user": "[despachado, escolhe tipo]",
98
+ "expected_agent_behavior": ["pergunta tipo"]
99
+ },
100
+ {
101
+ "user": "b",
102
+ "expected_agent_behavior": [
103
+ "salva tipo=email",
104
+ "pergunta destinatário e assunto"
105
+ ]
106
+ },
107
+ {
108
+ "user": "Pedro, fornecedor de farinha. Pedindo desconto por volume.",
109
+ "expected_agent_behavior": [
110
+ "PULA pesquisa Brave (não faz sentido pra email)",
111
+ "lê USER.md pra tom",
112
+ "gera email seguindo tom + contexto",
113
+ "salva em content/drafts/primeira-vitoria-email-{data}.md"
114
+ ],
115
+ "must_not": [
116
+ "rodar Brave pra email pessoal (waste de query)"
117
+ ]
118
+ }
119
+ ],
120
+ "success_criteria": [
121
+ "Brave NÃO foi chamado",
122
+ "email salvo em content/drafts/",
123
+ "fluxo prosseguiu normalmente"
124
+ ]
125
+ },
126
+ {
127
+ "id": "aluno-sem-inspiracao",
128
+ "name": "Aluno não sabe o que pedir",
129
+ "description": "Wizard sugere com base no USER.md.",
130
+ "setup": {
131
+ "workspace_state": "tudo configurado, USER.md tem 'dono de padaria pequena'",
132
+ "memory_flags": {}
133
+ },
134
+ "interaction_flow": [
135
+ {
136
+ "user": "[despachado]",
137
+ "expected_agent_behavior": ["pergunta tipo"]
138
+ },
139
+ {
140
+ "user": "não sei o que pedir",
141
+ "expected_agent_behavior": [
142
+ "lê o_que_faz do USER.md (dono de padaria)",
143
+ "sugere 3 opções personalizadas pelo contexto:",
144
+ " a) Post sobre erros na padaria",
145
+ " b) Decisão da semana",
146
+ " c) Checklist diário",
147
+ "espera escolha"
148
+ ],
149
+ "must_not": [
150
+ "sugerir genérico sem contextualizar pelo USER"
151
+ ]
152
+ },
153
+ {
154
+ "user": "c, checklist",
155
+ "expected_agent_behavior": ["segue fluxo de checklist normalmente"]
156
+ }
157
+ ],
158
+ "success_criteria": [
159
+ "sugestões foram personalizadas pelo USER.md",
160
+ "fluxo prosseguiu após escolha"
161
+ ]
162
+ },
163
+ {
164
+ "id": "aluno-detesta-refaz",
165
+ "name": "Aluno pede refazer com ajuste de tom",
166
+ "description": "Versão 1 não bateu. Aluno pede refaz mais técnico. Wizard versiona em archive/ e gera v2.",
167
+ "setup": {
168
+ "workspace_state": "tudo configurado",
169
+ "memory_flags": {}
170
+ },
171
+ "interaction_flow": [
172
+ {
173
+ "user": "[despachado, completou geração v1]",
174
+ "expected_agent_behavior": ["mostrou v1, esperando feedback"]
175
+ },
176
+ {
177
+ "user": "ficou muito casual, refaz mais técnico",
178
+ "expected_agent_behavior": [
179
+ "Princípio 1 (backup): copia v1 pra archive/{nome}-v1.md",
180
+ "regenera com tom mais técnico",
181
+ "salva v2 no path original (não duplica arquivo)",
182
+ "mostra diff resumido do que mudou",
183
+ "pergunta se ficou bom"
184
+ ]
185
+ },
186
+ {
187
+ "user": "agora sim",
188
+ "expected_agent_behavior": [
189
+ "fluxo segue pra pergunta-âncora normalmente"
190
+ ]
191
+ }
192
+ ],
193
+ "success_criteria": [
194
+ "v1 está em archive/",
195
+ "v2 substituiu v1 no content/drafts/",
196
+ "diff foi mostrado",
197
+ "aluno pôde aprovar antes de seguir"
198
+ ]
199
+ }
200
+ ]
201
+ }
@@ -0,0 +1,420 @@
1
+ ---
2
+ name: wizard-agente
3
+ status: ATIVO
4
+ category: starter
5
+ owner: aluno
6
+ version: 1.0
7
+ mode: guided
8
+ estimated_time: 4min (ou 1min se já configurado)
9
+ model_compatible: [gpt-5, gpt-5.5, claude-sonnet-4, claude-opus-4, gemini-pro]
10
+ description: Use when student types "configura agente" / "cria identidade do agente", OR when dispatched by onboarding-checklist as passo 1. Creates IDENTITY.md (nome, gênero, modelo, agent_id) + SOUL.md stub (tom geral, 1 anti-pattern) + AGENTS.md (boot sequence, red lines mínimas). Stub-first approach — SOUL completo só na aula B1. Detects existing files first (Princípio 1 + 11). Templates Amora opt-in via comando "exemplo".
11
+ ---
12
+
13
+ # Wizard Agente — Passo 1 (Personalidade do agente)
14
+
15
+ ## Promessa
16
+
17
+ Em 4 minutos, aluno transforma "agente genérico que responde tudo igual ChatGPT" em "agente com nome, tom de voz e jeito específico". 3 arquivos criados (IDENTITY, SOUL stub, AGENTS) que o agente lê toda mensagem.
18
+
19
+ A partir desse passo, agente para de soar como assistente padrão e começa a soar como personagem definido. É a primeira vitória visível: aluno conversa de novo e percebe a diferença.
20
+
21
+ ## Quando disparar
22
+
23
+ **Trigger automático:**
24
+ - `onboarding-checklist` despacha como passo 1
25
+
26
+ **Trigger explícito (standalone):**
27
+ - "configura agente"
28
+ - "cria identidade do agente"
29
+ - "muda nome do agente"
30
+ - "redefine personalidade"
31
+
32
+ **NÃO disparar se:**
33
+ - `agente_configured=true` em `MEMORY.md` E os 3 arquivos raiz existem preenchidos
34
+
35
+ Se aluno mandar trigger explícito mesmo já configurado, perguntar antes:
36
+
37
+ ```
38
+ "Você já configurou seu agente em {data}. Quer:
39
+ a) Refazer do zero (vou fazer backup do atual antes)
40
+ b) Editar trecho específico (manda 'muda nome', 'muda tom', etc)
41
+ c) Cancelar"
42
+ ```
43
+
44
+ ## Princípio 11 — Detecção antes de pedir
45
+
46
+ **Antes de qualquer entrevista**, checar 3 arquivos raiz:
47
+
48
+ ```
49
+ 1. IDENTITY.md existe?
50
+ - Sim e preenchido (tem nome real, não "PLACEHOLDER"): ✓
51
+ - Sim mas vazio/template não-preenchido: ⏳ tratar como nada
52
+ - Não: ⏳
53
+
54
+ 2. SOUL.md existe?
55
+ - Sim com conteúdo real (>3 linhas além do título): ✓
56
+ - Sim mas só estrutura: ⏳
57
+ - Não: ⏳
58
+
59
+ 3. AGENTS.md existe?
60
+ - Sim com red lines + boot sequence: ✓
61
+ - Sim mas template não-preenchido: ⏳
62
+ - Não: ⏳
63
+ ```
64
+
65
+ ### 4 estados detectáveis
66
+
67
+ | Estado | Ação |
68
+ |---|---|
69
+ | **Tudo preenchido** | "✓ Detectei que IDENTITY, SOUL e AGENTS já estão preenchidos. Validei rapidinho. Não precisa fazer nada nesse passo. Marquei como feito." Vai direto pra pergunta-âncora. |
70
+ | **Parcial (1-2 prontos)** | Lista o que tá pronto + o que falta. Pergunta se quer "completar só o que falta" ou "refazer tudo (com backup)". |
71
+ | **Nada feito** | Fluxo normal (entrevista) |
72
+ | **Existe mas é template não-preenchido** | Tratar como "nada feito" mas avisar: "Detectei IDENTITY.md mas tá com placeholders ainda — vou completar agora" |
73
+
74
+ ### Mensagem padrão ao detectar 100% pronto
75
+
76
+ ```
77
+ "✓ Detectei seu agente já configurado:
78
+ - IDENTITY.md → nome: {nome_extraído}
79
+ - SOUL.md → {N} linhas de personalidade
80
+ - AGENTS.md → red lines configuradas
81
+
82
+ Não vou mexer. Só vou rodar a pergunta-âncora desse passo pra fechar.
83
+
84
+ [pergunta-âncora abaixo]"
85
+ ```
86
+
87
+ ## Fluxo principal (entrevista)
88
+
89
+ ### 1. Narrar o que vai acontecer
90
+
91
+ ```
92
+ "Vamos configurar a personalidade do seu agente. Em 4min você sai
93
+ daqui com 3 arquivos no seu workspace:
94
+
95
+ 1. IDENTITY.md → bilhete de identidade do agente (nome, modelo, etc)
96
+ 2. SOUL.md → como ele pensa e fala (versão STUB de 5 linhas, vai
97
+ crescer na aula B1)
98
+ 3. AGENTS.md → regras de comportamento (boot sequence + red lines)
99
+
100
+ Esses arquivos ficam vivos no workspace. Toda vez que o agente vai
101
+ responder, ele lê eles. Se você editar lá direto depois, muda na hora.
102
+
103
+ Vou te fazer 3-4 perguntas. Sem certo nem errado — é como você
104
+ quer que ele seja. Se travar em alguma, manda 'exemplo' que eu
105
+ te mostro como o Bruno fez com a Amora.
106
+
107
+ Bora?"
108
+ ```
109
+
110
+ ### 2. Pergunta 1 — Nome do agente
111
+
112
+ ```
113
+ "Como você quer chamar seu agente?
114
+
115
+ Sugestões pra inspirar (não copia):
116
+ - Nome humano: Atlas, Olivia, Marcos, Sophia
117
+ - Nome simbólico: Zênite, Norte, Bússola, Eco
118
+ - Nome sem peso: Bot, Helper, Assistant (recomendo evitar — vira chatbot)
119
+
120
+ A Amora do Bruno chama Amora porque ele tem cachorra com esse nome. Histórico pessoal grava.
121
+
122
+ Manda o nome que escolheu."
123
+ ```
124
+
125
+ Salvar resposta como `nome_agente`.
126
+
127
+ ### 3. Pergunta 2 — Gênero
128
+
129
+ ```
130
+ "Como o {nome_agente} se refere a si mesmo?
131
+
132
+ a) Mulher (ela/dela)
133
+ b) Homem (ele/dele)
134
+ c) Neutro (eles/deles ou sem flexão)
135
+
136
+ Isso muda o jeito que ele escreve sobre si. A Amora fala 'Sou a Amora' (mulher).
137
+ "
138
+ ```
139
+
140
+ Salvar como `genero_agente`.
141
+
142
+ ### 4. Pergunta 3 — Tom geral
143
+
144
+ ```
145
+ "Como o {nome_agente} fala?
146
+
147
+ 3 dimensões pra você escolher:
148
+
149
+ 1) Formal vs Casual:
150
+ - Formal: 'Bom dia, posso ajudá-lo?'
151
+ - Casual: 'oi, no que te ajudo?'
152
+
153
+ 2) Direto vs Cuidadoso:
154
+ - Direto: 'isso aqui tá errado, faz X'
155
+ - Cuidadoso: 'sugiro considerar fazer X'
156
+
157
+ 3) Brasileiro vs Neutro:
158
+ - Brasileiro: 'porra, ficou bom isso'
159
+ - Neutro: 'o resultado ficou interessante'
160
+
161
+ Manda como prefere (ex: 'casual + direto + brasileiro') OU descreve
162
+ do seu jeito (ex: 'fala como um amigo de boteco que entende de
163
+ {tema}')."
164
+ ```
165
+
166
+ Salvar como `tom_agente`.
167
+
168
+ ### 5. Pergunta 4 — Anti-pattern (algo que ELE NUNCA faz)
169
+
170
+ ```
171
+ "Última pergunta, importante: 1 coisa que o {nome_agente} JAMAIS deve fazer.
172
+
173
+ Exemplos de anti-pattern (cada agente escolhe os seus):
174
+ - 'nunca usa linguagem de coach (destrave seu potencial, mindset)'
175
+ - 'nunca abre com Ótima pergunta ou Com certeza'
176
+ - 'nunca fecha com Espero ter ajudado'
177
+ - 'nunca usa emoji a menos que eu peça'
178
+ - 'nunca dá conselho jurídico ou médico'
179
+ - 'nunca fala português de Portugal'
180
+
181
+ Pode mandar 1 só (ou mais se já tiver claro). Se travou, manda 'exemplo'
182
+ que mostro os do Bruno."
183
+ ```
184
+
185
+ Salvar como `anti_pattern`.
186
+
187
+ ### 6. Confirmação antes de criar arquivos
188
+
189
+ Antes de escrever qualquer arquivo, mostrar resumo:
190
+
191
+ ```
192
+ "Beleza, vou criar:
193
+
194
+ 📄 IDENTITY.md
195
+ Nome: {nome_agente}
196
+ Gênero: {genero_agente}
197
+ Modelo: {modelo_detectado_do_managed}
198
+ Agent ID: {nome_lowercase}-{user_lowercase}
199
+ Reporta para: {nome_aluno_se_souber, ou 'aluno'}
200
+
201
+ 📄 SOUL.md (stub de 5 linhas)
202
+ Tom: {tom_agente}
203
+ Anti-pattern: {anti_pattern}
204
+ [SOUL completo na aula B1]
205
+
206
+ 📄 AGENTS.md
207
+ Boot sequence padrão (lê SOUL → USER → MAPA)
208
+ Red lines mínimas (trash > rm, pergunta antes de coisa irreversível)
209
+
210
+ Confirma que pode criar?"
211
+ ```
212
+
213
+ Esperar "sim" / "vai" / "confirma" / "pode".
214
+
215
+ ### 7. Aplicar Princípio 1 — backup se já existe
216
+
217
+ Para cada arquivo (IDENTITY, SOUL, AGENTS):
218
+
219
+ ```bash
220
+ if [ -f "$WORKSPACE/IDENTITY.md" ]; then
221
+ BACKUP_DIR="$HOME/backups/pre-wizard-agente-$(date +%Y-%m-%d-%H%M)"
222
+ mkdir -p "$BACKUP_DIR"
223
+ cp "$WORKSPACE/IDENTITY.md" "$BACKUP_DIR/"
224
+ fi
225
+ ```
226
+
227
+ Se algum arquivo existia, narrar:
228
+
229
+ ```
230
+ "Detectei {N} arquivo(s) existente(s). Backup feito em:
231
+ {path_backup}
232
+
233
+ Você pode restaurar a qualquer momento copiando de volta.
234
+ Vou criar os arquivos novos agora."
235
+ ```
236
+
237
+ ### 8. Criar os 3 arquivos a partir de templates
238
+
239
+ Templates ficam em `starter-kit/templates/` (ver lista no fim deste arquivo).
240
+
241
+ Pra cada arquivo, fazer substituição de placeholders:
242
+
243
+ | Placeholder | Substitui por |
244
+ |---|---|
245
+ | `{NOME_AGENTE}` | `nome_agente` |
246
+ | `{GENERO}` | `genero_agente` |
247
+ | `{MODELO}` | detectar via `openclaw config show model` (fallback: `claude-sonnet-4` ou `gpt-5`) |
248
+ | `{AGENT_ID}` | `{nome_lowercase}-{user_lowercase}` |
249
+ | `{NOME_USER}` | ler de `USER.md` se existe, senão "aluno" |
250
+ | `{TOM}` | `tom_agente` |
251
+ | `{ANTI_PATTERN}` | `anti_pattern` |
252
+ | `{DATA}` | data atual |
253
+
254
+ Salvar:
255
+ - `$WORKSPACE/IDENTITY.md`
256
+ - `$WORKSPACE/SOUL.md`
257
+ - `$WORKSPACE/AGENTS.md`
258
+
259
+ Confirmar:
260
+
261
+ ```
262
+ "✓ Criados:
263
+ - /workspace/IDENTITY.md ({tamanho} bytes)
264
+ - /workspace/SOUL.md ({tamanho} bytes — stub, vai crescer na aula B1)
265
+ - /workspace/AGENTS.md ({tamanho} bytes)
266
+
267
+ A partir de agora eu vou ler esses 3 arquivos toda vez que for
268
+ responder. Se você editar direto, muda na hora seguinte."
269
+ ```
270
+
271
+ ### 9. Pergunta-âncora
272
+
273
+ Pergunta literal (definida em `mapa-aulas.md` passo 1):
274
+
275
+ ```
276
+ "Rapidão antes de fechar este passo: se daqui a 1 mês você editar
277
+ o IDENTITY.md direto e mudar meu nome ou tom — eu pego automático
278
+ ou preciso ser avisado?"
279
+ ```
280
+
281
+ | Resposta esperada | Validação |
282
+ |---|---|
283
+ | "automático" / "pega sozinho" / "não precisa avisar" | "Boa. IDENTITY.md fica vivo no seu workspace. Toda vez que eu vou responder, leio ele. Se mudar lá, mudo aqui na hora seguinte." |
284
+ | "preciso avisar" / "tem que reativar" | "Quase. IDENTITY.md fica vivo no workspace — toda mensagem minha consulta ele. Edit direto = mudança imediata. Não precisa me avisar." |
285
+ | Outro | Validação suave + reforço da regra (workspace = source of truth) |
286
+
287
+ Sempre fechar com:
288
+
289
+ ```
290
+ "Se quer aprofundar identidade do agente, a aula que detalha isso
291
+ é a *B1* (Identidade completa) — manda 'aula B1' que eu te passo o link.
292
+
293
+ E se ficou alguma dúvida que eu não cobri, dois caminhos no grupo:
294
+ - resposta rápida 24/7: chama @Openclawzinho (bot IA) no tópico Suporte
295
+ - ajuda humana: pergunta nos outros tópicos
296
+ https://t.me/cursoopenclaw
297
+
298
+ Marquei o passo 1 como feito. Bora pro passo 2 (configurar a sua personalidade)?"
299
+ ```
300
+
301
+ ### 10. Atualizar MEMORY.md
302
+
303
+ ```markdown
304
+ ## Flags
305
+ agente_configured: true
306
+ nome_agente: {nome_agente}
307
+
308
+ ## Decisões da jornada
309
+ - {data}: Configurou agente. Nome: {nome_agente}. Gênero: {genero}. Tom: {tom_resumo}. Anti-pattern: {anti_pattern_curto}.
310
+ ```
311
+
312
+ Atualizar `onboarding_current_step: 2`.
313
+
314
+ ### 11. Devolver controle pra onboarding-checklist
315
+
316
+ ## Comando "exemplo" durante este wizard
317
+
318
+ Se aluno mandar "exemplo" em qualquer pergunta:
319
+
320
+ | Pergunta atual | Carrega |
321
+ |---|---|
322
+ | Nome | Trecho de `exemplos/IDENTITY-amora.md` (linhas 1-10) |
323
+ | Gênero | Mesmo trecho de IDENTITY |
324
+ | Tom | `exemplos/SOUL-amora.md` seção "Tom" |
325
+ | Anti-pattern | `exemplos/SOUL-amora.md` seção final + manchetes "Nunca abrir com..." |
326
+ | Outros (genérico) | Lista os 3 arquivos da Amora pro aluno escolher qual ver |
327
+
328
+ Após mostrar exemplo, retornar pra pergunta original:
329
+
330
+ ```
331
+ "Esse é o IDENTITY.md (ou SOUL/AGENTS) da Amora — Chief of Staff
332
+ do Bruno Okamoto. Não copia, adapta.
333
+
334
+ Agora que viu, me manda como você quer pro {nome_agente}."
335
+ ```
336
+
337
+ ## Critérios de sucesso
338
+
339
+ - [ ] `IDENTITY.md` criado com `nome_agente`, gênero, modelo, agent_id preenchidos (sem placeholders)
340
+ - [ ] `SOUL.md` (stub) criado com tom + 1 anti-pattern
341
+ - [ ] `AGENTS.md` criado com boot sequence + red lines mínimas
342
+ - [ ] Backup feito se algum arquivo já existia (Princípio 1)
343
+ - [ ] `agente_configured=true` em `MEMORY.md`
344
+ - [ ] `onboarding_current_step=2` (avançou)
345
+ - [ ] Pergunta-âncora respondida (qualquer resposta — agente valida ou corrige)
346
+ - [ ] Aula B1 mencionada no fim
347
+
348
+ ## Erros comuns
349
+
350
+ - **Aluno trava no nome:** se pediu "exemplo" 2x e ainda tá indeciso, sugerir "Você pode começar com qualquer nome. Mudar depois é trivial — manda 'muda nome' que refaço. Sem peso. Manda o que veio agora."
351
+ - **Aluno responde algo vazio (ex: "tipo a Siri"):** pedir mais especificidade. "Siri tem traços específicos — formal, tom neutro, briga com sotaque. É isso que você quer? Ou 'tipo a Siri' é só uma analogia? Me dá 1 frase de como ele falaria com você."
352
+ - **Aluno quer SOUL completo já:** explicar tensão B1. "SOUL completo na entrada é cedo demais — você ainda não sabe o que QUER que o agente seja. A versão stub agora (5 linhas) já funciona. Aula B1 expande quando você já tem feeling do uso real."
353
+ - **Aluno pulou Whisper e tá digitando entrevista:** OK, mas mencionar uma vez "se quiser, depois desse passo dá pra ativar áudio com 'configura whisper'".
354
+
355
+ ## Aplicação dos princípios defensivos
356
+
357
+ Esta skill herda os princípios universais da `onboarding-checklist`. Ver: [`../onboarding-checklist/references/principios-defensivos.md`](../onboarding-checklist/references/principios-defensivos.md).
358
+
359
+ ### Aplicação específica
360
+
361
+ - **Princípio 1 (backup antes de sobrescrever):** TODOS os 3 arquivos (IDENTITY, SOUL, AGENTS) checados antes. Se existirem, backup timestamped antes de criar novos.
362
+ - **Princípio 2 (confirmação humana):** pede confirmação ANTES de criar os arquivos (mostra resumo do que vai criar).
363
+ - **Princípio 4 (narrar antes de fazer):** explica os 3 arquivos e pra que servem antes de começar entrevista.
364
+ - **Princípio 5 (atualizar MEMORY ao concluir):** marca `agente_configured=true` + decisão das escolhas.
365
+ - **Princípio 6 (respeitar customização manual):** detecção checa não só "existe" mas "está preenchido com conteúdo real" — não sobrescreve template não-preenchido sem avisar.
366
+ - **Princípio 8 (logging de decisões):** salva as 4 escolhas (nome, gênero, tom, anti-pattern) em `MEMORY.md` decisões.
367
+ - **Princípio 11 (detectar antes de pedir):** o estado dos 3 arquivos é checado primeiro. Se preenchidos, pula entrevista.
368
+
369
+ ## Modo A vs Modo B
370
+
371
+ **Modo A (aula-por-aula):**
372
+ ```
373
+ "Bora pro Módulo 1 — Personalidade do agente.
374
+ Aula correspondente: B1 (Identidade completa).
375
+ Recomendo assistir antes pra entender por que o SOUL é stub agora
376
+ e completa só depois."
377
+ [entrevista numerada: 'pergunta 1 de 4', 'pergunta 2 de 4'...]
378
+ ```
379
+
380
+ **Modo B (wizard direto):**
381
+ ```
382
+ "Bora dar identidade pro seu agente. Vou te perguntar 3-4 coisas
383
+ e crio os arquivos. 4 minutos."
384
+ [entrevista conversacional, sem numeração]
385
+ ```
386
+
387
+ Mesma lógica, fluxo, princípios. Só apresentação muda.
388
+
389
+ ## Templates usados (em starter-kit/templates/)
390
+
391
+ - `IDENTITY.template.md` — template do IDENTITY com placeholders
392
+ - `SOUL-stub.template.md` — template do SOUL stub (5-10 linhas, expansão na B1)
393
+ - `AGENTS.template.md` — template do AGENTS com boot sequence + red lines mínimas
394
+
395
+ Wizard substitui placeholders e salva no workspace do aluno.
396
+
397
+ ## Referências
398
+
399
+ ### Internas
400
+ - Princípios universais: [`../onboarding-checklist/references/principios-defensivos.md`](../onboarding-checklist/references/principios-defensivos.md)
401
+ - Comando "exemplo": [`../onboarding-checklist/references/comandos-canonicos.md`](../onboarding-checklist/references/comandos-canonicos.md) (comando 6)
402
+ - Pergunta-âncora oficial: [`../onboarding-checklist/references/mapa-aulas.md`](../onboarding-checklist/references/mapa-aulas.md) (passo 1)
403
+ - Decisão D21 (separar agente vs aluno): [`../../../../DECISOES-ARQUITETURA.md`](../../../../DECISOES-ARQUITETURA.md)
404
+ - Decisão D22 (SOUL stub na entrada): mesma referência
405
+ - Templates raiz: `starter-kit/templates/`
406
+
407
+ ### Externas
408
+ - Exemplo Amora IDENTITY: [`starter-kit/exemplos/IDENTITY-amora.md`](../../../exemplos/IDENTITY-amora.md)
409
+ - Exemplo Amora SOUL: [`starter-kit/exemplos/SOUL-amora.md`](../../../exemplos/SOUL-amora.md)
410
+ - Exemplo Amora AGENTS: [`starter-kit/exemplos/AGENTS-amora.md`](../../../exemplos/AGENTS-amora.md)
411
+
412
+ ## Status
413
+
414
+ ✅ ATIVO desde v1 do Starter Kit (02/05/2026).
415
+
416
+ ## Roadmap
417
+
418
+ - v1.1: Detectar modelo automaticamente via `openclaw config` (em vez de hardcode no template)
419
+ - v1.2: Suporte a múltiplos perfis ("agente sério no trabalho, casual no pessoal" — 2 SOULs)
420
+ - v2: Skill `evolui-soul` que monitora padrões de uso e sugere expansões pro SOUL.md ao longo do tempo