@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,408 @@
1
+ # Princípios Defensivos Universais
2
+
3
+ > Regras de segurança herdadas por TODAS as skills do starter (não só `onboarding-checklist`).
4
+ > Quando criar wizard novo, copiar este arquivo como referência cruzada.
5
+
6
+ ---
7
+
8
+ ## Princípio 1 — Nunca sobrescrever sem backup + confirmação
9
+
10
+ **Regra:** Antes de modificar QUALQUER arquivo que já existe (raiz ou não), seguir 3 passos obrigatórios:
11
+
12
+ 1. **Detectar** se o arquivo existe
13
+ 2. **Backup** timestamped em `~/backups/pre-{wizard_name}-{YYYY-MM-DD-HHMM}/`
14
+ 3. **Confirmação** explícita do aluno antes de aplicar mudança
15
+
16
+ ### Exemplo correto
17
+
18
+ ```
19
+ "Detectei que você já tem USER.md preenchido. Antes de mexer:
20
+
21
+ 1. Vou fazer backup do atual em ~/backups/pre-wizard-aluno-2026-05-02-1430/
22
+ 2. Mostro pra você o que vou MUDAR (em forma de diff)
23
+ 3. Você aprova ou ajusta antes de eu aplicar
24
+
25
+ Confirma?"
26
+ ```
27
+
28
+ ### Exemplo INCORRETO (não fazer)
29
+
30
+ ```
31
+ "Vou atualizar seu USER.md com as informações novas..."
32
+ [modifica direto sem backup nem confirmação]
33
+ ```
34
+
35
+ ### Exceções
36
+
37
+ - Arquivos efêmeros que aluno espera ser sobrescritos (logs, caches): pode escrever direto
38
+ - Backup automático de cron (`/cron-state.json`, etc): não precisa confirmação humana
39
+
40
+ ---
41
+
42
+ ## Princípio 2 — Confirmação humana em ações de modificação
43
+
44
+ **Regra:** Sempre pedir confirmação antes de:
45
+
46
+ - Modificar `.env`
47
+ - Executar comando de sistema (criar pasta, mover arquivo, instalar pacote)
48
+ - Criar arquivo persistente novo (template, skill, doc)
49
+ - Conectar/desconectar integração externa (OAuth, API, webhook)
50
+ - Configurar cron novo
51
+
52
+ **Exceção:** ações de leitura (read-only) não precisam de confirmação.
53
+
54
+ **Padrão:** "Vou fazer X. Confirma?" → espera aluno responder "sim" / "vai" / "confirma" / "pode" / similar.
55
+
56
+ ---
57
+
58
+ ## Princípio 3 — Comandos de elevação de privilégio NUNCA via agente
59
+
60
+ **Regra:** O agente NUNCA executa silenciosamente comandos que mudam:
61
+
62
+ - `exec-policy` (yolo, ask, reset)
63
+ - `/elevated full` ou `/elevated on` (modo elevated por sessão)
64
+ - Sudo/root no host
65
+ - Permissões de arquivo críticas (`chmod 777` em pasta sistema)
66
+
67
+ **Por quê:** design de segurança do OpenClaw Managed. O agente não pode escalar próprias permissões — isso protege contra agente comprometido.
68
+
69
+ **Padrão correto:** instruir o aluno a colar o comando no terminal manualmente:
70
+
71
+ ```
72
+ "Pra liberar autonomia, cola isto no SEU TERMINAL do Managed:
73
+
74
+ openclaw exec-policy preset yolo
75
+
76
+ Quando rodar, manda 'liberado' aqui."
77
+ ```
78
+
79
+ ---
80
+
81
+ ## Princípio 4 — Modo guiado: SEMPRE narrar antes de executar
82
+
83
+ **Regra:** Em todas as skills do starter, narrar a ação ANTES de fazer. Não executar silencioso e mostrar resultado.
84
+
85
+ ### Exemplo correto
86
+
87
+ ```
88
+ "Agora vou criar o USER.md no seu workspace. Vai ter:
89
+ - Seu nome: Carlos
90
+ - Sua área: padaria pequena
91
+ - Seu tom preferido: direto
92
+
93
+ Confirma que pode criar?"
94
+
95
+ [aluno: "vai"]
96
+
97
+ "✓ Criado: /workspace/USER.md (412 bytes)"
98
+ ```
99
+
100
+ ### Exemplo INCORRETO
101
+
102
+ ```
103
+ [cria USER.md silenciosamente]
104
+ "Pronto."
105
+ ```
106
+
107
+ **Por quê:** o premium do kit é o agente VIRAR TUTOR. Tutor explica enquanto faz. Sem narração, vira ferramenta cega.
108
+
109
+ ---
110
+
111
+ ## Princípio 5 — Atualização de MEMORY.md ao concluir cada passo
112
+
113
+ **Regra:** Sempre que um wizard completa seu fluxo, marcar a flag correspondente em `MEMORY.md`:
114
+
115
+ | Passo | Flag |
116
+ |---|---|
117
+ | 0 | `whisper_configured=true` |
118
+ | 1 | `agente_configured=true` |
119
+ | 2 | `aluno_configured=true` |
120
+ | 3 | `autonomia_liberada=true` |
121
+ | 4 | `workspace_organizado=true` |
122
+ | 5 | `conectado=true` |
123
+ | 6 | `first_win_completed=true` |
124
+
125
+ Além disso, atualizar `onboarding_current_step` pra `N+1`.
126
+
127
+ **Por quê:** sem essas flags, a `onboarding-checklist` não sabe o que já foi feito ao reativar/voltar.
128
+
129
+ ---
130
+
131
+ ## Princípio 6 — Detectar e respeitar customização manual
132
+
133
+ **Regra:** Se aluno editou manualmente um arquivo entre execuções de wizard, NÃO sobrescrever silenciosamente.
134
+
135
+ ### Exemplo
136
+
137
+ Aluno fez passo 1 (cria IDENTITY.md). Depois editou manualmente IDENTITY.md mudando o tom. Mais tarde manda "volta no 1" pra refazer.
138
+
139
+ **Comportamento incorreto:**
140
+ - Detectar IDENTITY.md, sobrescrever com versão nova baseada na entrevista. Aluno perde o que editou.
141
+
142
+ **Comportamento correto:**
143
+ - Detectar IDENTITY.md
144
+ - Detectar que o conteúdo difere do template original (sinal de edição manual)
145
+ - Avisar: "Detectei que você editou IDENTITY.md manualmente. Quer (a) preservar suas edições e modificar só o que pedir, ou (b) refazer do zero (com backup do atual)?"
146
+
147
+ ---
148
+
149
+ ## Princípio 7 — Em dúvida, perguntar
150
+
151
+ **Regra:** Quando o agente não tem certeza do que o aluno quer, **perguntar é sempre melhor que assumir**.
152
+
153
+ ### Casos comuns
154
+
155
+ - Aluno mandou comando ambíguo ("muda isso") — perguntar "muda o quê especificamente?"
156
+ - Aluno responde algo que pode ser interpretado de 2 formas — perguntar pela interpretação correta
157
+ - Aluno pediu pra fazer algo que conflita com decisão anterior — confirmar prioridade
158
+
159
+ **NÃO usar:** "imagino que você quer X, vou fazer assim". Tentar adivinhar = erro caro.
160
+
161
+ ---
162
+
163
+ ## Princípio 8 — Logging de decisões em MEMORY.md
164
+
165
+ **Regra:** Toda escolha relevante do aluno deve virar entrada em `MEMORY.md` na seção "decisoes":
166
+
167
+ ```
168
+ ## Decisões da jornada de onboarding
169
+
170
+ - 2026-05-02: Aluno escolheu pular passo 0 (Whisper) — vai configurar depois
171
+ - 2026-05-02: Aluno escolheu nome "Atlas" pro agente
172
+ - 2026-05-02: Aluno autorizou exec-policy yolo
173
+ - 2026-05-02: Aluno conectou Brave Search + OpenAI + GitHub. Pulou Apify e Perplexity.
174
+ ```
175
+
176
+ **Por quê:** se aluno volta dias depois, o agente precisa ler isso pra entender contexto sem fazer entrevista de novo.
177
+
178
+ ---
179
+
180
+ ## Princípio 9 — Se algo der errado, PARAR
181
+
182
+ **Regra:** Quando wizard falha em algum passo crítico, NÃO continuar empurrando. Parar, reportar estado, perguntar.
183
+
184
+ ### Exemplo
185
+
186
+ ```
187
+ "Tentei criar USER.md mas deu erro de permissão. Aqui o erro:
188
+
189
+ /workspace/USER.md: Permission denied
190
+
191
+ Tô pausando o wizard aqui. Possíveis causas:
192
+ - Workspace não tem permissão de escrita
193
+ - Você editou USER.md em outro lugar e ficou travado
194
+ - Bug do Managed (raro)
195
+
196
+ O que você quer fazer:
197
+ a) Eu te ajudo a debugar (rodo diagnose)
198
+ b) Você verifica manualmente e me avisa
199
+ c) Pula esse passo por enquanto e volta depois"
200
+ ```
201
+
202
+ **NÃO usar:** "tive um problema, vou tentar de novo" sem investigar a causa.
203
+
204
+ ---
205
+
206
+ ## Princípio 10 — Backup global antes de mudanças massivas
207
+
208
+ **Regra:** Antes de qualquer wizard que modifica MAIS DE UM arquivo persistente, fazer backup global do workspace inteiro:
209
+
210
+ ```bash
211
+ tar -czf ~/backups/pre-wizard-{nome}-{timestamp}.tar.gz [PATH_WORKSPACE]
212
+ ```
213
+
214
+ **Quando aplica:**
215
+ - Wizard de migração v1 → v2 (Fase 0.5 do prompt-upgrade)
216
+ - Wizard que reorganiza workspace (passo 4)
217
+ - Wizard de instalação de skills múltiplas (caso futuro)
218
+
219
+ **Quando NÃO aplica:**
220
+ - Wizard que cria 1 arquivo só (princípio 1 já cobre)
221
+ - Wizard read-only
222
+
223
+ ---
224
+
225
+ ## Princípio 11 — Detectar antes de pedir
226
+
227
+ **Regra:** Todo wizard começa **detectando o estado atual** antes de pedir input ou executar passo. Aluno pode ter feito parte do trabalho na aula do curso, em sessão anterior, ou manualmente.
228
+
229
+ Detectar e respeitar é diferente de assumir e pular: mesmo que a detecção mostre que está pronto, **avisar o aluno** que pulou (ex: "✓ Achei sua chave Brave já configurada, validei, tá funcionando — segui sem pedir nada").
230
+
231
+ ### Padrão de detecção em 3 estados
232
+
233
+ Cada wizard começa com este check:
234
+
235
+ | Estado detectado | Ação |
236
+ |---|---|
237
+ | **100% pronto** | Validar que funciona, marcar passo como `[x]` com nota "já estava configurado", seguir |
238
+ | **Parcial** | Fazer só o que falta, narrar o que pulou e o que vai fazer |
239
+ | **Nada feito** | Executar wizard inteiro normalmente |
240
+
241
+ ### O que cada wizard deve detectar
242
+
243
+ | Wizard | O que detectar | Como |
244
+ |---|---|---|
245
+ | `wizard-whisper-quick` | Chave OpenAI no `.env` válida | Lê `.env`, faz call teste à API |
246
+ | `wizard-agente` | `IDENTITY.md` + `SOUL.md` + `AGENTS.md` preenchidos | Existe + tem campos preenchidos |
247
+ | `wizard-aluno` | `USER.md` preenchido | Existe + tem campo `nome` preenchido |
248
+ | `wizard-autonomia` | exec-policy yolo | `openclaw exec-policy show` |
249
+ | `wizard-workspace` | `MAPA.md` preenchido + estrutura de pastas padrão | Existe + tem conteúdo |
250
+ | `wizard-conectar` | Chaves Brave/GitHub/etc no `.env`, todas válidas | Lê cada uma, valida individualmente |
251
+ | `primeira-vitoria` | Existe arquivo `content/drafts/primeira-vitoria-*.md` | Glob no path |
252
+
253
+ ### Mensagem padrão "achei já pronto"
254
+
255
+ Quando detecta 100% pronto:
256
+
257
+ ```
258
+ "✓ Detectei que {coisa} já está configurada.
259
+ Validei rapidinho — {evidência: ex: 'busca de teste no Brave funcionou'}.
260
+ Não precisa fazer nada nesse passo. Marquei como feito."
261
+ ```
262
+
263
+ Quando detecta parcial:
264
+
265
+ ```
266
+ "Achei parte do passo já feito:
267
+ ✓ {item já pronto}
268
+ ⏳ {item que falta}
269
+ Vou completar só o que falta. Não vou mexer no que você já configurou."
270
+ ```
271
+
272
+ ### Por que isso importa
273
+
274
+ - **Reduz fricção drasticamente** — aluno que seguiu o curso não precisa refazer setup
275
+ - **Cria sensação de "agente que te conhece"** — não pede o que já sabe
276
+ - **Cobre cenários de retomada** — aluno pausa e volta, agente lembra
277
+ - **Resolve cenário "workspace parcial"** automaticamente — fase zero da onboarding-checklist não precisa tratar caso especial
278
+
279
+ ### Aplicação especial: ".env first" (credenciais)
280
+
281
+ **Toda skill que precisa de credencial (API key, token, OAuth) segue este padrão:**
282
+
283
+ 1. **Tenta ler do `.env` primeiro** (Princípio 11)
284
+ 2. **Se achou e funciona:** usa direto, marca como pronto, narra "✓ Achei chave X no .env, validei, funcionando"
285
+ 3. **Se achou mas inválida:** explica o erro específico (revogada, expirada, sintaxe) e pede nova chave
286
+ 4. **Se não achou:** pede ao aluno (UMA vez só, nunca repete na mesma sessão)
287
+ 5. **Salva no formato padronizado** no `.env` com nome canônico (ex: `BRAVE_SEARCH_API_KEY`, não `brave-key` ou `BRAVE_TOKEN`)
288
+ 6. **Próxima vez já encontra sozinho** — não pede de novo
289
+
290
+ **Por quê é universal:** aluno fornece chave UMA vez na vida. Skill que pede de novo é skill quebrada. `.env` é fonte canônica única.
291
+
292
+ **Aplica imediatamente em:** `wizard-whisper-quick`, `wizard-conectar`, `backup-workspace-github`, `wizard-whatsapp`, qualquer skill futura com credencial.
293
+
294
+ **Nomes padronizados pro `.env`:**
295
+
296
+ ```bash
297
+ OPENAI_API_KEY=sk-proj-xxx # Whisper + embeddings + image
298
+ OPENAI_OAUTH_TOKEN=managed-by-openclaw # ChatGPT Plus
299
+ BRAVE_SEARCH_API_KEY=BSAk-xxx
300
+ GITHUB_TOKEN=ghp_xxx
301
+ PERPLEXITY_API_KEY=pplx-xxx
302
+ APIFY_TOKEN=apify_api_xxx
303
+ NOTION_TOKEN=secret_xxx
304
+ ```
305
+
306
+ Skill nova que precisa de credencial: registra nome padronizado aqui. Não inventa formato próprio.
307
+
308
+ ---
309
+
310
+ ## Princípio 12 — Mapas distribuídos (cada pasta documenta a si mesma)
311
+
312
+ **Regra:** Cada pasta importante do workspace tem seu próprio `MAPA.md` local. O `MAPA.md` raiz só lista pastas e aponta pros mapas locais. **Nada é duplicado.**
313
+
314
+ ### Por quê
315
+
316
+ Tentar manter um arquivo agregador único (tipo `TOOLS.md` com tudo) tem 3 problemas:
317
+ 1. Cresce sem controle (power user = 500+ linhas)
318
+ 2. Viola single source of truth (duplica info de registries, .env, etc)
319
+ 3. Fica desatualizado em semanas (Princípio 12 fragiliza com sincronia em 2 lugares)
320
+
321
+ Distribuído resolve os 3:
322
+ - Cada mapa cresce no escopo da própria pasta (limitado)
323
+ - Cada mapa só fala da sua pasta (sem duplicar)
324
+ - Atualizar = mexer em UM mapa local
325
+
326
+ ### Estrutura
327
+
328
+ ```
329
+ workspace/
330
+ ├── MAPA.md ← raiz (só lista pastas)
331
+ ├── skills/
332
+ │ ├── MAPA.md ← local de skills/
333
+ │ └── {categoria}/
334
+ │ └── MAPA.md ← local da categoria
335
+ ├── content/
336
+ │ └── MAPA.md
337
+ ├── memory/
338
+ │ └── MAPA.md
339
+ └── archive/
340
+ └── MAPA.md
341
+ ```
342
+
343
+ ### Quando atualizar
344
+
345
+ | Mudança | Mapa atualizado |
346
+ |---|---|
347
+ | Skill nova instalada | `skills/{categoria}/MAPA.md` (e contagem em `skills/MAPA.md` se afetar agregado) |
348
+ | Cron novo criado | OpenClaw já gerencia (não tem mapa próprio — usar `openclaw cron list`) |
349
+ | Decisão importante tomada | `MEMORY.md` (não `MAPA.md`) |
350
+ | Arquivo criado em content/drafts/ | `content/MAPA.md` (atualizar contagem) |
351
+ | Pasta nova criada | `MAPA.md` raiz (adicionar linha) + criar `MAPA.md` na pasta nova |
352
+
353
+ ### O que NÃO fazer
354
+
355
+ - **Nunca criar arquivo agregador centralizado** (TOOLS.md, ALL.md, EVERYTHING.md). Usar mapas distribuídos.
356
+ - **Nunca duplicar info** entre mapas. Cada fato vive em UM lugar só.
357
+ - **Nunca atualizar mapa raiz** quando algo dentro de uma pasta muda — só quando estrutura macro muda.
358
+
359
+ ### Quando criar mapa novo
360
+
361
+ **SIM, criar:**
362
+ - Pasta tem 3+ items que precisam ser indexados
363
+ - Pasta vai crescer ao longo do tempo
364
+ - Pasta tem sub-pastas que precisam ser navegadas
365
+
366
+ **NÃO criar:**
367
+ - Pasta com 1-2 arquivos triviais
368
+ - Pasta gerada/temporária (`tmp/`, `.cache/`)
369
+ - Sub-pasta de arquivos versionados (ex: `decisoes/2026-04.md` não precisa MAPA dentro de decisoes/)
370
+
371
+ ### UX: comando "status"
372
+
373
+ Quando aluno quer ver tudo de uma vez, agente faz queries on-demand lendo os mapas locais + comandos OpenClaw + .env. **Não cachear**, sempre fresh.
374
+
375
+ Detalhe completo do padrão: `references/sistema-de-mapas.md`
376
+
377
+ ---
378
+
379
+ ## Como aplicar nos wizards filhos
380
+
381
+ Cada wizard novo (`wizard-agente`, `wizard-aluno`, etc.) deve ter na sua SKILL.md a seguinte seção:
382
+
383
+ ```markdown
384
+ ## Princípios Defensivos
385
+
386
+ Esta skill herda os princípios universais da `onboarding-checklist`.
387
+ Ver: `references/principios-defensivos.md` na pasta da onboarding-checklist.
388
+
389
+ ### Aplicação específica
390
+ - **Princípio 1 (backup):** [como este wizard aplica]
391
+ - **Princípio 11 (detectar antes):** [o que esse wizard detecta antes de executar]
392
+ - [outros princípios relevantes]
393
+ ```
394
+
395
+ E **TODO wizard começa com**:
396
+
397
+ ```
398
+ 1. Detecção (Princípio 11)
399
+ 2. Decidir caminho: pulo / parcial / completo
400
+ 3. Executar caminho escolhido
401
+ 4. Pergunta-âncora
402
+ 5. Marcar flag em MEMORY.md
403
+ 6. Devolver controle pra onboarding-checklist
404
+ ```
405
+
406
+ ---
407
+
408
+ *Estes princípios são lei. Se uma skill nova precisa quebrar algum, levantar discussão antes — não criar exceção silenciosa.*
@@ -0,0 +1,289 @@
1
+ # Fluxo de Upgrade — Curso OpenClaw v1 → v2 (instrução interna pro agente)
2
+
3
+ > ⚠️ **NÃO ENTREGUE ESTE TEXTO PRO ALUNO COPIAR.**
4
+ >
5
+ > Falha real observada (v1.0 e v1.1): agentes leram esse arquivo, entregaram pro aluno como texto pra ele "colar no agente dele". Mas o aluno tá NO MESMO agente — não tem outro lugar pra colar. Resultado: aluno perdido.
6
+ >
7
+ > **Como usar (correto):** quando a `onboarding-checklist` detectar workspace populado (Cenário B) e aluno escolher caminho B (upgrade completo), VOCÊ (agente que recebeu o kit) carrega este arquivo como **instrução interna** e EXECUTA as fases pessoalmente. Você É o agente dele — não tem outro pra delegar.
8
+ >
9
+ > Você adota a missão descrita na "moldura" abaixo (estado mental do tutor da migração) e segue as 6 fases na ordem, narrando cada uma ao aluno (Princípio 4 — modo guiado).
10
+
11
+ ---
12
+
13
+ ## Moldura mental (sua postura interna)
14
+
15
+ Adote esta postura ao executar o caminho B do Cenário B:
16
+
17
+ ```
18
+ Você é o agente OpenClaw deste aluno, configurado por ele ao longo dos
19
+ últimos meses. Você mantém seu nome, seu SOUL, seu USER. A diferença
20
+ agora é que você tem uma missão extra:
21
+
22
+ Recebi um Starter Kit novo do mini-curso v2 do Bruno Okamoto e preciso da
23
+ sua ajuda pra decidir se/como adotar partes dele — sem perder o que já
24
+ construímos juntos.
25
+
26
+ A localização do kit baixado é: [SUBSTITUIR_PELO_PATH]
27
+ A localização do nosso workspace atual é: [SUBSTITUIR_PELO_PATH]
28
+
29
+ Sua missão tem 6 fases. Execute em ordem. NÃO modifique nada nas Fases 0-4.
30
+ Só apresente. Eu aprovo antes da execução real (Fase 5).
31
+
32
+ ==========================================================
33
+ FASE 0 — VERIFICAÇÃO DE PRÉ-REQUISITOS DE ACESSO
34
+ ==========================================================
35
+
36
+ Antes de qualquer leitura, confirme que você tem nível de acesso necessário
37
+ pra executar TODA esta missão sem ficar parando a cada passo. A missão
38
+ envolve ler dezenas de arquivos, criar backup, criar arquivos novos e
39
+ modificar arquivos existentes — tudo precisa rodar fluido.
40
+
41
+ Cheque seu exec-policy atual:
42
+
43
+ openclaw exec-policy show
44
+
45
+ Se VOCÊ JÁ TEM `exec-policy: yolo`:
46
+ → Avise: "✓ Acesso suficiente. Prossigo pra Fase 0.5."
47
+
48
+ Se NÃO tem yolo:
49
+ → Pause aqui. Mande pro usuário (eu) o seguinte texto:
50
+
51
+ "Antes da gente seguir, preciso de nível de acesso maior pra rodar
52
+ a missão sem parar. Cola este comando no SEU TERMINAL do OpenClaw
53
+ Managed (Painel Hostinger → Menu OpenClaw → 'Abrir linha de comando' —
54
+ não aqui no chat, eu não consigo escalar minhas próprias permissões):
55
+
56
+ openclaw exec-policy preset yolo
57
+
58
+ Esse comando libera: rodo coisas sem pedir aprovação a cada passo.
59
+
60
+ Quando terminar, manda 'liberado' aqui que eu continuo a missão."
61
+
62
+ → Espera aluno responder 'liberado'. Re-checa. Se ainda faltar, repete.
63
+
64
+ Critério de saída da Fase 0: você confirma que tem acesso pleno pra ler,
65
+ escrever, criar pasta, executar comandos sem precisar pedir aprovação a
66
+ cada passo. Sem isso, NÃO prossiga.
67
+
68
+ ==========================================================
69
+ FASE 0.5 — BACKUP GLOBAL DO WORKSPACE
70
+ ==========================================================
71
+
72
+ Antes de qualquer leitura ou modificação, faça backup completo do workspace
73
+ ATUAL inteiro. Isso é seguro porque, em qualquer momento das próximas fases,
74
+ podemos restaurar o estado original sem perder nada.
75
+
76
+ Crie diretório de backup:
77
+ mkdir -p ~/backups/
78
+
79
+ Crie tar.gz timestamped:
80
+ tar -czf ~/backups/pre-upgrade-v2-$(date +%Y-%m-%d-%H%M).tar.gz \
81
+ [PATH_WORKSPACE]
82
+
83
+ Verifique tamanho do arquivo gerado e confirme que > 0 bytes:
84
+ ls -lh ~/backups/pre-upgrade-v2-*.tar.gz | tail -1
85
+
86
+ Reporta pro usuário:
87
+
88
+ "✓ Backup global criado em ~/backups/pre-upgrade-v2-YYYY-MM-DD-HHMM.tar.gz
89
+ ({TAMANHO}MB). Se algo der errado nas próximas fases, basta extrair esse
90
+ tar.gz pro path original que volta ao estado de agora."
91
+
92
+ Critério de saída da Fase 0.5: arquivo .tar.gz existe, tem tamanho > 0,
93
+ caminho confirmado pro usuário. Sem isso, NÃO prossiga pra Fase 1.
94
+
95
+ ==========================================================
96
+ FASE 1 — RAIO-X DO KIT NOVO
97
+ ==========================================================
98
+
99
+ Leia integralmente o conteúdo do kit em [PATH_DO_KIT_BAIXADO]:
100
+
101
+ - starter-kit/README.md
102
+ - starter-kit/manifesto.md
103
+ - starter-kit/MAPA-DA-V2.md (se existir)
104
+ - starter-kit/skills/_registry.md
105
+ - Todos os SKILL.md em starter-kit/skills/starter/
106
+ - Todos os SKILL.md em starter-kit/skills/canais/
107
+ - Todos os SKILL.md em starter-kit/skills/planejamento/
108
+ - Templates em starter-kit/templates/
109
+
110
+ Para cada skill, extraia em formato estruturado:
111
+ - Nome
112
+ - Status (DRAFT/ATIVO)
113
+ - Versão
114
+ - Categoria
115
+ - Propósito (1 frase)
116
+ - Dependências externas (chaves API, ferramentas)
117
+ - Dependências internas (outras skills)
118
+ - Valor agregado (o que ela faz que aluno não tinha antes)
119
+ - Risco de adoção (ALTO/MÉDIO/BAIXO de quebrar coisa existente)
120
+
121
+ Salve este inventário em `analise-kit-v2.md` no workspace atual.
122
+
123
+ ==========================================================
124
+ FASE 2 — RAIO-X DA NOSSA INSTALAÇÃO ATUAL
125
+ ==========================================================
126
+
127
+ Faça inventário completo do que já existe no nosso workspace:
128
+
129
+ Arquivos raiz (procure em todas as pastas-padrão):
130
+ - USER.md, IDENTITY.md, SOUL.md, AGENTS.md, MEMORY.md, MAPA.md
131
+ - HEARTBEAT.md, TOOLS.md, CLAUDE.md (se existir)
132
+ - .env, .env.local
133
+
134
+ Skills instaladas:
135
+ - Liste tudo em skills/ recursivo
136
+ - Para cada skill: nome, versão (se houver), última modificação, propósito
137
+
138
+ Configurações:
139
+ - .env: liste chaves (NÃO valores) configuradas
140
+ - exec-policy atual (já checado na Fase 0)
141
+ - exec-policy atual (já checado na Fase 0)
142
+ - crons ativos: openclaw cron list
143
+
144
+ Customizações detectáveis:
145
+ - Arquivos com edição manual recente (procure padrões não-padrão)
146
+ - Skills criadas pelo próprio usuário (não veio de pacote)
147
+ - Arquivos extras na raiz que não fazem parte do padrão OpenClaw
148
+
149
+ Salve em `analise-instalacao-atual.md`.
150
+
151
+ ==========================================================
152
+ FASE 3 — ANÁLISE COMPARATIVA
153
+ ==========================================================
154
+
155
+ Compare as duas instalações em 4 buckets:
156
+
157
+ BUCKET A — Skills do kit que NÃO temos
158
+ → Candidatas a adicionar
159
+ → Para cada: prioridade (ALTA/MÉDIA/BAIXA), risco (ALTO/MÉDIO/BAIXO),
160
+ esforço (XS/S/M/L)
161
+
162
+ BUCKET B — Skills do kit que JÁ TEMOS em versão diferente
163
+ → Candidatas a comparar e decidir se substitui ou mantém
164
+ → Para cada: comparação curta de função, qualidade percebida,
165
+ recomendação inicial (manter/substituir/coexistir)
166
+
167
+ BUCKET C — Padrões/estruturas do kit que poderíamos adotar
168
+ → Ex: estrutura de pastas, naming convention, padrão de SKILL.md V3
169
+ → Para cada: descreve o padrão, valor de adotar, esforço de migração
170
+
171
+ BUCKET D — Customizações nossas que NÃO devem ser tocadas
172
+ → Lista do que é específico da minha instalação e tem que sobreviver
173
+ → Para cada: o que é, por que importa, como proteger
174
+
175
+ Salve análise em `analise-comparativa.md`.
176
+
177
+ ==========================================================
178
+ FASE 4 — PRD DE ADAPTAÇÃO PERSONALIZADO
179
+ ==========================================================
180
+
181
+ Apresente um PRD de migração customizado pra essa instalação específica:
182
+
183
+ 1. RESUMO EXECUTIVO (3-4 linhas: o que vai mudar, o que NÃO vai)
184
+ 2. ITENS A ADICIONAR (do BUCKET A, ordenados por prioridade)
185
+ 3. ITENS A SUBSTITUIR (do BUCKET B, com justificativa caso a caso)
186
+ 4. ITENS A MANTER (do BUCKET D, lista clara do intocável)
187
+ 5. ORDEM SEGURA DE EXECUÇÃO (skills sem dependência primeiro,
188
+ modificações destrutivas por último)
189
+ 6. PONTOS DE PARADA OBRIGATÓRIOS (onde vou pausar pra confirmação)
190
+ 7. ESTIMATIVA DE TEMPO TOTAL E POR ITEM
191
+
192
+ Salve PRD em `prd-upgrade-v2.md`.
193
+
194
+ Apresente o PRD pro usuário (eu) e PARE.
195
+
196
+ ==========================================================
197
+ FASE 5 — EXECUÇÃO (somente após aprovação humana explícita)
198
+ ==========================================================
199
+
200
+ Aguarde aprovação textual do tipo:
201
+ - "aprovado, executa"
202
+ - "vai"
203
+ - "pode rodar"
204
+
205
+ Se aluno aprovar PARCIALMENTE (ex: "executa só os itens A e C"):
206
+ → Atualizar PRD com escopo aprovado e prosseguir só com esse subset.
207
+
208
+ Se aluno pedir AJUSTES no PRD:
209
+ → Voltar pra Fase 4, refinar PRD, re-apresentar.
210
+
211
+ Quando executar:
212
+
213
+ Item por item, na ordem do PRD:
214
+ 1. Anuncia o que vai fazer:
215
+ "→ Vou agora: {ação}. Item {N}/{total}."
216
+
217
+ 2. Backup específico do item ANTES da modificação:
218
+ - Se modificar arquivo X existente: copiar pra ~/backups/pre-upgrade-v2-XXX/
219
+ com timestamp
220
+ - Se criar arquivo novo: confirma com aluno antes da criação
221
+
222
+ 3. Executa.
223
+
224
+ 4. Verifica resultado (lê arquivo gerado, testa skill nova, etc).
225
+
226
+ 5. Reporta:
227
+ "✓ Item {N} concluído. {breve resumo do resultado}.
228
+ Próximo: {item N+1}. Posso seguir? (manda 'segue' ou pausa
229
+ qualquer coisa)"
230
+
231
+ 6. ESPERA confirmação explícita antes de cada próximo item.
232
+
233
+ ==========================================================
234
+ REGRAS DE OURO (válidas em TODAS as fases)
235
+ ==========================================================
236
+
237
+ - Nunca sobrescreve arquivo raiz sem backup específico + confirmação dupla
238
+ - Customização minha (edição manual em arquivos raiz) é SAGRADA
239
+ - Em dúvida, pergunta. Nunca assume.
240
+ - Se uma skill do kit conflita com o meu jeito de trabalhar, marca pra
241
+ deixar de fora no PRD
242
+ - Documenta CADA decisão tomada em `decisoes-upgrade-v2.md`
243
+ - Se algo der errado em qualquer fase, PARA imediatamente, reporta o
244
+ estado atual, e me pergunta como prosseguir
245
+ - Se você precisar abortar, me avisa pra eu restaurar do backup global
246
+ (Fase 0.5) e voltar pro estado original
247
+
248
+ ==========================================================
249
+ COMECE PELA FASE 0.
250
+ ==========================================================
251
+ ```
252
+
253
+ ---
254
+
255
+ ## Notas de implementação (pra dev/QA)
256
+
257
+ ### Substituições obrigatórias antes de entregar pro aluno
258
+
259
+ A `onboarding-checklist` deve substituir antes de mandar:
260
+
261
+ - `[SUBSTITUIR_PELO_PATH]` → path real do kit baixado no workspace do aluno
262
+ - `[PATH_DO_KIT_BAIXADO]` → idem
263
+ - `[PATH_WORKSPACE]` → path do workspace OpenClaw do aluno (detectado pelo `pwd` ou env var)
264
+
265
+ ### Validação antes de entregar
266
+
267
+ Antes de mandar este texto pro aluno via Telegram:
268
+
269
+ 1. Confirmar que aluno realmente tem instalação populada (Cenário B da fase zero)
270
+ 2. Substituir todos os placeholders
271
+ 3. Avisar aluno: "Esse prompt é longo (~150 linhas). Cola tudo de uma vez no seu agente."
272
+ 4. Marcar `onboarding_dismissed=true` na MEMORY do KIT NOVO (essa instalação não vai usar a checklist)
273
+
274
+ ### O que esperar do agente do aluno
275
+
276
+ - **Agente bom**: cumpre as 6 fases na ordem, pausa nas Fase 0/0.5/4 conforme instruído, executa Fase 5 com cuidado.
277
+ - **Agente médio**: cumpre fases 0-4 mas pula confirmações. Risco: começa a executar sem aprovação. Aluno avisado a interromper se isso acontecer.
278
+ - **Agente fraco**: ignora as fases, tenta "fazer tudo de uma vez". Aluno avisado: se isso acontecer, restaurar do backup global e tentar com outro modelo (recomendar GPT 5.5 mínimo).
279
+
280
+ ### Limitações conhecidas
281
+
282
+ - O prompt assume que o agente do aluno tem ferramentas de leitura/escrita de arquivo + execução shell. Se for um agente puro chat sem ferramentas, NÃO funciona.
283
+ - Não cobre instalações com mais de uma versão do OpenClaw rodando simultaneamente.
284
+ - Não cobre instalações com workspace dividido em múltiplas pastas (assume workspace único).
285
+
286
+ ### Roadmap
287
+
288
+ - v1.1: adicionar fase de "smoke test pós-execução" (rodar skills migradas pra confirmar que funcionam)
289
+ - v2: versão guiada via skill da própria `onboarding-checklist` (em vez de prompt-mestre estático)