@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.
- package/README.md +60 -0
- package/assets/cases/case-amora.md +97 -0
- package/assets/cases/case-aurora-brunner.md +85 -0
- package/assets/cases/case-chris-everest.md +114 -0
- package/assets/cases/case-filippe-cesar.md +117 -0
- package/assets/cases/case-igor-gouveia.md +106 -0
- package/assets/cases//360/237/223/215 LEIA PRIMEIRO" +57 -0
- package/assets/cheatsheets/crons-do-seu-agente.md +170 -0
- package/assets/cheatsheets/identidade-do-seu-agente.md +133 -0
- package/assets/cheatsheets/integracoes-de-produtividade.md +171 -0
- package/assets/cheatsheets/memoria-do-seu-agente.md +166 -0
- package/assets/cheatsheets/mission-control.md +220 -0
- package/assets/cheatsheets/multi-agente.md +193 -0
- package/assets/cheatsheets/onboarding-do-seu-agente.md +145 -0
- package/assets/cheatsheets/outros-canais.md +129 -0
- package/assets/cheatsheets/skills-do-seu-agente.md +165 -0
- package/assets/cheatsheets/workspace-do-seu-agente.md +155 -0
- package/assets/cheatsheets//360/237/223/215 LEIA PRIMEIRO" +61 -0
- package/assets/prompts/business/analise-features.md +47 -0
- package/assets/prompts/business/metricas-saas.md +53 -0
- package/assets/prompts/business/reports-pdf.md +37 -0
- package/assets/prompts/business//360/237/223/215 LEIA PRIMEIRO.docx +0 -0
- package/assets/prompts/community/analise-comunidade.md +43 -0
- package/assets/prompts/community//360/237/223/215 LEIA PRIMEIRO" +11 -0
- package/assets/prompts/content/content-waterfall.md +57 -0
- package/assets/prompts/content/ideias-de-conteudo.md +36 -0
- package/assets/prompts/content/tom-de-voz.md +41 -0
- package/assets/prompts/content//360/237/223/215 LEIA PRIMEIRO" +13 -0
- package/assets/prompts/productivity/daily-briefing.md +57 -0
- package/assets/prompts/productivity/social-metrics.md +53 -0
- package/assets/prompts/productivity/viagens-pesquisas.md +38 -0
- package/assets/prompts/productivity//360/237/223/215 LEIA PRIMEIRO" +13 -0
- package/assets/prompts/research/deep-research.md +52 -0
- package/assets/prompts/research//360/237/223/215 LEIA PRIMEIRO" +11 -0
- package/assets/prompts/support/analise-suporte.md +41 -0
- package/assets/prompts/support//360/237/223/215 LEIA PRIMEIRO" +11 -0
- package/assets/prompts//360/237/223/215 LEIA PRIMEIRO.docx +0 -0
- package/assets/skills/_registry.md +184 -0
- package/assets/skills/canais/_registry.md +36 -0
- package/assets/skills/canais/wizard-whatsapp/SKILL.md +334 -0
- package/assets/skills/operacional/_registry.md +20 -0
- package/assets/skills/operacional/backup-workspace-github/SKILL.md +246 -0
- package/assets/skills/planejamento/_registry.md +70 -0
- package/assets/skills/planejamento/brainstorming/SKILL.md +133 -0
- package/assets/skills/planejamento/executing-plans/SKILL.md +182 -0
- package/assets/skills/planejamento/verification-before-completion/SKILL.md +157 -0
- package/assets/skills/planejamento/writing-plans/SKILL.md +170 -0
- package/assets/skills/starter/_registry.md +93 -0
- package/assets/skills/starter/onboarding-checklist/SKILL.md +434 -0
- package/assets/skills/starter/onboarding-checklist/evals/evals.json +245 -0
- package/assets/skills/starter/onboarding-checklist/references/arquivamento-pos-jornada.md +167 -0
- package/assets/skills/starter/onboarding-checklist/references/arquivos-raiz.md +281 -0
- package/assets/skills/starter/onboarding-checklist/references/checklist-template.md +215 -0
- package/assets/skills/starter/onboarding-checklist/references/comandos-canonicos.md +272 -0
- package/assets/skills/starter/onboarding-checklist/references/dependencias.md +139 -0
- package/assets/skills/starter/onboarding-checklist/references/manifesto-abertura.md +54 -0
- package/assets/skills/starter/onboarding-checklist/references/mapa-aulas.md +216 -0
- package/assets/skills/starter/onboarding-checklist/references/padrao-exemplos-opt-in.md +159 -0
- package/assets/skills/starter/onboarding-checklist/references/principios-defensivos.md +408 -0
- package/assets/skills/starter/onboarding-checklist/references/prompt-upgrade-para-aluno-antigo.md +289 -0
- package/assets/skills/starter/onboarding-checklist/references/sistema-de-mapas.md +273 -0
- package/assets/skills/starter/onboarding-checklist/references/sobre-o-kit.md +105 -0
- package/assets/skills/starter/primeira-vitoria/SKILL.md +515 -0
- package/assets/skills/starter/primeira-vitoria/evals/evals.json +201 -0
- package/assets/skills/starter/wizard-agente/SKILL.md +420 -0
- package/assets/skills/starter/wizard-agente/evals/evals.json +204 -0
- package/assets/skills/starter/wizard-aluno/SKILL.md +353 -0
- package/assets/skills/starter/wizard-aluno/evals/evals.json +192 -0
- package/assets/skills/starter/wizard-autonomia/SKILL.md +391 -0
- package/assets/skills/starter/wizard-autonomia/evals/evals.json +192 -0
- package/assets/skills/starter/wizard-conectar/SKILL.md +450 -0
- package/assets/skills/starter/wizard-conectar/evals/evals.json +196 -0
- package/assets/skills/starter/wizard-whisper-quick/SKILL.md +349 -0
- package/assets/skills/starter/wizard-whisper-quick/evals/evals.json +195 -0
- package/assets/skills/starter/wizard-workspace/SKILL.md +483 -0
- package/assets/skills/starter/wizard-workspace/evals/evals.json +174 -0
- package/assets/templates/AGENTS.template.md +58 -0
- package/assets/templates/IDENTITY.template.md +21 -0
- package/assets/templates/MAPA.template.md +71 -0
- package/assets/templates/README.md +62 -0
- package/assets/templates/SOUL-stub.template.md +26 -0
- package/assets/templates/USER.template.md +41 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/openclaw.plugin.json +15 -0
- package/package.json +44 -0
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
{
|
|
2
|
+
"skill": "wizard-whisper-quick",
|
|
3
|
+
"version": "1.0",
|
|
4
|
+
"description": "4 cenários cobrindo: chave nova, chave existente válida, chave existente inválida, aluno pula",
|
|
5
|
+
"scenarios": [
|
|
6
|
+
{
|
|
7
|
+
"id": "chave-nova-fluxo-completo",
|
|
8
|
+
"name": "Aluno sem chave configura do zero",
|
|
9
|
+
"description": "Caminho feliz: aluno chega ao passo 0 sem nada no .env, gera chave, valida, manda áudio, smoke test passa.",
|
|
10
|
+
"setup": {
|
|
11
|
+
"env_state": ".env vazio ou sem OPENAI_API_KEY",
|
|
12
|
+
"memory_flags": {},
|
|
13
|
+
"canal": "telegram"
|
|
14
|
+
},
|
|
15
|
+
"interaction_flow": [
|
|
16
|
+
{
|
|
17
|
+
"user": "[despachado pela onboarding-checklist como passo 0]",
|
|
18
|
+
"expected_agent_behavior": [
|
|
19
|
+
"executa Princípio 11 — lê .env, não acha OPENAI_API_KEY",
|
|
20
|
+
"narra promessa do passo (5min, áudio destrava mobile)",
|
|
21
|
+
"explica que é opcional",
|
|
22
|
+
"espera resposta antes de prosseguir"
|
|
23
|
+
],
|
|
24
|
+
"must_not": [
|
|
25
|
+
"pular detecção e ir direto pra pedir chave",
|
|
26
|
+
"começar a configurar sem aluno topar"
|
|
27
|
+
]
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"user": "topo, vamo nessa",
|
|
31
|
+
"expected_agent_behavior": [
|
|
32
|
+
"instrui aluno a abrir platform.openai.com/api-keys",
|
|
33
|
+
"passa nome sugerido pra chave (openclaw-{agente})",
|
|
34
|
+
"avisa que chave aparece UMA vez só",
|
|
35
|
+
"espera aluno colar a chave"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"user": "sk-proj-abc123xyz...",
|
|
40
|
+
"expected_agent_behavior": [
|
|
41
|
+
"valida com curl à api.openai.com/v1/models",
|
|
42
|
+
"recebe 200 OK",
|
|
43
|
+
"faz backup do .env atual (Princípio 1)",
|
|
44
|
+
"salva como OPENAI_API_KEY no .env",
|
|
45
|
+
"confirma .env no .gitignore",
|
|
46
|
+
"pede smoke test (aluno mandar áudio)"
|
|
47
|
+
],
|
|
48
|
+
"must_not": [
|
|
49
|
+
"salvar a chave sem validar com call de teste",
|
|
50
|
+
"expor a chave no log/output"
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"user": "[áudio: 'tô testando']",
|
|
55
|
+
"expected_agent_behavior": [
|
|
56
|
+
"transcreve via Whisper API",
|
|
57
|
+
"mostra texto transcrito",
|
|
58
|
+
"valida que ficou correto",
|
|
59
|
+
"marca whisper_configured=true em MEMORY.md",
|
|
60
|
+
"atualiza onboarding_current_step=1",
|
|
61
|
+
"menciona aula A0 + grupo @cursoopenclaw",
|
|
62
|
+
"devolve controle pra onboarding-checklist"
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"success_criteria": [
|
|
67
|
+
"OPENAI_API_KEY no .env validada",
|
|
68
|
+
".env no .gitignore",
|
|
69
|
+
"whisper_configured=true em MEMORY.md",
|
|
70
|
+
"onboarding_current_step=1",
|
|
71
|
+
"smoke test áudio passou (transcrição mostrada)",
|
|
72
|
+
"aula A0 mencionada"
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "chave-ja-existe-valida",
|
|
77
|
+
"name": "Aluno já tem OPENAI_API_KEY no .env (cenário workspace parcial)",
|
|
78
|
+
"description": "Aluno fez passo manualmente em sessão anterior, ou seguiu aula A0 antes do kit. Princípio 11 deve detectar e pular pedido.",
|
|
79
|
+
"setup": {
|
|
80
|
+
"env_state": "OPENAI_API_KEY=sk-proj-xxx (válida)",
|
|
81
|
+
"memory_flags": {},
|
|
82
|
+
"canal": "telegram"
|
|
83
|
+
},
|
|
84
|
+
"interaction_flow": [
|
|
85
|
+
{
|
|
86
|
+
"user": "[despachado pela onboarding-checklist como passo 0]",
|
|
87
|
+
"expected_agent_behavior": [
|
|
88
|
+
"lê .env, acha OPENAI_API_KEY",
|
|
89
|
+
"valida com curl à api.openai.com/v1/models",
|
|
90
|
+
"recebe 200 OK",
|
|
91
|
+
"narra '✓ Detectei que sua chave OpenAI já está configurada... validei agora, funcionando'",
|
|
92
|
+
"NÃO pede nova chave",
|
|
93
|
+
"vai direto pro smoke test"
|
|
94
|
+
],
|
|
95
|
+
"must_not": [
|
|
96
|
+
"pedir aluno gerar chave nova",
|
|
97
|
+
"fazer backup ou modificar .env",
|
|
98
|
+
"marcar passo como done sem smoke test"
|
|
99
|
+
]
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"user": "[áudio]",
|
|
103
|
+
"expected_agent_behavior": [
|
|
104
|
+
"transcreve, mostra, marca passo como feito",
|
|
105
|
+
"narra que pulou pedir chave (Princípio 11)"
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"success_criteria": [
|
|
110
|
+
"wizard NÃO pediu chave nova",
|
|
111
|
+
"validação foi feita silenciosamente",
|
|
112
|
+
"smoke test rodou normalmente",
|
|
113
|
+
"whisper_configured=true em MEMORY.md"
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"id": "chave-existente-invalida",
|
|
118
|
+
"name": "Chave no .env existe mas tá quebrada",
|
|
119
|
+
"description": "Aluno tem chave de outra conta, revogada, ou copy-paste truncado. Wizard detecta no validate e pede nova.",
|
|
120
|
+
"setup": {
|
|
121
|
+
"env_state": "OPENAI_API_KEY=sk-proj-OLDREVOGADA",
|
|
122
|
+
"memory_flags": {},
|
|
123
|
+
"canal": "telegram"
|
|
124
|
+
},
|
|
125
|
+
"interaction_flow": [
|
|
126
|
+
{
|
|
127
|
+
"user": "[despachado pela onboarding-checklist]",
|
|
128
|
+
"expected_agent_behavior": [
|
|
129
|
+
"lê .env, acha chave",
|
|
130
|
+
"valida com curl, recebe 401",
|
|
131
|
+
"explica erro específico ('autenticação falhou — chave provavelmente revogada/expirada/incompleta')",
|
|
132
|
+
"pede nova chave",
|
|
133
|
+
"NÃO sobrescreve a antiga sem confirmação"
|
|
134
|
+
],
|
|
135
|
+
"must_not": [
|
|
136
|
+
"narrar 'achei chave' como se fosse válida",
|
|
137
|
+
"ignorar erro 401 e seguir"
|
|
138
|
+
]
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"user": "sk-proj-NOVACHAVE...",
|
|
142
|
+
"expected_agent_behavior": [
|
|
143
|
+
"valida nova chave (200 OK)",
|
|
144
|
+
"backup do .env (Princípio 1)",
|
|
145
|
+
"substitui OPENAI_API_KEY (não duplica)",
|
|
146
|
+
"smoke test"
|
|
147
|
+
]
|
|
148
|
+
}
|
|
149
|
+
],
|
|
150
|
+
"success_criteria": [
|
|
151
|
+
"chave antiga foi substituída (não duplicada)",
|
|
152
|
+
"backup do .env foi feito antes",
|
|
153
|
+
"smoke test rodou com chave nova"
|
|
154
|
+
]
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"id": "aluno-pula",
|
|
158
|
+
"name": "Aluno pula passo 0",
|
|
159
|
+
"description": "Aluno não tem cartão OpenAI ou não quer agora. Wizard deve aceitar sem fricção.",
|
|
160
|
+
"setup": {
|
|
161
|
+
"env_state": ".env vazio",
|
|
162
|
+
"memory_flags": {},
|
|
163
|
+
"canal": "telegram"
|
|
164
|
+
},
|
|
165
|
+
"interaction_flow": [
|
|
166
|
+
{
|
|
167
|
+
"user": "[despachado pela onboarding-checklist]",
|
|
168
|
+
"expected_agent_behavior": [
|
|
169
|
+
"narra promessa + opção de pular",
|
|
170
|
+
"espera resposta"
|
|
171
|
+
]
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"user": "pulo",
|
|
175
|
+
"expected_agent_behavior": [
|
|
176
|
+
"marca whisper_skipped=true em MEMORY.md",
|
|
177
|
+
"explica que aluno pode reativar com 'configura whisper'",
|
|
178
|
+
"menciona que passo 5 (Conectar) também faz isso",
|
|
179
|
+
"atualiza onboarding_current_step=1",
|
|
180
|
+
"devolve controle pra onboarding-checklist sem fricção"
|
|
181
|
+
],
|
|
182
|
+
"must_not": [
|
|
183
|
+
"insistir, perguntar 'tem certeza?', tentar convencer",
|
|
184
|
+
"marcar whisper_configured=true"
|
|
185
|
+
]
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
"success_criteria": [
|
|
189
|
+
"whisper_skipped=true",
|
|
190
|
+
"onboarding_current_step=1",
|
|
191
|
+
"aluno informado de como reativar depois"
|
|
192
|
+
]
|
|
193
|
+
}
|
|
194
|
+
]
|
|
195
|
+
}
|
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: wizard-workspace
|
|
3
|
+
status: ATIVO
|
|
4
|
+
category: starter
|
|
5
|
+
owner: aluno
|
|
6
|
+
version: 1.0
|
|
7
|
+
mode: guided
|
|
8
|
+
estimated_time: 4min
|
|
9
|
+
model_compatible: [gpt-5, gpt-5.5, claude-sonnet-4, claude-opus-4, gemini-pro]
|
|
10
|
+
description: Use when student types "organiza workspace" / "cria mapa", OR when dispatched by onboarding-checklist as passo 4. Creates minimal workspace structure (content/, memory/, skills/, archive/) + MAPA.md raiz + 4 local MAPAs (Princípio 12 — mapas distribuídos). Detects existing structure first (Princípio 11). Depends on passo 3 (autonomia) — without yolo, every mkdir asks for approval.
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Wizard Workspace — Passo 4 (Estrutura mínima + mapas distribuídos)
|
|
14
|
+
|
|
15
|
+
## Promessa
|
|
16
|
+
|
|
17
|
+
Em 4min, o workspace do aluno passa de "pasta vazia" pra "estrutura mínima com lugar pra cada coisa". 4 pastas (`content/`, `memory/`, `skills/`, `archive/`) + 1 MAPA raiz + 4 mapas locais (Princípio 12).
|
|
18
|
+
|
|
19
|
+
A partir desse passo, agente sabe ONDE salvar quando aluno pedir algo. "Cria um post" → vai pra `content/drafts/`. "Salva essa decisão" → vai pra `memory/decisoes/`. Sem MAPA, agente improvisa e vira bagunça em 1 semana.
|
|
20
|
+
|
|
21
|
+
## Quando disparar
|
|
22
|
+
|
|
23
|
+
**Trigger automático:**
|
|
24
|
+
- `onboarding-checklist` despacha como passo 4
|
|
25
|
+
|
|
26
|
+
**Trigger explícito (standalone):**
|
|
27
|
+
- "organiza workspace"
|
|
28
|
+
- "cria mapa"
|
|
29
|
+
- "estrutura inicial"
|
|
30
|
+
- "monta workspace"
|
|
31
|
+
|
|
32
|
+
**NÃO disparar se:**
|
|
33
|
+
- `workspace_organizado=true` em `MEMORY.md` E `MAPA.md` raiz existe E as 4 pastas existem
|
|
34
|
+
|
|
35
|
+
## Dependência: passo 3 (autonomia)
|
|
36
|
+
|
|
37
|
+
Esse passo cria múltiplas pastas e arquivos. Sem `exec-policy=yolo` (passo 3), agente pede aprovação a CADA `mkdir` e CADA arquivo. Vai virar irritação extrema.
|
|
38
|
+
|
|
39
|
+
Se `autonomia_liberada != true` em `MEMORY.md`, avisar:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
"Antes de seguir, aviso: o passo 4 depende do passo 3 (autonomia).
|
|
43
|
+
Sem yolo ativo, eu vou pedir aprovação a cada pasta e arquivo que
|
|
44
|
+
criar. São ~10 confirmações nesse passo. Vai irritar.
|
|
45
|
+
|
|
46
|
+
Quer:
|
|
47
|
+
a) Voltar e fazer o passo 3 (~6min)
|
|
48
|
+
b) Seguir mesmo assim e aceitar a fricção"
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Princípio 11 — Detecção antes de pedir
|
|
52
|
+
|
|
53
|
+
Antes de criar qualquer coisa, checar 7 itens:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
1. MAPA.md raiz existe e tem conteúdo?
|
|
57
|
+
2. content/ existe?
|
|
58
|
+
3. memory/ existe?
|
|
59
|
+
4. skills/ existe?
|
|
60
|
+
5. archive/ existe?
|
|
61
|
+
6. Cada pasta tem MAPA.md local?
|
|
62
|
+
7. Subpastas mínimas existem (content/drafts, memory/decisoes, skills/_registry.md)?
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 4 estados detectáveis
|
|
66
|
+
|
|
67
|
+
| Estado | Ação |
|
|
68
|
+
|---|---|
|
|
69
|
+
| **Tudo pronto (MAPA + 4 pastas + 4 mapas locais)** | Marca workspace_organizado=true. "Detectei estrutura completa. Vou direto pra pergunta-âncora." |
|
|
70
|
+
| **Parcial (algumas pastas existem, outras não)** | Lista o que tá pronto + o que falta. Cria só o que falta. NÃO mexe no que existe. |
|
|
71
|
+
| **MAPA existe mas estrutura não** | Improvável. Pergunta se aluno quer expandir o MAPA atual com base no que vai criar. |
|
|
72
|
+
| **Nada feito** | Fluxo normal (cria tudo). |
|
|
73
|
+
|
|
74
|
+
## Fluxo principal
|
|
75
|
+
|
|
76
|
+
### 1. Narrar promessa
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
"Vamos organizar onde tudo vive. 4min.
|
|
80
|
+
|
|
81
|
+
Vou criar:
|
|
82
|
+
|
|
83
|
+
📁 Pastas (4 principais):
|
|
84
|
+
content/ → onde vou salvar coisas que crio (posts, drafts)
|
|
85
|
+
memory/ → onde vou guardar coisas pra lembrar (decisões, pendências)
|
|
86
|
+
skills/ → habilidades modulares que você adiciona ao longo do tempo
|
|
87
|
+
archive/ → versionamento manual quando algo fica obsoleto
|
|
88
|
+
|
|
89
|
+
📄 MAPA.md raiz → lista as pastas e me ensina onde encontrar cada coisa
|
|
90
|
+
|
|
91
|
+
📄 4 MAPAs locais (1 dentro de cada pasta) → detalham conteúdo
|
|
92
|
+
Princípio do segundo cérebro: cada pasta documenta a si mesma.
|
|
93
|
+
Sem TOOLS.md monolítico (cresce sem controle).
|
|
94
|
+
|
|
95
|
+
A partir de agora, quando você pedir 'cria um post sobre X', eu sei
|
|
96
|
+
EXATO onde salvar (content/drafts/post-X.md). Sem improvisar.
|
|
97
|
+
|
|
98
|
+
Bora?"
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Esperar OK do aluno.
|
|
102
|
+
|
|
103
|
+
### 2. Aplicar Princípio 1 — backup global se workspace tem conteúdo
|
|
104
|
+
|
|
105
|
+
Diferente dos wizards anteriores (1 arquivo cada), este modifica MÚLTIPLAS pastas. Aplicar **Princípio 10** (backup global):
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Se workspace já tem conteúdo
|
|
109
|
+
if [ "$(ls -A $WORKSPACE)" ]; then
|
|
110
|
+
BACKUP_FILE="$HOME/backups/pre-wizard-workspace-$(date +%Y-%m-%d-%H%M).tar.gz"
|
|
111
|
+
tar -czf "$BACKUP_FILE" -C "$(dirname $WORKSPACE)" "$(basename $WORKSPACE)"
|
|
112
|
+
fi
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Se workspace estava vazio (caso comum no kit), pula backup (não tem o que preservar).
|
|
116
|
+
|
|
117
|
+
Narrar:
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
"Detectei {N} arquivos no workspace. Backup global em:
|
|
121
|
+
~/backups/pre-wizard-workspace-{timestamp}.tar.gz
|
|
122
|
+
|
|
123
|
+
Se algo der errado, você restaura o workspace inteiro com:
|
|
124
|
+
tar -xzf ~/backups/{arquivo} -C ~/
|
|
125
|
+
|
|
126
|
+
Vou criar a estrutura agora."
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### 3. Criar pastas
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
mkdir -p "$WORKSPACE/content/drafts"
|
|
133
|
+
mkdir -p "$WORKSPACE/content/archive"
|
|
134
|
+
mkdir -p "$WORKSPACE/memory/decisoes"
|
|
135
|
+
mkdir -p "$WORKSPACE/memory/projects"
|
|
136
|
+
mkdir -p "$WORKSPACE/skills/operacional"
|
|
137
|
+
mkdir -p "$WORKSPACE/archive"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Narrar:
|
|
141
|
+
|
|
142
|
+
```
|
|
143
|
+
"✓ Criadas:
|
|
144
|
+
- content/ (drafts, archive)
|
|
145
|
+
- memory/ (decisoes, projects)
|
|
146
|
+
- skills/ (operacional - única categoria pra começar)
|
|
147
|
+
- archive/"
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
### 4. Criar MAPA.md raiz
|
|
151
|
+
|
|
152
|
+
A partir de `starter-kit/templates/MAPA.template.md`. Substituir placeholders:
|
|
153
|
+
|
|
154
|
+
| Placeholder | Substitui por |
|
|
155
|
+
|---|---|
|
|
156
|
+
| `{NOME_AGENTE}` | ler de IDENTITY.md (campo Nome) |
|
|
157
|
+
| `{NOME_USER}` | ler de USER.md (campo Como chamar) |
|
|
158
|
+
| `{DATA}` | data atual |
|
|
159
|
+
|
|
160
|
+
Salvar em `$WORKSPACE/MAPA.md`.
|
|
161
|
+
|
|
162
|
+
### 5. Criar 4 mapas locais (Princípio 12)
|
|
163
|
+
|
|
164
|
+
#### `content/MAPA.md`
|
|
165
|
+
|
|
166
|
+
```markdown
|
|
167
|
+
# MAPA — content/
|
|
168
|
+
|
|
169
|
+
> O que vive nesta pasta: tudo que o agente CRIA pra você (posts,
|
|
170
|
+
> drafts, imagens, scripts).
|
|
171
|
+
|
|
172
|
+
## Estrutura
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
content/
|
|
176
|
+
├── MAPA.md ← este arquivo
|
|
177
|
+
├── drafts/ ← rascunhos em produção (posts, vídeos, emails)
|
|
178
|
+
└── archive/ ← drafts versionados quando viram outra coisa
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
## Convenção de nomes
|
|
182
|
+
|
|
183
|
+
- `drafts/post-{tema-curto}-{YYYY-MM-DD}.md`
|
|
184
|
+
- `drafts/email-{destinatario}-{YYYY-MM-DD}.md`
|
|
185
|
+
- `drafts/video-{titulo-curto}-{YYYY-MM-DD}.md`
|
|
186
|
+
|
|
187
|
+
Quando algo é publicado, mover de `drafts/` pra `archive/`. Não deletar.
|
|
188
|
+
|
|
189
|
+
## Atualizar este mapa quando
|
|
190
|
+
|
|
191
|
+
- Adicionar nova subpasta (ex: `imagens/`, `prompts/`)
|
|
192
|
+
- Mudar convenção de nomes
|
|
193
|
+
|
|
194
|
+
Sem TOOLS.md monolítico. Cada pasta documenta a si mesma (Princípio 12).
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
#### `memory/MAPA.md`
|
|
198
|
+
|
|
199
|
+
```markdown
|
|
200
|
+
# MAPA — memory/
|
|
201
|
+
|
|
202
|
+
> O que vive nesta pasta: tudo que o agente PRECISA LEMBRAR
|
|
203
|
+
> entre sessões (decisões, projetos, contexto).
|
|
204
|
+
|
|
205
|
+
## Estrutura
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
memory/
|
|
209
|
+
├── MAPA.md ← este arquivo
|
|
210
|
+
├── decisoes/ ← decisões importantes (1 arquivo por mês: 2026-05.md)
|
|
211
|
+
└── projects/ ← projetos ativos (1 arquivo por projeto)
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
## Convenção de nomes
|
|
215
|
+
|
|
216
|
+
- `decisoes/{YYYY-MM}.md` — append-only (decisões cronológicas)
|
|
217
|
+
- `projects/{nome-curto}.md` — 1 por projeto, status atualizado
|
|
218
|
+
|
|
219
|
+
## Atualizar este mapa quando
|
|
220
|
+
|
|
221
|
+
- Adicionar `pendencias.md` na raiz (lista única de o que tá pendente)
|
|
222
|
+
- Adicionar `people/` (1 arquivo por pessoa relevante)
|
|
223
|
+
- Adicionar `business/` (1 arquivo por negócio se aluno tem múltiplos)
|
|
224
|
+
|
|
225
|
+
Sem TOOLS.md monolítico. Cada pasta documenta a si mesma (Princípio 12).
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
#### `skills/MAPA.md`
|
|
229
|
+
|
|
230
|
+
```markdown
|
|
231
|
+
# MAPA — skills/
|
|
232
|
+
|
|
233
|
+
> O que vive nesta pasta: skills (habilidades modulares) que o agente
|
|
234
|
+
> usa pra tarefas recorrentes. Cada skill é um SOP executável.
|
|
235
|
+
|
|
236
|
+
## Estrutura inicial
|
|
237
|
+
|
|
238
|
+
```
|
|
239
|
+
skills/
|
|
240
|
+
├── MAPA.md ← este arquivo
|
|
241
|
+
├── _registry.md ← índice global (auto-atualizado quando skill nova é instalada)
|
|
242
|
+
└── operacional/ ← única categoria inicial (backup, sync, etc)
|
|
243
|
+
└── _registry.md
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
## Adicionar skill nova
|
|
247
|
+
|
|
248
|
+
Ver template oficial em `skills/operacional/backup-workspace-github/SKILL.md`
|
|
249
|
+
(referência) ou docs do OpenClaw em `openclaw skill --help`.
|
|
250
|
+
|
|
251
|
+
Estrutura mínima de skill:
|
|
252
|
+
```
|
|
253
|
+
{nome-skill}/
|
|
254
|
+
├── SKILL.md ← obrigatório (frontmatter + corpo)
|
|
255
|
+
├── references/ ← opcional (templates, docs auxiliares)
|
|
256
|
+
└── evals/ ← opcional (cenários de teste)
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
## Atualizar este mapa quando
|
|
260
|
+
|
|
261
|
+
- Adicionar nova categoria (ex: `content/`, `analytics/`, `research/`)
|
|
262
|
+
- Mudar padrão de organização
|
|
263
|
+
|
|
264
|
+
Sem TOOLS.md monolítico. Cada pasta documenta a si mesma (Princípio 12).
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
#### `archive/MAPA.md`
|
|
268
|
+
|
|
269
|
+
```markdown
|
|
270
|
+
# MAPA — archive/
|
|
271
|
+
|
|
272
|
+
> O que vive nesta pasta: arquivos versionados manualmente quando
|
|
273
|
+
> algo é substituído. NÃO é lixo (uso `trash` pro lixo). É história.
|
|
274
|
+
|
|
275
|
+
## Estrutura
|
|
276
|
+
|
|
277
|
+
```
|
|
278
|
+
archive/
|
|
279
|
+
└── MAPA.md ← este arquivo
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
(vazia até primeiro uso)
|
|
283
|
+
|
|
284
|
+
## Quando usar archive/
|
|
285
|
+
|
|
286
|
+
- Wizard sobrescreveu arquivo → versão antiga vai pra `archive/{nome}-{YYYY-MM-DD}.md`
|
|
287
|
+
- Skill foi removida → SKILL.md vai pra `archive/skills-removidas/`
|
|
288
|
+
- Drafts publicados → mover de `content/drafts/` pra `archive/`
|
|
289
|
+
|
|
290
|
+
## Quando NÃO usar
|
|
291
|
+
|
|
292
|
+
- Lixo / arquivos quebrados → use `trash` (move pra Lixeira do sistema)
|
|
293
|
+
- Backups automáticos → vão pra `~/backups/` (fora do workspace)
|
|
294
|
+
- Histórico de git → o git já cuida (não duplicar)
|
|
295
|
+
|
|
296
|
+
Sem TOOLS.md monolítico. Cada pasta documenta a si mesma (Princípio 12).
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
#### `skills/operacional/_registry.md` (mínimo)
|
|
300
|
+
|
|
301
|
+
```markdown
|
|
302
|
+
# Registry — operacional/
|
|
303
|
+
|
|
304
|
+
> Skills da categoria operacional (backup, sync, manutenção).
|
|
305
|
+
|
|
306
|
+
## Skills
|
|
307
|
+
|
|
308
|
+
(vazia até primeira skill instalada)
|
|
309
|
+
|
|
310
|
+
## Como adicionar
|
|
311
|
+
|
|
312
|
+
Quando uma skill é instalada nesta categoria, adicionar linha:
|
|
313
|
+
|
|
314
|
+
| Skill | Status | Versão | Tempo |
|
|
315
|
+
|---|---|---|---|
|
|
316
|
+
| {nome} | ATIVO | 1.0 | {tempo} |
|
|
317
|
+
|
|
318
|
+
E criar pasta `{nome}/` com `SKILL.md` dentro.
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
Confirmar:
|
|
322
|
+
|
|
323
|
+
```
|
|
324
|
+
"✓ MAPA.md raiz criado.
|
|
325
|
+
✓ 4 mapas locais criados:
|
|
326
|
+
- content/MAPA.md
|
|
327
|
+
- memory/MAPA.md
|
|
328
|
+
- skills/MAPA.md
|
|
329
|
+
- archive/MAPA.md
|
|
330
|
+
✓ Registry inicial em skills/_registry.md + skills/operacional/_registry.md
|
|
331
|
+
|
|
332
|
+
Cada pasta documenta a si mesma. Não tem arquivo agregador (TOOLS.md).
|
|
333
|
+
Princípio 12 do segundo cérebro."
|
|
334
|
+
```
|
|
335
|
+
|
|
336
|
+
### 6. Pergunta-âncora
|
|
337
|
+
|
|
338
|
+
Pergunta literal (definida em `mapa-aulas.md` passo 4):
|
|
339
|
+
|
|
340
|
+
```
|
|
341
|
+
"Rapidão antes de fechar este passo: pra onde eu vou salvar um post
|
|
342
|
+
novo que você me pedir? E pra onde eu vou buscar uma decisão antiga
|
|
343
|
+
que você me contou?"
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
| Resposta esperada | Validação |
|
|
347
|
+
|---|---|
|
|
348
|
+
| "post em content/, decisão em memory/" (ou similar) | "Boa. `content/drafts/` pra criação, `memory/decisoes/` pra registro. Eu uso o MAPA.md como gabarito sempre que vou salvar algo." |
|
|
349
|
+
| Inverteu | "Quase. `content/` pra coisas que VOCÊ cria (posts, drafts, imagens). `memory/` pra coisas que VOCÊ lembra (decisões, pendências, pessoas). MAPA.md no workspace tem o gabarito completo." |
|
|
350
|
+
| Outro / não soube | "Sem problema. `content/drafts/` pra coisa que crio (posts, drafts). `memory/decisoes/` pra coisa que você me conta pra eu lembrar. MAPA.md é meu gabarito — leio sempre antes de salvar." |
|
|
351
|
+
|
|
352
|
+
Fechar com:
|
|
353
|
+
|
|
354
|
+
```
|
|
355
|
+
"Se quer aprofundar workspace + sistema de mapas (e por que cada
|
|
356
|
+
pasta tem MAPA.md local em vez de TOOLS.md gigante), a aula é a
|
|
357
|
+
*B2* (Workspace + mapa externo) — manda 'aula B2'.
|
|
358
|
+
|
|
359
|
+
E se ficou alguma dúvida que eu não cobri, dois caminhos no grupo:
|
|
360
|
+
- resposta rápida 24/7: chama @Openclawzinho (bot IA) no tópico Suporte
|
|
361
|
+
- ajuda humana: pergunta nos outros tópicos
|
|
362
|
+
https://t.me/cursoopenclaw
|
|
363
|
+
|
|
364
|
+
Marquei o passo 4 como feito. Bora pro passo 5 (conectar superpoderes
|
|
365
|
+
externos — Brave Search, GitHub, etc)?"
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
### 7. Atualizar MEMORY.md
|
|
369
|
+
|
|
370
|
+
```markdown
|
|
371
|
+
## Flags
|
|
372
|
+
workspace_organizado: true
|
|
373
|
+
|
|
374
|
+
## Decisões da jornada
|
|
375
|
+
- {data}: Workspace organizado. 4 pastas + MAPA raiz + 4 mapas locais (Princípio 12).
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
Atualizar `onboarding_current_step: 5`.
|
|
379
|
+
|
|
380
|
+
### 8. Devolver controle pra onboarding-checklist
|
|
381
|
+
|
|
382
|
+
## Critérios de sucesso
|
|
383
|
+
|
|
384
|
+
- [ ] `MAPA.md` raiz criado e preenchido (sem placeholders)
|
|
385
|
+
- [ ] 4 pastas criadas (`content/`, `memory/`, `skills/`, `archive/`)
|
|
386
|
+
- [ ] Subpastas mínimas (`content/drafts/`, `content/archive/`, `memory/decisoes/`, `memory/projects/`, `skills/operacional/`)
|
|
387
|
+
- [ ] 4 mapas locais criados com conteúdo (`content/MAPA.md`, `memory/MAPA.md`, `skills/MAPA.md`, `archive/MAPA.md`)
|
|
388
|
+
- [ ] `skills/_registry.md` e `skills/operacional/_registry.md` criados (vazios mas com estrutura)
|
|
389
|
+
- [ ] Backup global feito se workspace tinha conteúdo
|
|
390
|
+
- [ ] `workspace_organizado=true` em `MEMORY.md`
|
|
391
|
+
- [ ] `onboarding_current_step=5`
|
|
392
|
+
- [ ] Pergunta-âncora respondida + validada
|
|
393
|
+
- [ ] Aula B2 mencionada
|
|
394
|
+
|
|
395
|
+
## Erros comuns
|
|
396
|
+
|
|
397
|
+
- **Aluno tem `exec-policy=ask` (passo 3 não foi liberado):** wizard fica perguntando aprovação a cada mkdir. Avisar antes (ver "Dependência: passo 3" no início).
|
|
398
|
+
- **Workspace tem conteúdo legado:** Princípio 10 (backup global) cobre. Tar.gz na pasta backups antes.
|
|
399
|
+
- **Aluno não entende por que tem MAPA por pasta:** explicar Princípio 12. "Pasta gigante com tudo (TOOLS.md) cresce sem controle. Pasta documentada localmente cresce no escopo dela. Mais sustentável."
|
|
400
|
+
- **Aluno quer adicionar `pendencias.md` já no setup:** ok, mas avisar que isso é da aula B3 (memória prática). Pode criar agora vazio.
|
|
401
|
+
- **Aluno quer pular essa pasta (skills/, archive/):** explicar que estrutura mínima é mínima por design. Pular skills/ ou archive/ quebra wizards futuros (passo 5 instala skills, passo 6 pode arquivar drafts).
|
|
402
|
+
|
|
403
|
+
## Aplicação dos princípios defensivos
|
|
404
|
+
|
|
405
|
+
Esta skill herda os princípios universais da `onboarding-checklist`. Ver: [`../onboarding-checklist/references/principios-defensivos.md`](../onboarding-checklist/references/principios-defensivos.md).
|
|
406
|
+
|
|
407
|
+
### Aplicação específica
|
|
408
|
+
|
|
409
|
+
- **Princípio 1 (backup antes):** se algum arquivo já existe no path que vai criar, backup antes.
|
|
410
|
+
- **Princípio 2 (confirmação humana):** confirma antes de criar a estrutura inteira.
|
|
411
|
+
- **Princípio 4 (narrar antes de fazer):** explica o quê e o por quê antes de mexer em pasta.
|
|
412
|
+
- **Princípio 5 (atualizar MEMORY ao concluir):** marca `workspace_organizado=true`.
|
|
413
|
+
- **Princípio 9 (parar se algo der errado):** se mkdir falhar (permissão, disco cheio), para e diagnostica.
|
|
414
|
+
- **Princípio 10 (backup global):** este wizard modifica múltiplos arquivos/pastas — backup global do workspace antes.
|
|
415
|
+
- **Princípio 11 (detectar antes de pedir):** lê estado atual da estrutura. Se já existe, NÃO recria. Se parcial, cria só o que falta.
|
|
416
|
+
- **Princípio 12 (mapas distribuídos):** este é o wizard que IMPLEMENTA o princípio. 4 MAPAs locais + 1 raiz. JAMAIS criar TOOLS.md monolítico aqui.
|
|
417
|
+
|
|
418
|
+
## Modo A vs Modo B
|
|
419
|
+
|
|
420
|
+
**Modo A:**
|
|
421
|
+
```
|
|
422
|
+
"Bora pro Módulo 4 — Workspace + mapas distribuídos.
|
|
423
|
+
Aula correspondente: B2 (Workspace + mapa externo).
|
|
424
|
+
Recomendo assistir antes pra entender Princípio 12 — por que cada
|
|
425
|
+
pasta documenta a si mesma."
|
|
426
|
+
[fluxo numerado]
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
**Modo B:**
|
|
430
|
+
```
|
|
431
|
+
"Agora a estrutura. Onde as coisas vão viver.
|
|
432
|
+
Vou criar 4 pastas + MAPA + 4 mapas locais. 4min."
|
|
433
|
+
[fluxo conversacional]
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
## Comando "exemplo" durante este wizard
|
|
437
|
+
|
|
438
|
+
Se aluno mandar "exemplo" pedindo pra ver MAPA da Amora:
|
|
439
|
+
|
|
440
|
+
```
|
|
441
|
+
"Esse é o MAPA.md da Amora — workspace MADURO de Chief of Staff.
|
|
442
|
+
Tem 12+ pastas principais, dezenas de subpastas, navegação rica.
|
|
443
|
+
|
|
444
|
+
Você não precisa começar tão complexo. Estrutura mínima do kit
|
|
445
|
+
(4 pastas) cobre 90% dos casos. Conforme você usa o agente, expande.
|
|
446
|
+
|
|
447
|
+
A Amora demorou 6 meses pra chegar nesse MAPA. Você começa com 4 pastas hoje.
|
|
448
|
+
|
|
449
|
+
[mostrar exemplos/MAPA-amora.md]
|
|
450
|
+
|
|
451
|
+
Volta pra criação do seu MAPA?"
|
|
452
|
+
```
|
|
453
|
+
|
|
454
|
+
## Templates usados
|
|
455
|
+
|
|
456
|
+
- `MAPA.template.md` em `starter-kit/templates/`
|
|
457
|
+
- `content-MAPA.template.md`
|
|
458
|
+
- `memory-MAPA.template.md`
|
|
459
|
+
- `skills-MAPA.template.md`
|
|
460
|
+
- `archive-MAPA.template.md`
|
|
461
|
+
|
|
462
|
+
(Podem ser inline neste SKILL.md também — wizard substitui placeholders e escreve.)
|
|
463
|
+
|
|
464
|
+
## Referências
|
|
465
|
+
|
|
466
|
+
### Internas
|
|
467
|
+
- Princípios universais: [`../onboarding-checklist/references/principios-defensivos.md`](../onboarding-checklist/references/principios-defensivos.md)
|
|
468
|
+
- Sistema de mapas detalhado: [`../onboarding-checklist/references/sistema-de-mapas.md`](../onboarding-checklist/references/sistema-de-mapas.md)
|
|
469
|
+
- Princípio 12 (mapas distribuídos): mesmo arquivo de princípios
|
|
470
|
+
- Pergunta-âncora oficial: [`../onboarding-checklist/references/mapa-aulas.md`](../onboarding-checklist/references/mapa-aulas.md) (passo 4)
|
|
471
|
+
|
|
472
|
+
### Externas
|
|
473
|
+
- Exemplo Amora MAPA: [`starter-kit/exemplos/MAPA-amora.md`](../../../exemplos/MAPA-amora.md)
|
|
474
|
+
|
|
475
|
+
## Status
|
|
476
|
+
|
|
477
|
+
✅ ATIVO desde v1 do Starter Kit (02/05/2026).
|
|
478
|
+
|
|
479
|
+
## Roadmap
|
|
480
|
+
|
|
481
|
+
- v1.1: Detectar workspace path automaticamente via `openclaw config workspace`
|
|
482
|
+
- v1.2: Estrutura customizável (aluno escolhe quais pastas extras quer no setup, ex: research/, palestras/)
|
|
483
|
+
- v2: Wizard `expandir-workspace` que adiciona subpastas conforme uso real (sugere ao detectar 10+ posts em drafts/, etc)
|