@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.
- package/assets/skills/_registry.md +41 -13
- package/assets/skills/operacional/_registry.md +6 -0
- package/assets/skills/operacional/backup-workspace-github/SKILL.md +39 -3
- package/assets/skills/operacional/commit-diario-workspace/SKILL.md +233 -0
- package/assets/skills/operacional/cron-resume-wizards/SKILL.md +329 -0
- package/assets/skills/operacional/seguranca-checklist/SKILL.md +202 -0
- package/assets/skills/starter/_registry.md +13 -9
- package/assets/skills/starter/continuar-jornada/SKILL.md +358 -0
- package/assets/skills/starter/gera-log-jornada/SKILL.md +338 -0
- package/assets/skills/starter/onboarding-checklist/SKILL.md +416 -88
- package/assets/skills/starter/onboarding-checklist/references/arquivos-raiz.md +44 -16
- package/assets/skills/starter/onboarding-checklist/references/aula-menus.md +304 -0
- package/assets/skills/starter/onboarding-checklist/references/checklist-template.md +70 -1
- package/assets/skills/starter/onboarding-checklist/references/comandos-canonicos.md +337 -9
- package/assets/skills/starter/onboarding-checklist/references/mapa-aulas.md +17 -12
- package/assets/skills/starter/onboarding-checklist/references/principios-defensivos.md +772 -0
- package/assets/skills/starter/onboarding-checklist/references/sistema-de-mapas.md +2 -2
- package/assets/skills/starter/onboarding-checklist/references/wizard-header-template.md +51 -0
- package/assets/skills/starter/primeira-vitoria/SKILL.md +448 -53
- package/assets/skills/starter/primeira-vitoria/evals/evals.json +2 -2
- package/assets/skills/starter/wizard-agente/SKILL.md +123 -17
- package/assets/skills/starter/wizard-agente/evals/evals.json +3 -3
- package/assets/skills/starter/wizard-aluno/SKILL.md +28 -3
- package/assets/skills/starter/wizard-aluno/evals/evals.json +1 -1
- package/assets/skills/starter/wizard-autonomia/SKILL.md +157 -27
- package/assets/skills/starter/wizard-autonomia/evals/evals.json +2 -2
- package/assets/skills/starter/wizard-autonomia/screenshots/painel-hostinger-cli.jpg +0 -0
- package/assets/skills/starter/wizard-conectar/SKILL.md +382 -74
- package/assets/skills/starter/wizard-conectar/screenshots/github-pat/01-avatar-settings.png +0 -0
- package/assets/skills/starter/wizard-conectar/screenshots/github-pat/02-developer-settings.png +0 -0
- package/assets/skills/starter/wizard-conectar/screenshots/github-pat/03-tokens-classic.png +0 -0
- package/assets/skills/starter/wizard-conectar/screenshots/github-pat/04-generate-classic.png +0 -0
- package/assets/skills/starter/wizard-whisper-quick/SKILL.md +160 -23
- package/assets/skills/starter/wizard-workspace/SKILL.md +23 -4
- package/assets/skills/starter/wizard-workspace/evals/evals.json +1 -1
- package/assets/templates/HEARTBEAT.template.md +58 -0
- package/assets/templates/README.md +65 -13
- package/assets/templates/SOUL-stub.template.md +1 -1
- package/assets/templates/template-material-didatico.html +457 -0
- package/assets/templates/template-report-executivo.html +368 -0
- package/assets/templates/template-report.html +370 -0
- package/package.json +1 -1
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: gera-log-jornada
|
|
3
|
+
status: ATIVO
|
|
4
|
+
category: starter
|
|
5
|
+
owner: aluno
|
|
6
|
+
version: 1.1
|
|
7
|
+
mode: guided
|
|
8
|
+
estimated_time: 1-2min
|
|
9
|
+
model_compatible: [gpt-5, gpt-5.5, claude-sonnet-4, claude-opus-4, gemini-pro]
|
|
10
|
+
description: Use when student types "gera log" / "gera feedback" / "histórico jornada" / "relatório" — generates a structured log of the student's journey through the kit (which steps completed, which were skipped/postponed, observations captured inline, final config) to be sent as feedback to Bruno. Reads MEMORY.md (flags + decisions + observations) and formats into shareable markdown. Offers 2 send paths: Tally form (https://tally.so/r/obyy1V) and Telegram group (@cursoopenclaw with `me marca`). Created in v2.1 (Bruno feedback): students wanted a way to send rich feedback context, not just "achei vago". Includes PII sanitization option (default ON). v1.1 (kit v2.2): header com Princípios 13/14/15 explícitos (auditoria pós-v2.1).
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Gera Log da Jornada — Feedback Estruturado pro Bruno
|
|
14
|
+
|
|
15
|
+
> 🔴 **PRINCÍPIOS NÃO-NEGOCIÁVEIS PRO AGENTE (kit v2.2):**
|
|
16
|
+
>
|
|
17
|
+
> **NÃO IMPROVISE.** Read este arquivo INTEIRO antes de falar com aluno. Não invente fluxo simplificado.
|
|
18
|
+
>
|
|
19
|
+
> **P13 — Guard Rail.** Esta skill é curta (~30s); aluno raramente desvia. Se desviar, mesmo padrão dos wizards — anota em `## Perguntas pendentes` e traz de volta.
|
|
20
|
+
>
|
|
21
|
+
> **P14 — Smoke tests visíveis.** Esta skill OBEDECE P14 por design: NUNCA inventa dado que não está em MEMORY.md. Se uma flag não existe, marca `não rodou` no log — não preenche valor plausível.
|
|
22
|
+
>
|
|
23
|
+
> **P15 — Mensagens `<canonical>` literais.** Os 2 links de envio (Tally + grupo Telegram) e o convite à sanitização PII são CANONICAL — usar LITERAL.
|
|
24
|
+
>
|
|
25
|
+
> **P17 — Formatação Telegram-friendly.** Mensagens canonical pro aluno (convite + 2 caminhos de envio Tally/Telegram) usam parágrafos contínuos. NÃO quebrar manualmente.
|
|
26
|
+
>
|
|
27
|
+
> Detalhes: `../onboarding-checklist/references/principios-defensivos.md` (P1–P17).
|
|
28
|
+
|
|
29
|
+
> 🤖 **Agente:** essa skill gera um log estruturado da jornada do aluno pra ele enviar como feedback. NÃO é a skill que MANDA o feedback — é a que GERA o conteúdo formatado e oferece os caminhos de envio. Aluno valida + manda manualmente.
|
|
30
|
+
|
|
31
|
+
## Promessa
|
|
32
|
+
|
|
33
|
+
Aluno consegue mandar feedback rico em ~30 segundos: agente gera log estruturado da jornada (passos, pulos, observações, configuração final), aluno valida, copia e cola onde quiser (Tally form ou grupo Telegram).
|
|
34
|
+
|
|
35
|
+
Bruno recebe input com **contexto** em vez de "achei vago". Padroniza coleta pra Pixel iterar com base em dados reais.
|
|
36
|
+
|
|
37
|
+
## Quando disparar
|
|
38
|
+
|
|
39
|
+
**Trigger automático:**
|
|
40
|
+
- NÃO disparar automaticamente
|
|
41
|
+
|
|
42
|
+
**Trigger explícito (qualquer um):**
|
|
43
|
+
- "gera log"
|
|
44
|
+
- "gera feedback"
|
|
45
|
+
- "log da jornada"
|
|
46
|
+
- "histórico da jornada"
|
|
47
|
+
- "relatório"
|
|
48
|
+
- "relatório de feedback"
|
|
49
|
+
- "feedback estruturado"
|
|
50
|
+
- "me ajuda a mandar feedback"
|
|
51
|
+
|
|
52
|
+
**Funciona em qualquer momento:**
|
|
53
|
+
- Durante o onboarding (gera log parcial — útil pra aluno reportar quando trava no meio)
|
|
54
|
+
- Após primeira vitória (log completo)
|
|
55
|
+
- Em qualquer ponto depois (com flags atualizadas)
|
|
56
|
+
|
|
57
|
+
## Princípio 11 — Detecção antes de gerar
|
|
58
|
+
|
|
59
|
+
Antes de gerar, lê:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
# Lê MEMORY.md
|
|
63
|
+
cat MEMORY.md
|
|
64
|
+
|
|
65
|
+
# Detecta flags principais
|
|
66
|
+
onboarding_complete=$(grep "onboarding_complete:" MEMORY.md)
|
|
67
|
+
versao_kit=$(grep "kit_version:" MEMORY.md)
|
|
68
|
+
ambiente=$(grep "ambiente:" MEMORY.md)
|
|
69
|
+
modo=$(grep "modo:" MEMORY.md)
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### 3 estados detectáveis
|
|
73
|
+
|
|
74
|
+
| Estado | Comportamento |
|
|
75
|
+
|---|---|
|
|
76
|
+
| **MEMORY.md vazio ou aluno não começou jornada** | Avisar: "Você ainda não começou a jornada. Manda 'oi' que eu disparo o onboarding." NÃO gerar log. |
|
|
77
|
+
| **Jornada parcial** (onboarding_complete: false) | Gerar log parcial: passos completados + onde travou + observações até aqui |
|
|
78
|
+
| **Jornada completa** (onboarding_complete: true) | Gerar log completo: jornada inteira + configuração final |
|
|
79
|
+
|
|
80
|
+
## Fluxo principal
|
|
81
|
+
|
|
82
|
+
### 1. Confirmar intenção + perguntar sobre PII
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
"Vou gerar um log da sua jornada pra você mandar de feedback pro Bruno.
|
|
86
|
+
|
|
87
|
+
Antes, 1 escolha:
|
|
88
|
+
|
|
89
|
+
→ **Sanitizado** (recomendado, default): tiro seu nome, cidade, dados pessoais
|
|
90
|
+
antes de gerar — fica genérico, mas ainda útil pra Bruno entender o que
|
|
91
|
+
aconteceu
|
|
92
|
+
|
|
93
|
+
→ **Completo**: inclui seu nome + dados de USER.md (mais contexto, menos
|
|
94
|
+
privacidade)
|
|
95
|
+
|
|
96
|
+
Manda 'sanitizado' ou 'completo'. Se não responder, vou de sanitizado."
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Aguardar resposta. Default: sanitizado.
|
|
100
|
+
|
|
101
|
+
### 2. Ler dados de MEMORY.md
|
|
102
|
+
|
|
103
|
+
Extrair em ordem:
|
|
104
|
+
|
|
105
|
+
**Cabeçalho:**
|
|
106
|
+
- Data atual
|
|
107
|
+
- Versão do kit (`kit_version` em MEMORY.md, ou inferir de SKILL.md do onboarding-checklist)
|
|
108
|
+
- Ambiente (`ambiente: managed | vps-root | local-dev`)
|
|
109
|
+
- Modo (`modo: A | B`)
|
|
110
|
+
- Tempo total (calcular: `created_at` da primeira flag até `last_activity_at`, se disponível)
|
|
111
|
+
|
|
112
|
+
**Passos (na ordem 0-6):**
|
|
113
|
+
- Para cada passo, status: ✓ concluído / ✗ pulou / ⏰ agendado / ⚠ erro
|
|
114
|
+
- Observações inline (se aluno reportou problemas durante o passo, devem estar em `## Observações inline` em MEMORY.md)
|
|
115
|
+
|
|
116
|
+
**Pulos pendentes:**
|
|
117
|
+
- `whisper_reminder_at` ainda válido?
|
|
118
|
+
- `whisper_skipped_permanently: true`?
|
|
119
|
+
|
|
120
|
+
**Configuração final (apenas se sanitizado=false):**
|
|
121
|
+
- Nome do agente (de IDENTITY.md)
|
|
122
|
+
- Tom (de SOUL.md)
|
|
123
|
+
- exec-policy
|
|
124
|
+
- Backup ativo?
|
|
125
|
+
|
|
126
|
+
### 3. Gerar log no formato canônico
|
|
127
|
+
|
|
128
|
+
```markdown
|
|
129
|
+
=== Log da Jornada — Starter Kit OpenClaw v2.1 ===
|
|
130
|
+
Data: {YYYY-MM-DD}
|
|
131
|
+
Versão do kit: {kit_version}
|
|
132
|
+
Ambiente: {managed | vps-root | local-dev}
|
|
133
|
+
Modo: {A | B}
|
|
134
|
+
Tempo total: {Nmin}
|
|
135
|
+
|
|
136
|
+
PASSO 0 — Whisper: {status} {detalhes}
|
|
137
|
+
PASSO 1 — Agente: {status} {detalhes}
|
|
138
|
+
PASSO 2 — Aluno: {status} {detalhes}
|
|
139
|
+
PASSO 3 — Autonomia: {status} {detalhes}
|
|
140
|
+
PASSO 4 — Workspace: {status} {detalhes}
|
|
141
|
+
PASSO 5 — Conectar:
|
|
142
|
+
{sub-status Brave Search}
|
|
143
|
+
{sub-status GitHub Token}
|
|
144
|
+
{sub-status Backup automático}
|
|
145
|
+
{sub-status Chromium se aplicável}
|
|
146
|
+
PASSO 6 — Primeira vitória: {status} {detalhes}
|
|
147
|
+
|
|
148
|
+
OBSERVAÇÕES INLINE (capturadas durante a jornada):
|
|
149
|
+
{lista das observações registradas em MEMORY.md ## Observações inline}
|
|
150
|
+
{ou: "Nenhuma observação inline registrada." se vazio}
|
|
151
|
+
|
|
152
|
+
CONFIGURAÇÃO FINAL: {se sanitizado=true, omitir essa seção inteira}
|
|
153
|
+
- Agente: {nome agente}, tom {tom}
|
|
154
|
+
- exec-policy: {yolo | ask}
|
|
155
|
+
- Backup GitHub: {ativo | inativo}
|
|
156
|
+
- Whisper: {ativo | inativo}
|
|
157
|
+
|
|
158
|
+
PULOS PENDENTES: {lista, ou "nenhum"}
|
|
159
|
+
COMANDOS QUE NÃO ENTENDI (registrados): {lista, ou "nenhum"}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
**Limite de tamanho:** ~80 linhas. Se exceder, cortar `OBSERVAÇÕES INLINE` mantendo as mais recentes.
|
|
163
|
+
|
|
164
|
+
### 4. Mostrar log pro aluno + perguntar se quer ajustar
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
"Pronto, log gerado:
|
|
168
|
+
|
|
169
|
+
[bloco de código com o log]
|
|
170
|
+
|
|
171
|
+
Tá certo? Quer adicionar algo, remover algo, ou já mandar como tá?
|
|
172
|
+
|
|
173
|
+
→ 'manda' — vou te dar os 2 jeitos de enviar
|
|
174
|
+
→ 'ajusta' — me diz o que mudar
|
|
175
|
+
→ 'cancela' — não envia, mas log fica salvo em content/feedback-log-{data}.md
|
|
176
|
+
"
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### 5. Ações por resposta
|
|
180
|
+
|
|
181
|
+
**Se "manda":**
|
|
182
|
+
|
|
183
|
+
```
|
|
184
|
+
"Beleza. 2 jeitos de enviar (escolhe um ou os dois):
|
|
185
|
+
|
|
186
|
+
📊 **Tally form** (1 pergunta NPS + textarea pra colar log):
|
|
187
|
+
https://tally.so/r/obyy1V
|
|
188
|
+
→ Cole o log no campo 'comentário' do form
|
|
189
|
+
|
|
190
|
+
💬 **Grupo Telegram dos alunos:**
|
|
191
|
+
https://t.me/cursoopenclaw
|
|
192
|
+
→ Tópico 'Suporte' ou 'Geral'
|
|
193
|
+
→ Marca o Bruno com @brunookamoto + cola o log
|
|
194
|
+
|
|
195
|
+
Sem pressão, escolhe o que preferir. O importante é que tá em formato
|
|
196
|
+
estruturado — Bruno vai conseguir entender contexto rápido.
|
|
197
|
+
|
|
198
|
+
Salvei o log em content/feedback-log-{data}.md também (caso queira
|
|
199
|
+
abrir/editar antes de mandar)."
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**Se "ajusta":**
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
"O que muda? Pode ser:
|
|
206
|
+
- Adicionar uma observação que esqueci de registrar
|
|
207
|
+
- Remover algo que tá errado
|
|
208
|
+
- Mudar de sanitizado pra completo (ou vice-versa)
|
|
209
|
+
|
|
210
|
+
Manda."
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Aplicar ajuste, mostrar log atualizado, voltar pra step 4.
|
|
214
|
+
|
|
215
|
+
**Se "cancela":**
|
|
216
|
+
|
|
217
|
+
```
|
|
218
|
+
"Beleza, não enviei. Log salvo em content/feedback-log-{data}.md
|
|
219
|
+
(você pode reabrir/editar depois).
|
|
220
|
+
|
|
221
|
+
Se mudar de ideia: 'manda log' que eu reabro o fluxo."
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### 6. Salvar log em arquivo
|
|
225
|
+
|
|
226
|
+
Independente da escolha, salvar em:
|
|
227
|
+
|
|
228
|
+
```
|
|
229
|
+
content/feedback-log-{YYYY-MM-DD-HHMM}.md
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Conteúdo: o log gerado + cabeçalho com data + status de envio (enviado / cancelado / aguardando).
|
|
233
|
+
|
|
234
|
+
### 7. Atualizar MEMORY.md
|
|
235
|
+
|
|
236
|
+
```markdown
|
|
237
|
+
## Decisões da jornada
|
|
238
|
+
- {data}: Gerou log de feedback. Sanitizado: {sim|não}. Status envio: {enviado | cancelado | aguardando}.
|
|
239
|
+
|
|
240
|
+
## Flags
|
|
241
|
+
last_feedback_log_at: {timestamp}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Estrutura sugerida do MEMORY.md (pros wizards alimentarem)
|
|
245
|
+
|
|
246
|
+
Pra essa skill funcionar bem, os outros wizards precisam registrar dados padronizados em MEMORY.md. Sugestão de seções (já parcialmente em uso):
|
|
247
|
+
|
|
248
|
+
```markdown
|
|
249
|
+
# MEMORY.md — Estado do agente
|
|
250
|
+
|
|
251
|
+
## Flags
|
|
252
|
+
{key: value list}
|
|
253
|
+
|
|
254
|
+
## Decisões da jornada
|
|
255
|
+
- {data}: descrição
|
|
256
|
+
|
|
257
|
+
## Observações inline (capturadas pelo agente durante uso)
|
|
258
|
+
- {data}: aluno reportou: "{texto literal}"
|
|
259
|
+
- {data}: agente detectou: "{descrição}"
|
|
260
|
+
|
|
261
|
+
## Configuração final
|
|
262
|
+
{snapshot do estado quando primeira vitória completou}
|
|
263
|
+
|
|
264
|
+
## Histórico de feedback enviado
|
|
265
|
+
- {data}: gerou log. Status: enviado/cancelado.
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
Se as seções não existirem ainda, essa skill funciona com dados parciais (extrai o que conseguir).
|
|
269
|
+
|
|
270
|
+
## Princípio CRÍTICO — log nunca inventa dados
|
|
271
|
+
|
|
272
|
+
⚠️ **Se MEMORY.md não tem dado, log mostra `não registrado` em vez de inventar.**
|
|
273
|
+
|
|
274
|
+
Falha que essa skill PREVINE: agente "completar" o log com inferências (ex: estimar tempo total, criar observações com base em padrão). Isso vira teatro — Bruno acha que tem dado real e na verdade é alucinação.
|
|
275
|
+
|
|
276
|
+
Regra dura: log só mostra o que tá em MEMORY.md ou outros arquivos do workspace. Se não tem, fala "não registrado".
|
|
277
|
+
|
|
278
|
+
## Critérios de sucesso
|
|
279
|
+
|
|
280
|
+
- [ ] Log gerado em < 2min do trigger
|
|
281
|
+
- [ ] Aluno valida antes de enviar (não força)
|
|
282
|
+
- [ ] PII sanitizada por default
|
|
283
|
+
- [ ] 2 caminhos de envio oferecidos (Tally + grupo Telegram)
|
|
284
|
+
- [ ] Log salvo em arquivo local independente de envio
|
|
285
|
+
- [ ] Log NUNCA inventa dado que não está em MEMORY.md
|
|
286
|
+
|
|
287
|
+
## Erros comuns
|
|
288
|
+
|
|
289
|
+
- **MEMORY.md não tem seção "Observações inline":** ainda não foi adotada por todos os wizards. Mostrar `## OBSERVAÇÕES INLINE: nenhuma observação registrada (essa estrutura é nova — wizards ainda estão sendo atualizados pra alimentar)`. Não tratar como erro.
|
|
290
|
+
- **Aluno pede log mas não fez nem o passo 1:** mostrar log "vazio" + sugerir começar jornada com 'oi' antes.
|
|
291
|
+
- **Log fica gigante (>200 linhas):** cortar `Observações inline` (manter só as 5 mais recentes) + avisar: "Cortei {N} observações antigas pra log caber. Versão completa em content/feedback-log-{data}-completo.md"
|
|
292
|
+
- **Aluno pediu 'completo' mas USER.md tem dados sensíveis (CPF, endereço):** sanitizar mesmo em modo completo se detectar padrão sensível. Avisar: "Detectei {tipo} em USER.md, sanitizei mesmo no modo completo pra sua segurança."
|
|
293
|
+
|
|
294
|
+
## Aplicação dos princípios defensivos
|
|
295
|
+
|
|
296
|
+
Esta skill herda os princípios universais da `onboarding-checklist`. Ver: [`../onboarding-checklist/references/principios-defensivos.md`](../onboarding-checklist/references/principios-defensivos.md).
|
|
297
|
+
|
|
298
|
+
Especialmente relevantes:
|
|
299
|
+
- **Princípio 4 (narrar antes de fazer):** mostra log + pede validação antes de enviar
|
|
300
|
+
- **Princípio 7 (em dúvida, pergunte):** se aluno escolhe sanitizado vs completo, perguntar (não inferir)
|
|
301
|
+
- **Princípio 11 (detectar antes de pedir):** lê MEMORY.md ANTES de gerar
|
|
302
|
+
- **NOVO Princípio (v2.1): nunca inventa dado pro log** — se não está em MEMORY.md, mostra "não registrado". Sem teatro.
|
|
303
|
+
|
|
304
|
+
## Modo A vs Modo B
|
|
305
|
+
|
|
306
|
+
**Modo A (formal):**
|
|
307
|
+
```
|
|
308
|
+
"Vou gerar um log estruturado da sua jornada pra mandar de feedback.
|
|
309
|
+
Você escolhe: sanitizado (default) ou completo. Como prefere?"
|
|
310
|
+
[fluxo numerado]
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
**Modo B (conversacional):**
|
|
314
|
+
```
|
|
315
|
+
"Bora gerar um log do que rolou na sua jornada — ajuda o Bruno a melhorar
|
|
316
|
+
o kit. Sanitizado ou completo?"
|
|
317
|
+
[fluxo conversacional]
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
## Status
|
|
321
|
+
|
|
322
|
+
✅ ATIVO desde v2.1 do Starter Kit (03/05/2026 — Bruno: "criar algum tipo de change log ou de log para que o Wizard gere um log passo a passo para até o aluno mandar como feedback").
|
|
323
|
+
|
|
324
|
+
## Roadmap
|
|
325
|
+
|
|
326
|
+
- v1.1: Detecção automática de "Observações inline" — agente captura sozinho quando aluno reportar bug ("não consegui clicar", "deu erro", "ficou vago") durante qualquer passo, sem precisar pedir explicitamente
|
|
327
|
+
- v1.2: Envio direto pro Tally via API (sem aluno copiar/colar) — depende de Tally aceitar API call autenticada
|
|
328
|
+
- v1.3: Estatísticas agregadas — quando skill ouvinte rolar (pendência separada), agregar logs de N alunos pra view de Bruno
|
|
329
|
+
|
|
330
|
+
## Referências
|
|
331
|
+
|
|
332
|
+
### Internas
|
|
333
|
+
- Skill ouvinte de feedback de alunos (pendência aberta — esta skill é o "front-end" enquanto a ouvinte é o "back-end" de coleta)
|
|
334
|
+
- Princípios defensivos: [`../onboarding-checklist/references/principios-defensivos.md`](../onboarding-checklist/references/principios-defensivos.md)
|
|
335
|
+
|
|
336
|
+
### Externas
|
|
337
|
+
- Tally form pra NPS + comentário: https://tally.so/r/obyy1V
|
|
338
|
+
- Grupo Telegram dos alunos: https://t.me/cursoopenclaw
|