--- name: worklog description: Registo de trabalho e reflexão unificado. Analisa sessão, regista trabalho, identifica padrões, sugere acções. /reflect é alias (mesmo resultado). Variantes: deep (análise profunda), week (revisão semanal). Usar quando "worklog", "reflect", "reflexão", "registar trabalho", "log", ao parar timer. layer: wiki --- # /worklog v4.1 - Registo de Trabalho + Reflexão **⚠️ EXECUÇÃO INLINE OBRIGATÓRIA — NUNCA FORK** Quando `/worklog` ou `/reflect` é invocado, o agente principal executa o protocolo **directamente, in-situ, no thread principal**. Proibido: - Chamar `Skill tool` para `worklog`/`reflect` (fork perde contexto conversacional — histórico de mensagens, Edit/Write calls, MCP tool calls, decisões já tomadas) - Chamar `Agent tool` / Task subagente para executar o worklog (mesma razão) O histórico da conversa actual é a **fonte primária** do worklog. Só o agente principal o tem. Qualquer fork devolve "nothing to log" e falha silenciosamente o registo — anti-padrão verificado empiricamente em 2026-04-23. Skill unificada: regista trabalho, analisa sessão, sugere acções, guarda memória. **`/reflect` = alias de `/worklog`** (mesmo resultado). --- ## Comandos | Comando | Função | |---------|--------| | `/worklog` | Registo + reflexão da sessão | | `/reflect` | Alias de `/worklog` | | `/worklog view` | Ver últimos registos | | `/reflect deep` | Análise profunda com histórico | | `/reflect week` | Revisão semanal (segundas via /today) | --- ## Storage | Tipo | Discussão | ID | |------|-----------|-----| | **Logs + Reflexões** | Logs | 31 | | **Reflexões Profundas** | Reflexões | 32 | | **Acções** | Acções de Melhoria | 33 | **Projecto:** #65 (DES Stack Workflow) | **Staff:** 25 (AikTop) --- ## Protocolo Principal (/worklog e /reflect) ``` 1. Obter hora via mcp__mcp-time__current_time 2. Verificar timer activo em ~/.claude-work/active-timer.json 3. ANALISAR sessão — FONTE PRIMÁRIA é o histórico conversacional actual do agente: A) **Contexto conversa (OBRIGATÓRIO — FONTE PRIMÁRIA):** O agente que executa esta skill tem, no seu próprio histórico, toda a informação que precisa. Extrair directamente: - Ficheiros modificados (procurar Edit/Write/MultiEdit nos tool_use da sessão) - MCPs usados (procurar mcp__*__* tool calls) - Erros encontrados e soluções aplicadas - Padrões detectados, decisões arquitecturais - Pedidos sucessivos do utilizador (sequência de mensagens user) - Commits feitos (procurar `git commit` em tool_use) - Subagentes dispatched (Agent tool calls) B) **Contexto externo (COMPLEMENTAR — SEMPRE recolher):** - git diff --stat (últimas 3h): ficheiros alterados - git log --oneline --since="3 hours ago": commits recentes - SQLite Observabilidade (se disponível): `~/.claude-work/sessions.db` tabela sessions com project_slug+started_at+tool_calls da sessão actual - find 00-Inbox/ -name "worklog-$(date +%Y-%m-%d)*" -newer - Ficheiros modificados nas últimas 3h no working directory - Tarefas Desk com comentários criados hoje (mcp__desk-crm-v3__get_task_comments filter staff_id=1 or 25) C) **Activity log do hook (FALLBACK — cross-session apenas):** Usar só quando A) está genuinamente vazio (ex: /worklog invocado manualmente sem contexto activo). - ls -lat ~/.claude-work/sessions/*.activity.log | head -5 - Escolher activity.log MAIOR modificado nas últimas 2h (>5KB) - Ler o .json correspondente para metadata REGRA: A) preenche o corpo do worklog. B) adiciona detalhes. C) só se A) vazio. REGRA: Se A), B) e C) todos vazios após verificação rigorosa → NÃO gerar e reportar "nada novo para registar". 3b. VERIFICAR alinhamento com spec (se aplicavel): - Detectar ficheiros modificados na sessao - Procurar SPEC.md no directorio pai (ate 3 niveis) - SE spec approved/in_progress: comparar ficheiros vs scope items - SE ficheiro nao mapeia para scope: incluir SCOPE ALERT no worklog - SE sem SPEC.md: ignorar silenciosamente 4. VERIFICAR se há algo novo a documentar - Se conversa vazia → recolher contexto externo (passo 3B) - Se contexto externo tambem vazio → NÃO gerar - NUNCA desistir sem verificar fontes externas primeiro 5. Gerar comentário HTML (ver formato abaixo) 6. mcp__desk-crm-v3__add_discussion_comment({ discussion_id: 31, content: html, staff_id: 25 }) 7. SE acções sugeridas: mcp__desk-crm-v3__add_discussion_comment({ discussion_id: 33, content: accoes_html, staff_id: 25 }) 7b. TRIGGER improvement-evaluator no desktop (localhost): Bash: curl -s -X POST http://localhost:8095/trigger (falha silenciosa OK — o systemd timer apanha em 30min) 8. SE insight valioso → mcp__mem_save_memory({ text: "[resumo do insight]" }) 8b. GIT CHECKPOINT (automático se em projecto git): a. Verificar se existe `.desk-project` no directório actual (ou até 3 níveis acima) b. Se sim: verificar se é repositório