@pixeleducacao/curso-openclaw 2026.5.8 → 2026.5.9

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 (42) hide show
  1. package/assets/skills/_registry.md +41 -13
  2. package/assets/skills/operacional/_registry.md +6 -0
  3. package/assets/skills/operacional/backup-workspace-github/SKILL.md +39 -3
  4. package/assets/skills/operacional/commit-diario-workspace/SKILL.md +233 -0
  5. package/assets/skills/operacional/cron-resume-wizards/SKILL.md +329 -0
  6. package/assets/skills/operacional/seguranca-checklist/SKILL.md +202 -0
  7. package/assets/skills/starter/_registry.md +13 -9
  8. package/assets/skills/starter/continuar-jornada/SKILL.md +358 -0
  9. package/assets/skills/starter/gera-log-jornada/SKILL.md +338 -0
  10. package/assets/skills/starter/onboarding-checklist/SKILL.md +416 -88
  11. package/assets/skills/starter/onboarding-checklist/references/arquivos-raiz.md +44 -16
  12. package/assets/skills/starter/onboarding-checklist/references/aula-menus.md +304 -0
  13. package/assets/skills/starter/onboarding-checklist/references/checklist-template.md +70 -1
  14. package/assets/skills/starter/onboarding-checklist/references/comandos-canonicos.md +337 -9
  15. package/assets/skills/starter/onboarding-checklist/references/mapa-aulas.md +17 -12
  16. package/assets/skills/starter/onboarding-checklist/references/principios-defensivos.md +772 -0
  17. package/assets/skills/starter/onboarding-checklist/references/sistema-de-mapas.md +2 -2
  18. package/assets/skills/starter/onboarding-checklist/references/wizard-header-template.md +51 -0
  19. package/assets/skills/starter/primeira-vitoria/SKILL.md +448 -53
  20. package/assets/skills/starter/primeira-vitoria/evals/evals.json +2 -2
  21. package/assets/skills/starter/wizard-agente/SKILL.md +123 -17
  22. package/assets/skills/starter/wizard-agente/evals/evals.json +3 -3
  23. package/assets/skills/starter/wizard-aluno/SKILL.md +28 -3
  24. package/assets/skills/starter/wizard-aluno/evals/evals.json +1 -1
  25. package/assets/skills/starter/wizard-autonomia/SKILL.md +157 -27
  26. package/assets/skills/starter/wizard-autonomia/evals/evals.json +2 -2
  27. package/assets/skills/starter/wizard-autonomia/screenshots/painel-hostinger-cli.jpg +0 -0
  28. package/assets/skills/starter/wizard-conectar/SKILL.md +382 -74
  29. package/assets/skills/starter/wizard-conectar/screenshots/github-pat/01-avatar-settings.png +0 -0
  30. package/assets/skills/starter/wizard-conectar/screenshots/github-pat/02-developer-settings.png +0 -0
  31. package/assets/skills/starter/wizard-conectar/screenshots/github-pat/03-tokens-classic.png +0 -0
  32. package/assets/skills/starter/wizard-conectar/screenshots/github-pat/04-generate-classic.png +0 -0
  33. package/assets/skills/starter/wizard-whisper-quick/SKILL.md +160 -23
  34. package/assets/skills/starter/wizard-workspace/SKILL.md +23 -4
  35. package/assets/skills/starter/wizard-workspace/evals/evals.json +1 -1
  36. package/assets/templates/HEARTBEAT.template.md +58 -0
  37. package/assets/templates/README.md +65 -13
  38. package/assets/templates/SOUL-stub.template.md +1 -1
  39. package/assets/templates/template-material-didatico.html +457 -0
  40. package/assets/templates/template-report-executivo.html +368 -0
  41. package/assets/templates/template-report.html +370 -0
  42. package/package.json +1 -1
@@ -1,18 +1,18 @@
1
- # Registry — Skills do Starter Kit (v1)
1
+ # Registry — Skills do Starter Kit (v2.2)
2
2
 
3
3
  > Índice de todas as skills que vão dentro do Starter Kit.
4
- > Atualizado: 02/05/2026 — Onda 2 + 3 completas.
4
+ > Atualizado: 03/05/2026 tarde — Onda 14 unificada (auditoria Princípios 13/14/15 + cron-DM ativo + Princípio 16).
5
5
 
6
6
  ## Categorias
7
7
 
8
8
  | Categoria | Total | Descrição |
9
9
  |---|---|---|
10
- | starter | 8 (1 mestre + 7 wizards) | Jornada obrigatória do aluno novo |
10
+ | starter | 10 (1 mestre + 7 wizards + 2 skills v2.1) | Jornada obrigatória do aluno novo + post-vitória + log feedback |
11
11
  | canais | 1 | Skills opcionais pós-vitória (WhatsApp) |
12
12
  | planejamento | 4 | Curadoria do Superpowers (brainstorming, plans, executing, verification) |
13
- | operacional | 1 | Utilities (backup-workspace-github) |
13
+ | operacional | 2 | Utilities (backup-workspace-github + cron-resume-wizards NOVA v2.2) |
14
14
 
15
- **Total: 14 skills no v1.**
15
+ **Total: 17 skills no v2.2** (era 14 no v1.0; +2 v2.1 + 1 v2.2 = 17).
16
16
 
17
17
  ---
18
18
 
@@ -20,11 +20,14 @@
20
20
 
21
21
  | Skill | Status | Versão | Função |
22
22
  |---|---|---|---|
23
- | [`onboarding-checklist`](starter/onboarding-checklist/SKILL.md) | ✅ ATIVO | 1.2 | Mestre — apresenta jornada, dispatcha wizards, gerencia checklist. v1.2: Caminho B agora EXECUTA upgrade direto (não entrega texto pro aluno colar). |
24
- | [`wizard-whisper-quick`](starter/wizard-whisper-quick/SKILL.md) | ✅ ATIVO | 1.0 | Pré-passo opcional configura OpenAI API pra Whisper |
23
+ | [`onboarding-checklist`](starter/onboarding-checklist/SKILL.md) | ✅ ATIVO | 1.6 | Mestre — apresenta jornada, dispatcha wizards, gerencia checklist. v1.6: Boas-vindas universal + Cenário B reformulado com 3 opções (1=PRD/2=Wizard review/3=Referência). v1.5: Caminho A detalhado. v1.4: entry point INSTRUCOES. v1.2: Caminho B executa direto. |
24
+ | [`wizard-conectar`](starter/wizard-conectar/SKILL.md) | ✅ ATIVO | 2.0 | Configura Search API (Tavily default desde v2.5.5 · Brave como alternativa) + GitHub PAT + Chromium opcional. v2.0: troca default Brave → Tavily (sem cartão obrigatório, 1k/mês free, designed pra agente IA). v1.3: não marca `conectado=true` se algo foi pulado — usa `partial` + flags individuais. |
25
+ | [`primeira-vitoria`](starter/primeira-vitoria/SKILL.md) | ✅ ATIVO | 1.5 | v1.5: msg final reescrita com comandos de retomada óbvios (continuar/retomar/config/ajuda) + modo `complete_active` (não tranca). v1.4: NPS Tally + retoma pulos. v1.3: PRE-CHECK + 4 opções FIXAS. |
26
+ | [`continuar-jornada`](starter/continuar-jornada/SKILL.md) | ✅ ATIVO | 1.3 | Orchestrator pós-Bloco A — disparada por "continuar"/"próximo passo"/"aula X feito". Consulta `_curso/INDICE.md` (mapa canônico das 31 aulas Hotmart), oferece próxima aula, rastreia progress flag (`aula_X_concluida`). v1.3: renomeação Bloco/B1/C1/etc → Aulas Hotmart + uso de `_curso/` como fonte de material. |
27
+ | [`wizard-whisper-quick`](starter/wizard-whisper-quick/SKILL.md) | ✅ ATIVO | 1.8 | Pré-passo opcional — configura OpenAI API pra Whisper. v1.8: pulo agora oferece agendar 24h vs definitivo (em vez de flag silenciosa). |
25
28
  | [`wizard-agente`](starter/wizard-agente/SKILL.md) | ✅ ATIVO | 1.0 | Passo 1 — entrevista pra criar IDENTITY + SOUL stub + AGENTS |
26
29
  | [`wizard-aluno`](starter/wizard-aluno/SKILL.md) | ✅ ATIVO | 1.0 | Passo 2 — entrevista pra criar USER.md |
27
- | [`wizard-autonomia`](starter/wizard-autonomia/SKILL.md) | ✅ ATIVO | 1.0 | Passo 3 — guiada-manual pra exec-policy + security |
30
+ | [`wizard-autonomia`](starter/wizard-autonomia/SKILL.md) | ✅ ATIVO | 1.4 | Passo 3 — guiada-manual pra exec-policy + bifurcação Managed (CLI painel + screenshot) vs ROOT (SSH direto + aviso segurança reforçado). v1.4: copy da pergunta de detecção em linguagem do aluno (1 click vs terminal). |
28
31
  | [`wizard-workspace`](starter/wizard-workspace/SKILL.md) | ✅ ATIVO | 1.0 | Passo 4 — cria pastas + MAPA raiz + 4 mapas locais (Princípio 12) |
29
32
  | [`wizard-conectar`](starter/wizard-conectar/SKILL.md) | ✅ ATIVO | 1.0 | Passo 5 — Brave Search + GitHub Token + Chromium opcional |
30
33
  | [`primeira-vitoria`](starter/primeira-vitoria/SKILL.md) | ✅ ATIVO | 1.0 | Passo 6 — primeiro artefato real salvo + NPS |
@@ -156,8 +159,13 @@ Definidos em [`starter/onboarding-checklist/references/principios-defensivos.md`
156
159
  8. Logging de decisões em MEMORY.md
157
160
  9. Se algo der errado, PARAR
158
161
  10. Backup global antes de mudanças massivas
159
- 11. Detectar antes de pedir (+ .env first pra credenciais)
162
+ 11. Detectar antes de pedir (+ .env first pra credenciais + ambiente/OS/package_manager em v2.1)
160
163
  12. Mapas distribuídos (cada pasta documenta a si mesma)
164
+ 13. **Wizards são GUARD RAILS** (passo bloqueante, classifica mensagem em 4 tipos, anti-loop 3 desvios) — v2.1
165
+ 14. **Smoke tests visíveis** (mostra comando + output literal antes de interpretar; nunca finge ter rodado) — v2.1
166
+ 15. **Mensagens canônicas literais** (trechos `<canonical>` usados literal, não reformula) — v2.1
167
+ 16. **Entry point literal** (primeira ação ao receber kit é invocar onboarding-checklist; primeira mensagem ao aluno é boas-vindas canonical sem preâmbulo) — v2.2
168
+ 17. **Formatação Telegram-friendly em mensagens canonical** (parágrafos contínuos, sem hard-breaks artificiais a cada ~70 chars; listas explícitas e code blocks pra comandos) — **v2.2 final NOVO** (caso Adrylan)
161
169
 
162
170
  ---
163
171
 
@@ -172,10 +180,30 @@ Definidos em [`starter/onboarding-checklist/references/principios-defensivos.md`
172
180
 
173
181
  ---
174
182
 
175
- *Registry v1.2 — Onda 2 + 3 + 2 fixes baseados em testes reais (02/05/2026).*
176
-
177
- ## Changelog
178
-
183
+ *Registry v1.7 — Onda 2 + 3 + 9 fixes baseados em testes reais (02/05/2026).*
184
+
185
+ > Histórico completo no [CHANGELOG.md](../CHANGELOG.md) na raiz do kit.
186
+
187
+ ## Changelog (resumido)
188
+
189
+ - **v1.7** (02/05/2026 madrugada cont. 4): wizard-whisper-quick v1.2→v1.7 com P11 imperativo no topo + menção de memória semântica + wording assume aluno antigo pode ter chave. INSTRUCOES-PARA-AGENTE.md ganha seção "wizards filhos TAMBÉM não improvisam". Trigger: Lia perguntou "quer Whisper?" sem detectar chave já existente.
190
+ - **v1.6** (02/05/2026 madrugada cont. 3): Boas-vindas universal antes de detecção + Cenário B reformulado com 3 opções 1/2/3 (PRD/Wizard review/Referência). Caminho A "skills agnósticas" removido como opção separada — vira caso especial do PRD.
191
+ - **v1.5** (02/05/2026 madrugada continuação 2):
192
+ - **Caminho A do Cenário B detalhado** com 3 melhorias: (1) disclaimer explícito "⚠️ O que você PERDE escolhendo A: a experiência guiada do kit"; (2) lista EXATA do que copia (só `skills/planejamento/`) e do que NÃO copia (starter/, canais/, operacional/, templates/, exemplos/) — transparência total; (3) instrução de reativação futura: "se um dia quiser a experiência, manda 'roda onboarding' que eu copio starter-kit/skills/starter/ pro workspace ativo".
193
+ - **Descrição do Caminho B sincronizada** com fix v1.2 (era "te passo prompt pra colar no SEU agente" — corrigido pra "eu mesma conduzo, você tá no MESMO agente").
194
+ - **Trigger:** screenshot Bruno mostrando agente da Lia apresentando os 3 caminhos da v1.4. Bruno apontou que A precisa de disclaimer + transparência sobre o que copia + caminho de reativação. Aplicado.
195
+ - **v1.4** (02/05/2026 madrugada continuação):
196
+ - **`INSTRUCOES-PARA-AGENTE.md`** criado na raiz do starter-kit. Entry point explícito pro agente que recebe o kit — diz pra ler `skills/starter/onboarding-checklist/SKILL.md` e seguir à risca, NÃO improvisar fluxo de instalação. Lista o que NÃO fazer (copiar skills sem autorização, criar arquivos raiz, inventar opções pós-vitória).
197
+ - **README.md** atualizado com aviso destacado no topo apontando pra INSTRUCOES-PARA-AGENTE.md.
198
+ - **manifesto.md** atualizado com nota pro agente.
199
+ - **`onboarding-checklist` v1.4** — referência cruzada pra INSTRUCOES-PARA-AGENTE.md no topo.
200
+ - **Causa-raiz NOVA identificada:** os fixes anteriores (v1.1, v1.2, v1.3) tratavam falhas individuais. Sessão Lia/Mira mostrou que TODAS as falhas vinham da mesma raiz: agente NÃO invocava a skill mestre, improvisava fluxo. Solução: entry point explícito ao invés de assumir que agente vai descobrir sozinho.
201
+ - **Trigger:** screenshot Bruno mostrando agente da Lia fazendo "instalei skills + perguntou se quer iniciar jornada" — improvisando todo o fluxo. Em vez de fixar mais um caso isolado, atacar a causa-raiz (entry point ausente).
202
+ - **v1.3** (02/05/2026 madrugada):
203
+ - **`primeira-vitoria` v1.3** — 3 guardas críticas: (1) PRE-CHECK obrigatório de TODAS as flags antes de pós-vitória (se algo crítico ficou pendente como `backup_active: postponed`, volta pra completar — não trata como opcional); (2) 4 opções pós-vitória FIXAS (arquivar/WhatsApp/planejamento/fechar) + instrução imperativa anti-improvisação (NÃO criar opções customizadas baseadas em contexto do aluno); (3) SAI do modo wizard após pós-vitória escolhida — "bora" não reabre, só comando explícito ("reativa jornada"). `onboarding_mode: closed` flag adicionada.
204
+ - **`wizard-conectar` v1.3** — NÃO marca `conectado=true` se algo foi pulado/postponed. Usa `conectado: partial` + flags individuais (brave_search_active, github_token_active, backup_active, chromium_active). Aviso CRÍTICO no fim do passo 5: "não falsifique sucesso". primeira-vitoria checa essas flags antes de pós-vitória.
205
+ - **FAQ item 6** — OAuth Claude/Gemini removido (não existem no OpenClaw Managed — só GPT tem OAuth). Substituído por Claude API direta (`ANTHROPIC_API_KEY`) + Gemini API direta (`GOOGLE_API_KEY`).
206
+ - **Trigger:** sessão real Lia/Mira (02/05 21h59-00h22) onde wizard virou loop infinito + passo 5 marcado ✓ sem completar + pós-vitória improvisada com contexto custom.
179
207
  - **v1.2** (02/05/2026 noite tardia):
180
208
  - `onboarding-checklist` Cenário B Caminho B reescrito: agente EXECUTA o upgrade diretamente em vez de entregar prompt como texto pro aluno copiar. Falha real observada (sessão da Mira): agente leu o prompt-upgrade, entregou como texto, aluno ficou perdido sem saber o que fazer com ele. Causa-raiz: design assumia 2 agentes (kit + agente do aluno), mas é 1 só — o agente que recebeu o kit É o agente do aluno.
181
209
  - `prompt-upgrade-para-aluno-antigo.md` reescrito como instrução interna (não texto pro aluno) com aviso explícito no topo.
@@ -8,13 +8,19 @@
8
8
  | Skill | Status | Versão | Owner | Mode | Quando ativar |
9
9
  |---|---|---|---|---|---|
10
10
  | [`backup-workspace-github`](backup-workspace-github/SKILL.md) | ✅ ATIVO | 1.0 | aluno | guided | Item "Integrações" da checklist (módulo 7) ou comando "ativa backup" |
11
+ | [`cron-resume-wizards`](cron-resume-wizards/SKILL.md) | ✅ ATIVO | 1.1 | agent (autônomo) | cron | Cron interno do agente. **v1.1 (kit v2.4):** 2 ciclos diários (09:00 + 19:00 BRT) — antes só 09:00, fix stress test Pedro. NOVA na v2.2 — Cron-DM ATIVO de retomada de wizards pausados (upgrade do mecanismo passivo da v2.1). Funciona em Managed (cron-worker OpenClaw) e VPS root (systemd timer). |
12
+ | [`seguranca-checklist`](seguranca-checklist/SKILL.md) | 🟡 RASCUNHO | 0.1 | aluno | read-only | Comando "audit segurança" / "scan agente" OU cron mensal (dia 1, 9h). Audit das 5 frentes da A10 (secrets · APIs/scope · canais · injection · recovery). Read-only por design — só reporta, aluno decide. Rascunhada 03/05/2026, release v1.0 ou v1.1 a definir. |
13
+ | [`commit-diario-workspace`](commit-diario-workspace/SKILL.md) | 🟡 RASCUNHO | 0.1 | agent (autônomo via cron) | cron | Cron diário 23h59 BRT — commit + push do workspace pro GitHub se houver mudança real (skip silencioso se git limpo). Notifica resultado no Telegram tópico Operação. Complementa `backup-workspace-github` (A2 = setup inicial) com versionamento granular (A12). Resolve pendência cross-aula A12. Rascunhada 03/05/2026, release v1.0 ou v1.1 a definir. |
11
14
 
12
15
  ## Princípios universais
13
16
 
14
17
  Todas as skills aqui herdam os princípios defensivos da `onboarding-checklist`. Ver: [`../starter/onboarding-checklist/references/principios-defensivos.md`](../starter/onboarding-checklist/references/principios-defensivos.md).
15
18
 
19
+ Em v2.2, P13/P14/P15 ganharam tratamento especial em `cron-resume-wizards` — DM canônica (P15), logs auditáveis (P14), e respeitar wizard ativo (não interromper).
20
+
16
21
  ## Roadmap (skills futuras)
17
22
 
18
23
  - `health-check` — diagnóstico do estado do agente (skills, crons, integrações)
19
24
  - `restore-from-backup` — reverte workspace pra estado anterior do GitHub
20
25
  - `clean-orphans` — remove arquivos órfãos detectados em pastas
26
+ - `cron-resume-wizards` v1.1 — múltiplas pendências (FIFO) em vez de 1 só
@@ -3,15 +3,31 @@ name: backup-workspace-github
3
3
  status: ATIVO
4
4
  category: operacional
5
5
  owner: aluno
6
- version: 1.0
6
+ version: 1.2
7
7
  mode: guided
8
8
  estimated_time: 5min (ativação) + automatic (cron)
9
9
  model_compatible: [gpt-5, gpt-5.5, claude-sonnet-4, claude-opus-4]
10
- description: Use when student wants automatic daily backup of workspace to private GitHub repo. Activates during item "Integrações" of the wizard checklist OR standalone when student types "ativa backup github" / "configura backup". Combines openclaw backup create + git push to student's private repo. Cron daily at 03:00 BRT. Maintains 30-day history. Notifies via Telegram on failure.
10
+ description: Use when student wants automatic daily backup of workspace to private GitHub repo. Activates during item "Integrações" of the wizard checklist OR standalone when student types "ativa backup github" / "configura backup". Combines openclaw backup create + git push to student's private repo. Cron daily at 03:00 BRT. Maintains 30-day history. Notifies via Telegram on failure. **v1.2 (kit v2.5.3 — fix Allan silêncio 10min): regra UX EXPECTATIVA aplicada no primeiro push manual. Antes de invocar `git push backup main` (que pode levar 30s-2min), agente manda canonical avisando expectativa de tempo + reconhecendo que vai ficar bloqueado durante execução. Evita repetir caso Allan 03/05 17:55-18:05 onde aluno achou que travou. v1.1 (kit v2.5.2): mensagens de ativação são SEQUENCIAIS e cada uma tem smoke test visível (P14). Antes (v1.0) bot mandava "Feito. Backup ativo. Cron 03:00." ANTES de mandar "Vou ativar..." — caso real Adrylan 17:32 confirmação chegou antes do 17:33 anúncio. Sem ordem garantida = ABORTAR.**
11
11
  ---
12
12
 
13
13
  # Backup Workspace GitHub
14
14
 
15
+ > 🔴 **PRINCÍPIOS NÃO-NEGOCIÁVEIS PRO AGENTE (kit v2.5.2):**
16
+ >
17
+ > **P14 EXTRA-RÍGIDO nesta skill** (caso real Adrylan 03/05 17:32-17:33):
18
+ >
19
+ > Mensagens de ativação são SEQUENCIAIS e cada uma tem smoke test visível:
20
+ >
21
+ > 1. **Anúncio + comando:** "Vou ativar backup agora. Comando: `{cmd}`"
22
+ > 2. **Output literal:** "Output: ```{stdout/stderr}```"
23
+ > 3. **Confirmação SÓ DEPOIS de output OK:** "✓ Backup ativo. Cron 03:00 BRT registrado."
24
+ >
25
+ > **NUNCA mandar a confirmação (passo 3) ANTES dos passos 1+2.** Se output não for OK, ABORTA — não finge sucesso. Se Telegram bridge tiver race condition (mensagens chegando fora de ordem), enviar tudo em UMA mensagem em vez de 3 (perde respiro visual mas garante ordem).
26
+ >
27
+ > Falha real (Adrylan stress test 03/05): 17:32 bot mandou "Feito. Backup GitHub ativo. Cron 03:00 BRT." → 17:33 mandou "Vou ativar o backup agora..." — confirmação chegou ANTES do anúncio. Aluno legitimamente confuso.
28
+ >
29
+ > Detalhes: `../../starter/onboarding-checklist/references/principios-defensivos.md` (P14 — Smoke tests visíveis).
30
+
15
31
  ## Promessa
16
32
 
17
33
  O workspace inteiro do aluno (skills, memory, configs, arquivos raiz — exceto `.env`) é versionado automaticamente todo dia em um repo privado do GitHub. Se algo der errado (deleção acidental, bug do Managed, hardware fail), aluno restaura pelo histórico de commits.
@@ -145,7 +161,23 @@ Confirma ao aluno: "✓ Cron configurado: diário às 03:00 BRT"
145
161
 
146
162
  ### 6. Primeiro push manual (smoke test)
147
163
 
148
- Roda imediatamente uma vez pra confirmar que funciona end-to-end:
164
+ **REGRA UX EXPECTATIVA (kit v2.5.3 fix Allan):**
165
+
166
+ Antes de invocar a tool de push, mandar mensagem canonical pro aluno avisando da expectativa. Comando `git push backup main` no primeiro push sobe workspace inteiro (50-200 MB tipicamente) e leva 30s-2min, dependendo da rede do Managed.
167
+
168
+ Sem esse aviso, aluno fica olhando 1-2 minutos sem feedback achando que travou (caso real Allan 03/05 17:55-18:05 — 10min de silêncio durante setup levou aluno a perguntar "ainda processando?").
169
+
170
+ **Mensagem canonical antes de invocar git push:**
171
+
172
+ ```
173
+ 🔄 Vou fazer o primeiro backup agora — `git push backup main`.
174
+
175
+ Esse comando sobe o workspace inteiro pro GitHub privado. Dependendo do tamanho dele e da rede do Managed, pode levar 30s-2min.
176
+
177
+ Vou ficar bloqueado esperando o git terminar (não consigo mandar update no meio). Se demorar mais de 3min, pode ser que travou de verdade — me avisa.
178
+ ```
179
+
180
+ Depois roda imediatamente:
149
181
 
150
182
  ```bash
151
183
  cd $WORKSPACE
@@ -158,6 +190,10 @@ Se sucesso: "✓ Primeiro backup feito. Você pode ver em https://github.com/{us
158
190
 
159
191
  Se erro: investiga (provavelmente .gitignore mal configurado ou token sem scope correto) e reporta.
160
192
 
193
+ **Por que ANTES e não DURANTE:** durante a execução do tool, agente fica BLOQUEADO esperando retorno. Não tem mecanismo de mandar update intermediário ("ainda subindo, X% feito"). Só dá pra setar expectativa ANTES, e cumprir DEPOIS.
194
+
195
+ Detalhes da regra: `../../starter/onboarding-checklist/references/principios-defensivos.md` (P14 — Regra UX EXPECTATIVA antes de comandos longos).
196
+
161
197
  ### 7. Atualizar MEMORY.md
162
198
 
163
199
  ```markdown
@@ -0,0 +1,233 @@
1
+ ---
2
+ name: commit-diario-workspace
3
+ status: RASCUNHO
4
+ category: operacional
5
+ owner: agent (autônomo via cron)
6
+ version: 0.1
7
+ mode: cron
8
+ estimated_time: 30s-2min (depende de mudanças do dia)
9
+ model_compatible: [gpt-5, gpt-5.5, claude-sonnet-4, claude-opus-4, gemini-pro]
10
+ description: Commit + push diário do workspace pro GitHub (gancho A2 backup-workspace-github + A9 cron + A12 GitHub via PAT). Roda toda noite 23h59 BRT, faz git add . / commit / push se houver mudança real. Skip silencioso se git status limpo. Notifica resultado no Telegram tópico Operação. Cria histórico granular do segundo cérebro além do snapshot semanal manual da A2.
11
+ ---
12
+
13
+ # Commit Diário do Workspace — versionamento granular automático
14
+
15
+ ## Promessa
16
+
17
+ Em ~30s-2min por dia (rodando 23h59 enquanto você dorme), agente faz commit + push do workspace inteiro pro GitHub. Cria histórico granular do que mudou no seu segundo cérebro — você consegue ver "o que mudou na quinta passada" em vez de só "qual foi o snapshot semanal".
18
+
19
+ Complementa (não substitui) a skill `backup-workspace-github` da A2:
20
+ - `backup-workspace-github` (A2) = setup inicial + push inicial
21
+ - `commit-diario-workspace` (A12) = commit incremental noturno
22
+
23
+ Resolve pendência cross-aula registrada em A12 do roteiro principal.
24
+
25
+ ## Quando disparar
26
+
27
+ **Trigger primário (cron):**
28
+ - Cron diário 23h59 BRT
29
+ - Sessão isolada (`--session isolated`)
30
+ - Comando natural pra criar:
31
+ > *"cria um cron toda noite 23h59 que roda a skill commit-diario-workspace em sessão isolada e me posta resultado no tópico Operação"*
32
+
33
+ **Trigger explícito (sob demanda):**
34
+ - "commita o workspace agora"
35
+ - "commit diário"
36
+ - "salva no GitHub"
37
+
38
+ **NÃO disparar se:**
39
+ - Já rodou nas últimas 6h (resultado em cache em `MEMORY.md` `last_daily_commit`)
40
+ - `backup-workspace-github` ainda não foi configurado (skill irmã obrigatória)
41
+
42
+ ## Pré-requisitos
43
+
44
+ 1. `backup-workspace-github` ativo (setup feito na A2 ou via item Integrações da CHECKLIST)
45
+ 2. `GITHUB_TOKEN` no `.env` com scope `repo` (recap A12 — Padrão 1 de auth)
46
+ 3. Repo GitHub privado configurado e remote `origin` apontando pra ele
47
+ 4. Branch padrão definida (geralmente `main`)
48
+
49
+ ## Princípio fundador
50
+
51
+ **Princípio de versionamento granular**: snapshot semanal manual (A2) é cobertor de proteção contra catástrofe. Commit diário é histórico de evolução. São complementares, não redundantes.
52
+
53
+ Aplica também **Princípio 3 dos defensivos**: skill é autônoma via cron mas opera dentro de scope específico (workspace · git operations · GitHub push). Não escala permissão, não toca arquivo fora do workspace, não modifica config do agente.
54
+
55
+ ## Fluxo principal
56
+
57
+ ### 1. Detecção de mudança (5s)
58
+
59
+ ```bash
60
+ cd ~/.openclaw/workspace
61
+ git status --porcelain
62
+ ```
63
+
64
+ | Resultado | Ação |
65
+ |-----------|------|
66
+ | Output vazio | **Skip silencioso** — git limpo, nada pra commitar. Marca `last_daily_commit_status: skipped` em MEMORY.md, não notifica. Sai. |
67
+ | Output com arquivos | Continua pro passo 2 (existe mudança real) |
68
+ | Erro (`not a git repo`) | Notifica falha + pausa skill (pré-requisito quebrado) |
69
+
70
+ ### 2. Análise de mudanças (10s)
71
+
72
+ Captura resumo do que mudou:
73
+
74
+ ```bash
75
+ git status --short
76
+ git diff --stat
77
+ ```
78
+
79
+ Formata pra notificação:
80
+ - Quantidade de arquivos modificados/criados/deletados
81
+ - Top 5 arquivos com mais mudanças (linha count)
82
+ - Pasta com mais atividade (memory/, content/, skills/, etc)
83
+
84
+ ### 3. Commit (5s)
85
+
86
+ ```bash
87
+ git add .
88
+ git commit -m "Auto: snapshot $(date +%Y-%m-%d %H:%M)"
89
+ ```
90
+
91
+ **Mensagem de commit padrão:**
92
+ ```
93
+ Auto: snapshot 2026-05-03 23:59
94
+
95
+ Modificados: N arquivo(s)
96
+ Criados: N arquivo(s)
97
+ Pasta principal: memory/
98
+
99
+ [skill: commit-diario-workspace v0.1]
100
+ ```
101
+
102
+ ### 4. Push (10s-1min, depende de tamanho)
103
+
104
+ ```bash
105
+ git push origin main
106
+ ```
107
+
108
+ Tratamento de erro:
109
+
110
+ | Erro | Causa provável | Ação |
111
+ |------|----------------|------|
112
+ | `Authentication failed` | `GITHUB_TOKEN` expirou ou foi revogado | Notifica imediatamente · NÃO retry · marca skill como failed até token rotacionado |
113
+ | `Updates were rejected` | Branch divergiu (alguém commitou direto pelo GitHub web) | Tenta `git pull --rebase` automático · se conflito, notifica e pausa |
114
+ | `Network error` | Falha temporária | Retry 1x após 30s · se falhar de novo, notifica |
115
+ | `Repository not found` | Remote desconfigurado | Notifica + pausa skill (pré-requisito quebrado) |
116
+
117
+ ### 5. Notificação (5s)
118
+
119
+ Posta no Telegram tópico **Operação**:
120
+
121
+ **Caso commit OK:**
122
+ ```
123
+ ✅ Commit diário do workspace OK
124
+ 03/05/2026 23:59
125
+
126
+ Modificados: 12 arquivos
127
+ Criados: 3 arquivos
128
+ Atividade: memory/ (8) · content/ (5) · skills/ (2)
129
+
130
+ Top 5 arquivos com mais mudanças:
131
+ - memory/2026-05-03.md (+87/-12)
132
+ - content/linkedin/drafts/post-x.md (+56/-0)
133
+ - memory/context/decisoes/2026-05.md (+34/-8)
134
+ - areas/conteudo/contexto/voz/linkedin.md (+22/-3)
135
+ - memory/curso-openclaw/ROTEIRO-MAIN-V2.md (+18/-2)
136
+
137
+ Push: 1.2MB · 3.8s
138
+ ```
139
+
140
+ **Caso skip silencioso:**
141
+ - NÃO posta nada (git limpo, sem novidade)
142
+ - Atualiza apenas MEMORY.md com `status: skipped`
143
+
144
+ **Caso falha:**
145
+ ```
146
+ 🔴 Commit diário FALHOU — 03/05/2026 23:59
147
+
148
+ Erro: Authentication failed
149
+ Causa provável: GITHUB_TOKEN expirou ou foi revogado
150
+
151
+ Ação sugerida: rotaciona PAT no github.com/settings/tokens
152
+ e atualiza .env. Skill pausada até confirmação.
153
+ ```
154
+
155
+ ### 6. Atualizar MEMORY.md
156
+
157
+ ```markdown
158
+ ## Last daily commit
159
+ - Data: 2026-05-03 23:59
160
+ - Status: ok | skipped | failed
161
+ - Modificados: 12 (se ok)
162
+ - Erro: <descrição> (se failed)
163
+ - Próximo agendado: 2026-05-04 23:59
164
+ ```
165
+
166
+ ## Critérios de sucesso
167
+
168
+ - [ ] Cron rodou no horário previsto (23:59 ± 5min)
169
+ - [ ] Detectou estado correto do git (modificado vs limpo)
170
+ - [ ] Se modificado: commit + push executados sem erro
171
+ - [ ] Se limpo: skip silencioso (sem notificação)
172
+ - [ ] Se erro: notificação completa + skill pausada (não tenta loop)
173
+ - [ ] `MEMORY.md` atualizado com status
174
+
175
+ ## Erros comuns
176
+
177
+ - **GITHUB_TOKEN expira em 30/60/90 dias**: cron diário falha silencioso quando token expira. **Solução:** cron mensal (gancho A9 — meta-cron) que lembra de rotacionar PAT 7 dias antes do vencimento
178
+ - **Conflito de branch**: alguém commitou direto pelo GitHub web e localmente também tem mudança. Rebase automático funciona pra mudanças não conflitantes. **Solução:** se conflito, skill pausa e notifica — você resolve manual
179
+ - **Workspace gigante**: push de 100MB+ pode demorar. **Solução:** `.gitignore` agressivo (excluir `node_modules`, `*.log`, `tmp/`, `.cache`, files >10MB) — verificar antes de ativar skill
180
+ - **Repo público acidental**: workspace tem dados pessoais. SE repo virou público sem querer, **NÃO ativa esta skill até voltar pra privado**. Configurar trigger que falha se `gh repo view --json visibility` retornar `PUBLIC`
181
+ - **GitHub Actions consumindo build minutes**: se você tem Action rodando em cada push, vai disparar diariamente. **Solução:** adicionar `[skip ci]` no commit message OR limitar Actions a paths específicos
182
+
183
+ ## Aplicação dos princípios defensivos
184
+
185
+ Esta skill herda os princípios universais da `onboarding-checklist`. Ver: [`../../starter/onboarding-checklist/references/principios-defensivos.md`](../../starter/onboarding-checklist/references/principios-defensivos.md).
186
+
187
+ ### Aplicação específica
188
+
189
+ - **Princípio 3 (NUNCA elevação via agente)**: skill opera dentro de scope fixo (workspace + git ops + GitHub push). Não toca arquivo fora do workspace. Não modifica config do agente. Não escala permissão
190
+ - **Princípio 5 (atualizar MEMORY ao concluir)**: cada execução atualiza `last_daily_commit` em MEMORY
191
+ - **Princípio 9 (parar se algo der errado)**: erro de auth ou repo não pausa apenas a execução, **pausa a skill inteira** até confirmação humana
192
+ - **Princípio 11 (detectar antes de pedir)**: começa SEMPRE com `git status` — se limpo, skip silencioso. Não cria commit vazio nem notificação desnecessária
193
+
194
+ ## Caso público vs privado
195
+
196
+ **Repo PRIVADO** (default e único caminho permitido):
197
+ - Workspace contém info sensível (USER.md, decisões, pessoas, negócios)
198
+ - Skill exige `gh repo view --json visibility` retornar `PRIVATE` antes de cada push
199
+ - Se virar `PUBLIC` por engano, skill pausa imediatamente
200
+
201
+ **Repo PÚBLICO**: skill NUNCA roda. Recap A10/A12 — workspace é território sensível.
202
+
203
+ ## Referências
204
+
205
+ ### Internas
206
+ - A2 do roteiro principal: skill irmã `backup-workspace-github` (setup inicial)
207
+ - A9 do roteiro principal: como criar/agendar crons via comando natural
208
+ - A12 do roteiro principal: contexto da skill (Bloco 4 — GitHub via PAT) e princípios A10 (scope mínimo, rotação)
209
+ - Princípios defensivos: `../../starter/onboarding-checklist/references/principios-defensivos.md`
210
+ - Cheatsheet `integracoes-de-produtividade.md`: padrão 1 (token simples) + Prompt #2 (GitHub via PAT)
211
+
212
+ ### Externas
213
+ - GitHub PAT docs: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens
214
+ - OpenClaw cron docs: https://docs.openclaw.ai/cli/cron
215
+ - OpenClaw secrets docs: https://docs.openclaw.ai/cli/secrets
216
+
217
+ ## Status
218
+
219
+ 🟡 RASCUNHO desde 03/05/2026 — esboçada na sessão de fechamento da A12 do roteiro principal, antes de gravação. Pendências:
220
+
221
+ 1. Validar que `git push` funciona dentro do ambiente do daemon OpenClaw (lshell vs ambiente do agente — agente roda fora da lshell, deve ter acesso normal a git)
222
+ 2. Confirmar que `gh` CLI tá disponível pra check de visibilidade do repo (alternativa: parsing de `git remote -v`)
223
+ 3. Decidir se skill detecta automaticamente que `backup-workspace-github` foi configurado (read MEMORY.md flag) ou exige aluno confirmar
224
+ 4. Definir release: v1.0 do kit (junto da A12) ou v1.1 (depois)?
225
+
226
+ ## Roadmap
227
+
228
+ - v0.2: validação real executada + ajuste fino dos triggers
229
+ - v0.3: integração com cron mensal de rotação de PAT (cross-skill)
230
+ - v1.0: pronta pra entrar no Starter Kit
231
+ - v1.1: detectar arquivo grande (>10MB) e perguntar antes de commit (gitignore sugerido)
232
+ - v1.2: sumário semanal automático ("essa semana você commitou X arquivos em Y dias produtivos") — cross com `revisao-do-dia` (skill da A9)
233
+ - v2: integração com 1Password Service Account quando OpenClaw lançar caminho first-class (rotação de PAT via cofre)