fix(gestao): corrige YAML frontmatter invalido em qw/worklog, remove ijfw_memory_recall morto, recupera report-5w2h perdido, bump 1.6.1
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
# /qw — Quick Wrap-up
|
||||
|
||||
Recapitulação rápida de sessão. Resumo + actualização de docs + memória mem0.
|
||||
|
||||
## Uso Rápido
|
||||
|
||||
```bash
|
||||
/qw # Recapitulação completa
|
||||
/qw --docs # Apenas actualizar docs
|
||||
/qw --mem # Apenas guardar memória mem0
|
||||
```
|
||||
|
||||
## O Que Faz
|
||||
|
||||
| Função | Tempo | Output |
|
||||
|--------|-------|--------|
|
||||
| **Resumo** | <30s | 3 bullets do trabalho realizado |
|
||||
| **Docs** | <30s | Actualiza README/CHANGELOG |
|
||||
| **Memória** | <30s | Cria entrada mem0 com protocolo Wayland v2 |
|
||||
|
||||
## Exemplo Prático
|
||||
|
||||
**Situação:** Acabaste de criar a skill `/qw` em 45 minutos.
|
||||
|
||||
```
|
||||
/qw
|
||||
```
|
||||
|
||||
**Output Automático:**
|
||||
```
|
||||
✅ Quick Wrap-up — 2026-07-02 16:45
|
||||
|
||||
📝 RESUMO
|
||||
• SKILL.md criada — skill /qw para recapitulação rápida de sesões
|
||||
• Docs actualizados — plugin.json v1.5.0, CHANGELOG com entrada
|
||||
• Memória guardada — mem0 Wayland v2 com tags skill,gestao
|
||||
|
||||
📦 FICHEIROS ALTERADOS
|
||||
+ ~/.claude/plugins/.../gestao/skills/qw/SKILL.md
|
||||
+ ~/.claude/plugins/.../gestao/skills/qw/README.md
|
||||
~ ~/.claude/plugins/.../gestao/CHANGELOG.md
|
||||
|
||||
💾 MEM0
|
||||
ID: mem0_xyz1234567890
|
||||
Entrada: "Skill /qw criada | propósito | recapitulação rápida sesões"
|
||||
Tags: skill, gestao
|
||||
Tier: global
|
||||
|
||||
⏱️ Duração: 42s | Estado: OK ✓
|
||||
```
|
||||
|
||||
## Diferenças: /qw vs /worklog
|
||||
|
||||
| Aspecto | `/qw` | `/worklog` |
|
||||
|---------|-------|-----------|
|
||||
| **Tempo** | <2 min | ~5-10 min |
|
||||
| **Resumo** | 3 bullets max | Análise profunda |
|
||||
| **Docs** | Básico (README) | Completo + higienização OKF |
|
||||
| **Memória** | mem0 simple | Supabase + insights profundos |
|
||||
| **Uso** | Sesões curtas, tarefas isoladas | Fim de trabalho, reflexão |
|
||||
| **Git commit** | Omitido | Automático se hub/.desk-project |
|
||||
|
||||
## Configuração
|
||||
|
||||
- **Execução:** Inline (nunca fork)
|
||||
- **Staff ID:** 25 (Claude — ou o do utilizador)
|
||||
- **MCP:** mem0 (gateway.descomplicar.pt)
|
||||
- **Plugin:** gestao
|
||||
- **Skill:** qw
|
||||
|
||||
## Protocolo Mem0
|
||||
|
||||
Wayland v2 (Semantic P3):
|
||||
|
||||
```json
|
||||
{
|
||||
"subject": "Skill /qw criada",
|
||||
"predicate": "propósito",
|
||||
"object": "recapitulação rápida sesões",
|
||||
"tags": ["skill", "gestao"],
|
||||
"tier": "global",
|
||||
"maxLength": 80
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Versão:** 1.0 | **Data:** 2026-07-02 | **Autor:** Claude (staff_id 25)
|
||||
@@ -0,0 +1,134 @@
|
||||
---
|
||||
name: qw
|
||||
description: "Recapitulação rápida de sessão — resumo conciso do trabalho feito, actualização de docs e memória mem0. Uso: /qw ao finalizar tarefa ou sessão curta. Complemento leve ao /worklog."
|
||||
---
|
||||
|
||||
# /qw v1.0 — Quick Wrap-up (Recapitulação Rápida)
|
||||
|
||||
**⚠️ EXECUÇÃO INLINE OBRIGATÓRIA — NUNCA FORK**
|
||||
|
||||
Protocolo simples e rápido (máx 2 min) para fechar sesões curtas ou tarefas isoladas. Complemento ao `/worklog` (pesado).
|
||||
|
||||
---
|
||||
|
||||
## Comandos
|
||||
|
||||
| Comando | Função |
|
||||
|---------|--------|
|
||||
| `/qw` | Recapitulação rápida + mem0 |
|
||||
| `/qw --docs` | Actualizar docs (README, CHANGELOG) |
|
||||
| `/qw --mem` | Guardar memória mem0 apenas |
|
||||
|
||||
---
|
||||
|
||||
## Protocolo Principal (/qw)
|
||||
|
||||
```
|
||||
1. Obter hora actual (mcp__mcp-time__current_time)
|
||||
2. RESUMIR sessão em máx 3 bullets:
|
||||
- Ficheiro(s) modificado(s) + linha brevíssima do quê
|
||||
- Problema resolvido / Tarefa finalizada
|
||||
- Padrão/insight (se relevante)
|
||||
3. ACTUALIZAR docs (escolher 1):
|
||||
a. Se ficheiro novo: adicionar linha ao README (secção "Estrutura" ou similar)
|
||||
b. Se ficheiro existente alterado: actualizar CHANGELOG (formato: - YYYY-MM-DD Descrição)
|
||||
c. Se nenhum doc relevante: omitir
|
||||
4. GUARDAR memória mem0:
|
||||
- Tipo: semantic (P3) — facto conciso e reutilizável
|
||||
- Tags: mínimo 2 (ex: "task", "bugfix" ou "feature", "integracao")
|
||||
- Conteúdo: "O que foi feito + resultado" (máx 80 chars)
|
||||
- tier: global se cross-projecto, project se específico
|
||||
5. OUTPUT:
|
||||
- Resumo legível
|
||||
- Ficheiros afectados
|
||||
- Link memória (se criada)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Exemplo de Uso
|
||||
|
||||
**Input:**
|
||||
```
|
||||
/qw
|
||||
```
|
||||
|
||||
**Output (gerado automático):**
|
||||
```
|
||||
✅ Quick Wrap-up — 2026-07-02 16:45
|
||||
|
||||
📝 RESUMO
|
||||
• qw/SKILL.md criada — skill recapitulação rápida
|
||||
• docs atualizados — README.md com link nova skill
|
||||
• memória guardada (mem0) — meta skill gestao/qw
|
||||
|
||||
📦 FICHEIROS
|
||||
- ~/.claude/plugins/.../gestao/skills/qw/SKILL.md (novo)
|
||||
- ~/.claude/plugins/.../gestao/README.md (actualizado)
|
||||
|
||||
💾 MEM0
|
||||
ID: mem0_xyz...
|
||||
"Criada skill /qw para recapitulação sessões curtas"
|
||||
Tags: skill, gestao
|
||||
|
||||
---
|
||||
⏱️ Duração: 45s | Estado: OK
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Storage
|
||||
|
||||
Memória mem0 (gateway.descomplicar.pt/v1/mem0/mcp):
|
||||
- **Protocolos:** Wayland v2 (P5/P4/P3, tags, tier)
|
||||
- **Limite:** máx 80 chars por entrada
|
||||
- **Dedup:** verificar `ijfw_memory_recall` antes de guardar
|
||||
- **Tier:** `global` para skill/padrão cross-projecto, `project` para específico
|
||||
|
||||
---
|
||||
|
||||
## Variantes
|
||||
|
||||
### `/qw --docs` (Actualizar Docs)
|
||||
Apenas actualiza README/CHANGELOG sem resumo:
|
||||
```
|
||||
- Procura README ou CHANGELOG na pasta actual (até 2 níveis acima)
|
||||
- Insere/actualiza entrada
|
||||
- Omite memória e resumo
|
||||
```
|
||||
|
||||
### `/qw --mem` (Memória Apenas)
|
||||
Apenas guarda mem0, sem resumo:
|
||||
```
|
||||
- Pede prompt: "Qual o insight para guardar?"
|
||||
- Formata e guarda via mem0 MCP
|
||||
- Output: ID memória apenas
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Integração com Plugin gestao
|
||||
|
||||
Local: `~/.claude/plugins/marketplaces/descomplicar-plugins/gestao/skills/qw/`
|
||||
|
||||
Ficheiros:
|
||||
- `SKILL.md` — este ficheiro
|
||||
- `prompts/` — templates de prompts (se necessário)
|
||||
|
||||
Regra CLAUDE.md: Skills gestao executam INLINE (nunca fork). Sem subagentes.
|
||||
|
||||
---
|
||||
|
||||
## Checklist Implementação
|
||||
|
||||
- [x] SKILL.md criada
|
||||
- [ ] Skill registada em plugin.json (gestao)
|
||||
- [ ] Prompts adicionados (se necessário)
|
||||
- [ ] Teste manual: `/qw`
|
||||
- [ ] Teste com --docs flag
|
||||
- [ ] Teste com --mem flag
|
||||
- [ ] Validação mem0 (verificar entrada criada)
|
||||
|
||||
---
|
||||
|
||||
**Versão:** 1.0 | **Data:** 2026-07-02 | **Plugin:** gestao | **Staff:** 25 (Claude)
|
||||
@@ -0,0 +1,82 @@
|
||||
# Prompt Base — /qw Quick Wrap-up
|
||||
|
||||
## Sistema
|
||||
|
||||
Tu és a instância Claude Code, execução INLINE. Tarefa: gerar recapitulação rápida de sessão.
|
||||
|
||||
**Restrições:**
|
||||
- Máx 3 bullets resumo
|
||||
- Máx 80 chars por memória
|
||||
- Sem subagentes (execução síncrona)
|
||||
|
||||
## Entrada (Contexto)
|
||||
|
||||
Contexto da sessão actual:
|
||||
- Timestamp: [HORA ACTUAL]
|
||||
- Ficheiros modificados: [Lista Edit/Write calls]
|
||||
- MCPs usados: [Lista MCP calls]
|
||||
- Erros resolvidos: [Se aplicável]
|
||||
- Tarefas: [Desk CRM task se linkada]
|
||||
|
||||
## Processamento
|
||||
|
||||
### 1. Resumir (Máx 60s)
|
||||
```markdown
|
||||
## ✅ Resumo Sessão — YYYY-MM-DD HH:MM
|
||||
|
||||
• [Ficheiro] — [O que mudou, 1 linha]
|
||||
• [Tarefa] — [Resultado/status]
|
||||
• [Padrão] — [Insight reutilizável, se houver]
|
||||
```
|
||||
|
||||
### 2. Actualizar Docs (Máx 30s)
|
||||
```
|
||||
Se ficheiro NOVO:
|
||||
README.md secção "Estrutura" → adicionar linha
|
||||
|
||||
Se ficheiro ALTERADO:
|
||||
CHANGELOG.md → linha em ## [Unreleased]:
|
||||
- YYYY-MM-DD Descrição concisa
|
||||
```
|
||||
|
||||
### 3. Memória mem0 (Máx 30s)
|
||||
```
|
||||
- Protocolо Wayland v2 (P3 — fact)
|
||||
- Sujeito | predicado | objecto
|
||||
- Tags: mínimo 2 (task, feature, bugfix, integration, etc)
|
||||
- Tier: global / project
|
||||
- Exemplo:
|
||||
"Skill /qw criada | propósito | recapitulação sessões curtas"
|
||||
```
|
||||
|
||||
## Output Final
|
||||
|
||||
```
|
||||
✅ Quick Wrap-up — [TIMESTAMP]
|
||||
|
||||
📝 RESUMO
|
||||
[3 bullets aqui]
|
||||
|
||||
📦 FICHEIROS ALTERADOS
|
||||
[Lista]
|
||||
|
||||
💾 MEM0
|
||||
ID: [mem0_id]
|
||||
Conteúdo: [entrada]
|
||||
|
||||
⏱️ Duração: [segundos]s | Estado: OK
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Flags
|
||||
|
||||
### `--docs`
|
||||
Apenas actualizar docs (README, CHANGELOG). Omitir resumo.
|
||||
|
||||
### `--mem`
|
||||
Apenas guardar memória. Pedir prompt input: "Insight para guardar?"
|
||||
|
||||
---
|
||||
|
||||
Versão: 1.0 | 2026-07-02
|
||||
@@ -0,0 +1,202 @@
|
||||
# Exemplos de Uso — /qw
|
||||
|
||||
## Exemplo 1: Criar Ficheiro Novo
|
||||
|
||||
**Contexto:** Acabaste de criar `novo-modulo.js` com 150 linhas.
|
||||
|
||||
```bash
|
||||
/qw
|
||||
```
|
||||
|
||||
**Processamento automático:**
|
||||
1. Detecta novo ficheiro: `novo-modulo.js`
|
||||
2. Actualiza `README.md` secção "Estrutura" com: `- novo-modulo.js — módulo XYZ`
|
||||
3. Cria memória mem0:
|
||||
- Subject: "novo-modulo.js"
|
||||
- Predicate: "criado para"
|
||||
- Object: "funcionalidade XYZ"
|
||||
- Tags: "feature", "javascript"
|
||||
- Tier: "project"
|
||||
|
||||
**Output:**
|
||||
```
|
||||
✅ Quick Wrap-up — 2026-07-02 14:23
|
||||
|
||||
📝 RESUMO
|
||||
• novo-modulo.js criado — 150 linhas, export default class XYZ
|
||||
• README actualizado — secção Estrutura
|
||||
• Memória guardada — mem0 (feature/javascript)
|
||||
|
||||
📦 FICHEIROS
|
||||
+ novo-modulo.js
|
||||
~ README.md
|
||||
|
||||
💾 MEM0 ID: mem0_abc123...
|
||||
|
||||
⏱️ 38s | OK
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Exemplo 2: Bugfix + Docs
|
||||
|
||||
**Contexto:** Corrigiste bug em `auth.js` linha 45 (return typo).
|
||||
|
||||
```bash
|
||||
/qw
|
||||
```
|
||||
|
||||
**Processamento:**
|
||||
1. Detecta ficheiro alterado: `auth.js`
|
||||
2. Actualiza `CHANGELOG.md` em `## [Unreleased]`:
|
||||
```
|
||||
- 2026-07-02 [auth] Corrigido typo return em validação token
|
||||
```
|
||||
3. Memória mem0:
|
||||
- Subject: "auth.js"
|
||||
- Predicate: "bugfix"
|
||||
- Object: "return typo validação token (linha 45)"
|
||||
- Tags: "bugfix", "javascript"
|
||||
|
||||
**Output:**
|
||||
```
|
||||
✅ Quick Wrap-up — 2026-07-02 14:25
|
||||
|
||||
📝 RESUMO
|
||||
• auth.js corrigido — typo return em validação token (linha 45)
|
||||
• CHANGELOG actualizado — entrada [Unreleased]
|
||||
• Memória guardada — mem0 (bugfix/javascript)
|
||||
|
||||
📦 FICHEIROS
|
||||
~ auth.js
|
||||
|
||||
💾 MEM0 ID: mem0_def456...
|
||||
|
||||
⏱️ 22s | OK
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Exemplo 3: Usar Flag --docs
|
||||
|
||||
**Contexto:** Já refiste 3 ficheiros mas esqueceste de actualizar README.
|
||||
|
||||
```bash
|
||||
/qw --docs
|
||||
```
|
||||
|
||||
**Processamento:**
|
||||
1. Detecta ficheiros alterados
|
||||
2. Apenas actualiza README/CHANGELOG
|
||||
3. Omite resumo e memória
|
||||
4. Output minimalista
|
||||
|
||||
**Output:**
|
||||
```
|
||||
✅ Docs Updated — 2026-07-02 14:27
|
||||
|
||||
📦 FICHEIROS
|
||||
~ README.md
|
||||
~ CHANGELOG.md
|
||||
|
||||
⏱️ 8s | OK
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Exemplo 4: Usar Flag --mem
|
||||
|
||||
**Contexto:** Descobriste um padrão interessante durante a sessão.
|
||||
|
||||
```bash
|
||||
/qw --mem
|
||||
```
|
||||
|
||||
**Processamento:**
|
||||
1. Pede input: "Qual o insight para guardar?"
|
||||
2. Utilizador responde: "Usar useCallback para memoização em loops React"
|
||||
3. Formata e guarda em mem0
|
||||
4. Output: apenas ID memória
|
||||
|
||||
**Output:**
|
||||
```
|
||||
💾 MEM0 Saved
|
||||
|
||||
ID: mem0_ghi789...
|
||||
Entrada: "useCallback | memoização | loops React evita re-renders"
|
||||
Tags: react, performance, padrão
|
||||
Tier: global
|
||||
|
||||
⏱️ 15s | OK
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Exemplo 5: Integração com Desk CRM
|
||||
|
||||
**Contexto:** Estás a trabalhar na tarefa #2401 do Desk.
|
||||
|
||||
```bash
|
||||
/qw
|
||||
```
|
||||
|
||||
**Processamento automático (se `.desk-project` detectado):**
|
||||
1. Lê `.desk-project` → tarefa_id = 2401
|
||||
2. Gera resumo com link à tarefa
|
||||
3. Memória mem0 inclui ref task_id
|
||||
|
||||
**Output:**
|
||||
```
|
||||
✅ Quick Wrap-up — 2026-07-02 14:30
|
||||
|
||||
📝 RESUMO
|
||||
• Tarefa #2401 — implementação API endpoint /users
|
||||
• Documentação atualizada — docs/api.md com endpoint spec
|
||||
• Memória guardada — mem0 com ref task #2401
|
||||
|
||||
📦 FICHEIROS
|
||||
+ src/api/endpoints/users.js
|
||||
~ docs/api.md
|
||||
|
||||
💾 MEM0 ID: mem0_jkl012... [task_id: 2401]
|
||||
|
||||
⏱️ 35s | OK
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Exemplo 6: Nenhum Ficheiro Alterado
|
||||
|
||||
**Contexto:** Tiveste uma sessão de investigação/leitura apenas (sem edições).
|
||||
|
||||
```bash
|
||||
/qw
|
||||
```
|
||||
|
||||
**Processamento:**
|
||||
1. Detecta: sem Edit/Write calls
|
||||
2. Omite output (nada para registar)
|
||||
3. Log silencioso: `[QW] Nada para registar — sessão leitura`
|
||||
|
||||
**Output:**
|
||||
```
|
||||
ℹ️ Quick Wrap-up
|
||||
|
||||
Nenhum ficheiro alterado nesta sessão. Omitido.
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Checklist Implementação (Para Testar)
|
||||
|
||||
- [ ] Criar novo ficheiro, rodar `/qw`, verificar README/CHANGELOG
|
||||
- [ ] Editar ficheiro existente, rodar `/qw`, verificar CHANGELOG
|
||||
- [ ] Testar `/qw --docs` (só docs)
|
||||
- [ ] Testar `/qw --mem` (só memória, com input)
|
||||
- [ ] Verificar mem0 entries criadas em gateway.descomplicar.pt
|
||||
- [ ] Testar em projecto com `.desk-project` (task link)
|
||||
- [ ] Testar sem alterações (nada para registar)
|
||||
|
||||
---
|
||||
|
||||
**Versão:** 1.0 | 2026-07-02
|
||||
@@ -0,0 +1,136 @@
|
||||
# /report — 5W2H + PDCA Report
|
||||
|
||||
Estrutura formal de conclusão de tarefas/etapas com análise 5W2H + PDCA.
|
||||
|
||||
## Uso Rápido
|
||||
|
||||
```bash
|
||||
/report # Report completo (interactivo)
|
||||
/report --quick # Versão resumida (3 campos)
|
||||
/report --auto # Auto-detectado de contexto
|
||||
```
|
||||
|
||||
## O Que Faz
|
||||
|
||||
| Função | Tempo | Output |
|
||||
|--------|-------|--------|
|
||||
| **5W2H** | <2 min | Tabela QUÊ/QUEM/QUANDO/ONDE/POR QUÊ/COMO/CUSTO |
|
||||
| **PDCA** | <2 min | Ciclo Plan/Do/Check/Act |
|
||||
| **Docs** | <1 min | README, CHANGELOG, PROC se relevante |
|
||||
| **Memória** | <1 min | Entry mem0 Wayland v2 |
|
||||
| **Desk** | <1 min | Comment em discussão #33 se .desk-project |
|
||||
|
||||
## Exemplo
|
||||
|
||||
```bash
|
||||
/report
|
||||
```
|
||||
|
||||
**Output:**
|
||||
```
|
||||
# 5W2H Report — Criar skill /qw
|
||||
|
||||
| Campo | Resposta |
|
||||
|-------|----------|
|
||||
| QUÊ | Skill /qw para recapitulação rápida sesões |
|
||||
| QUEM | claude (staff_id 25) |
|
||||
| QUANDO | 2026-07-02 16:00–16:45 (45 min) |
|
||||
| ONDE | ~/.claude/plugins/.../gestao/skills/qw/ |
|
||||
| POR QUÊ | Complemento /worklog para sesões curtas |
|
||||
| COMO | Criação skill (SKILL.md + README + prompts) |
|
||||
| CUSTO | Est: 30 min → Real: 45 min (+50% desvio) |
|
||||
|
||||
## PDCA
|
||||
|
||||
### PLAN
|
||||
Objectivo: Skill recapitulação rápida de sesões curtas
|
||||
Criteria: <2 min execução, mem0 integrado, docs actualizados
|
||||
Scope: SKILL.md, README, 2 prompts
|
||||
|
||||
### DO
|
||||
• Criado SKILL.md com protocolo (v1.0)
|
||||
• Criado README.md com guia + exemplos
|
||||
• Criado prompts/base.md e examples.md (6 exemplos)
|
||||
• Plugin gestao actualizado (v1.5.0)
|
||||
• Desvio: Tempo +50% (escopo expandiu)
|
||||
|
||||
### CHECK
|
||||
✅ SKILL.md conforme template
|
||||
✅ README com 3 flags
|
||||
✅ Prompts documentados
|
||||
✅ Plugin integrado
|
||||
⚠️ Teste /qw ainda pendente
|
||||
|
||||
### ACT
|
||||
Próximo: Teste manual /qw
|
||||
Validar mem0 entries criadas
|
||||
Considerar symlink OpenCode
|
||||
Documentar tempo real em CHANGELOG
|
||||
|
||||
---
|
||||
|
||||
## MEM0
|
||||
ID: mem0_xyz123
|
||||
Entry: "Skill /qw criada | propósito | recapitulação rápida sesões"
|
||||
Tags: skill, gestao, mem0, recapitulacao
|
||||
Tier: global
|
||||
|
||||
---
|
||||
|
||||
## DOCS UPDATED
|
||||
✅ plugin.json (v1.4.0 → 1.5.0)
|
||||
✅ CHANGELOG.md (entrada [1.5.0])
|
||||
|
||||
---
|
||||
|
||||
⏱️ Report: 2 min 15s | COMPLETO
|
||||
```
|
||||
|
||||
## Integração CARL
|
||||
|
||||
**Domínio:** TASK-COMPLETION-REPORT
|
||||
**Triggers:** "concluído", "finalizado", "pronto", "terminado", "etapa completa"
|
||||
**Auto-disparo:** Sim (sem confirmação necessária)
|
||||
|
||||
## Estrutura 5W2H
|
||||
|
||||
| Campo | Descrição | Exemplo |
|
||||
|-------|-----------|---------|
|
||||
| **QUÊ** | Deliverable/resultado | "Skill /qw criada" |
|
||||
| **QUEM** | Executor (staff_id) | "claude (25)" |
|
||||
| **QUANDO** | Timestamp início-fim | "16:00–16:45 (45 min)" |
|
||||
| **ONDE** | Ficheiro/pasta/sistema | "~/.claude/plugins/.../gestao/" |
|
||||
| **POR QUÊ** | Objectivo/motivação | "Complemento /worklog para sesões curtas" |
|
||||
| **COMO** | Método/processo | "Criação skill com SKILL.md + README + prompts" |
|
||||
| **CUSTO** | Tempo estimado vs real | "Est: 30 min → Real: 45 min (+50%)" |
|
||||
|
||||
## Ciclo PDCA
|
||||
|
||||
1. **PLAN** — Spec original, criteria de sucesso, scope
|
||||
2. **DO** — Passos executados, decisões, desvios documentados
|
||||
3. **CHECK** — Resultado vs criteria, gaps, testes
|
||||
4. **ACT** — Ajustes necessários, próximas acções, melhorias
|
||||
|
||||
## Flags
|
||||
|
||||
### `--quick`
|
||||
Report resumido — apenas 3 campos (QUÊ, COMO, RESULTADO).
|
||||
|
||||
### `--auto`
|
||||
Auto-detecta contexto:
|
||||
- Git: commits e ficheiros alterados
|
||||
- Desk: task_id e tempo loggado
|
||||
- .desk-project: extrai dados de projecto
|
||||
- Timer activo: usa duração real
|
||||
|
||||
## Output
|
||||
|
||||
- **Resumo visual:** Tabela 5W2H
|
||||
- **Análise:** PDCA em markdown
|
||||
- **Docs:** README/CHANGELOG/PROC actualizados
|
||||
- **Memória:** Entry mem0 Wayland v2 criada
|
||||
- **Desk:** Comment em #33 (se .desk-project)
|
||||
|
||||
---
|
||||
|
||||
**Versão:** 1.0 | **Data:** 2026-07-02 | **Autor:** Claude (staff_id 25)
|
||||
@@ -0,0 +1,236 @@
|
||||
---
|
||||
name: report
|
||||
description: Report 5W2H+PDCA ao terminar tarefa/etapa — estrutura formal de conclusão com análise de resultados, documentação e memória. Integrado no domínio TASK-COMPLETION-REPORT do CARL.
|
||||
---
|
||||
|
||||
# /report v1.0 — 5W2H + PDCA Report
|
||||
|
||||
**⚠️ EXECUÇÃO INLINE OBRIGATÓRIA — NUNCA FORK**
|
||||
|
||||
Protocolo formal ao terminar tarefa/etapa. Estrutura: 5W2H (QUÊ/QUEM/QUANDO/ONDE/POR QUÊ/COMO/CUSTO) + PDCA (Plan/Do/Check/Act).
|
||||
|
||||
---
|
||||
|
||||
## Comandos
|
||||
|
||||
| Comando | Função |
|
||||
|---------|--------|
|
||||
| `/report` | Report completo 5W2H+PDCA (interactivo) |
|
||||
| `/report --quick` | Versão resumida (3 campos) |
|
||||
| `/report --auto` | Auto-detectado de contexto (git, ficheiros, etc) |
|
||||
|
||||
---
|
||||
|
||||
## Protocolo Principal (/report)
|
||||
|
||||
```
|
||||
1. RECOLHER 5W2H (interactivo ou auto-detectado):
|
||||
QUÊ → O que foi entregue/resultado (deliverable)
|
||||
QUEM → Executor (staff_id 25 ou outro)
|
||||
QUANDO → Timestamp início/fim
|
||||
ONDE → Ficheiro/pasta/sistema/Desk task
|
||||
POR QUÊ → Objectivo/motivação original
|
||||
COMO → Método/processo aplicado
|
||||
CUSTO → Tempo estimado vs. real (em minutos)
|
||||
|
||||
2. RECOLHER PDCA (estruturado):
|
||||
PLAN → Spec original, success criteria, scope
|
||||
DO → Passos executados, decisões, desvios documentados
|
||||
CHECK → Resultado vs. criteria, gaps detectados, testes
|
||||
ACT → Ajustes necessários, próximas acções, melhorias
|
||||
|
||||
3. DOCUMENTAR:
|
||||
a. Se novo ficheiro/sistema → README secção "Estrutura"
|
||||
b. Se processo → criar PROC-*.md em Hub/06-Operacoes/Procedimentos/
|
||||
c. CHANGELOG.md → linha em ## [Unreleased] com resumo
|
||||
d. Se SEM docs relevantes → omitir
|
||||
|
||||
4. GUARDAR MEM0 (Wayland v2):
|
||||
- subject | predicate | object (máx 80 chars)
|
||||
- tags: mínimo 2 (task, feature, bugfix, etc)
|
||||
- tier: project ou global
|
||||
- Dedup: pesquisar com mcp__mem_search_memories antes (IJFW descontinuado — Mem0 é o store canónico)
|
||||
|
||||
5. GUARDAR EM DESK (se .desk-project detectado):
|
||||
- Discussão #33 (Acções de Melhoria)
|
||||
- Format: <h4>5W2H Report — [tarefa/etapa]</h4><p>...</p>
|
||||
- HTML estruturado com tabela 5W2H + PDCA
|
||||
- staff_id: 25
|
||||
|
||||
6. OUTPUT:
|
||||
- Resumo visual com tabela 5W2H
|
||||
- PDCA análise em markdown
|
||||
- Link memória/Desk se criado
|
||||
- Timestamp execução
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Exemplo: Report Completo
|
||||
|
||||
**Input:**
|
||||
```
|
||||
/report
|
||||
```
|
||||
|
||||
**Processamento (interactivo):**
|
||||
```
|
||||
5W2H REPORT — Qual a tarefa/etapa?
|
||||
> Criar skill /qw
|
||||
|
||||
QUÊ (Deliverable)?
|
||||
> Skill /qw com recapitulação rápida + mem0
|
||||
|
||||
QUEM (executor)?
|
||||
> claude (staff_id 25)
|
||||
|
||||
QUANDO (inicio/fim)?
|
||||
> Auto-detectado: 16:00 - 16:45 (45 min)
|
||||
|
||||
ONDE (ficheiro/sistema)?
|
||||
> ~/.claude/plugins/.../gestao/skills/qw/
|
||||
|
||||
POR QUÊ (objectivo)?
|
||||
> Complemento leve ao /worklog para sesões curtas
|
||||
|
||||
COMO (método)?
|
||||
> Criação skill (SKILL.md + README + prompts)
|
||||
|
||||
CUSTO (estimado vs real)?
|
||||
> Estimado: 30 min, Real: 45 min
|
||||
```
|
||||
|
||||
**Output:**
|
||||
|
||||
```markdown
|
||||
# 5W2H Report — Criar skill /qw
|
||||
|
||||
| Campo | Resposta |
|
||||
|-------|----------|
|
||||
| QUÊ | Skill /qw para recapitulação rápida |
|
||||
| QUEM | claude (staff_id 25) |
|
||||
| QUANDO | 2026-07-02 16:00–16:45 (45 min) |
|
||||
| ONDE | ~/.claude/plugins/.../gestao/skills/qw/ |
|
||||
| POR QUÊ | Complemento /worklog para sesões curtas |
|
||||
| COMO | Criação skill (SKILL.md + README + prompts) |
|
||||
| CUSTO | Est: 30 min → Real: 45 min (+50% desvio) |
|
||||
|
||||
## PDCA
|
||||
|
||||
### PLAN
|
||||
- Objectivo: Skill recapitulação rápida
|
||||
- Criteria: <2 min execução, mem0 integrado, docs actualizados
|
||||
- Scope: SKILL.md, README, 2 prompts
|
||||
|
||||
### DO
|
||||
- Criado SKILL.md com protocolo (v1.0)
|
||||
- Criado README.md com guia + exemplos
|
||||
- Criado prompts/base.md e examples.md (6 exemplos)
|
||||
- Plugin gestao actualizado (v1.5.0)
|
||||
- Desvio: Tempo +50% (escopo expandiu com docs extras)
|
||||
|
||||
### CHECK
|
||||
- ✅ SKILL.md conforme template
|
||||
- ✅ README com 3 flags
|
||||
- ✅ Prompts documentados
|
||||
- ✅ Plugin integrado
|
||||
- ⚠️ Teste /qw ainda pendente (não validado)
|
||||
|
||||
### ACT
|
||||
- Próximo: Teste manual /qw
|
||||
- Validar mem0 entries
|
||||
- Considerar symlink OpenCode
|
||||
- Documentar tempo real em CHANGELOG
|
||||
|
||||
---
|
||||
|
||||
## MEM0
|
||||
|
||||
ID: mem0_xyz123
|
||||
Entry: "Skill /qw criada | propósito | recapitulação rápida sesões"
|
||||
Tags: skill, gestao, mem0, recapitulacao
|
||||
Tier: global
|
||||
|
||||
---
|
||||
|
||||
## DOCS UPDATED
|
||||
|
||||
✅ plugin.json (v1.4.0 → 1.5.0)
|
||||
✅ CHANGELOG.md (entrada [1.5.0])
|
||||
✅ SKILL.md criado
|
||||
✅ README.md criado
|
||||
|
||||
---
|
||||
|
||||
⏱️ Report duração: 2 min 15s | Estado: COMPLETO
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Flags
|
||||
|
||||
### `--quick`
|
||||
Apenas 3 campos obrigatórios:
|
||||
```
|
||||
QUÊ (deliverable)?
|
||||
COMO (método)?
|
||||
RESULTADO (sucesso)?
|
||||
```
|
||||
|
||||
### `--auto`
|
||||
Auto-detecta contexto:
|
||||
- Git: commits, ficheiros alterados
|
||||
- Desk: task_id, tempo loggado
|
||||
- .desk-project: extrai dados
|
||||
- Timestamp: agora vs. timer activo
|
||||
|
||||
---
|
||||
|
||||
## Integração CARL
|
||||
|
||||
Domínio: **TASK-COMPLETION-REPORT**
|
||||
Triggers: "concluído", "finalizado", "pronto", "terminado", "etapa completa"
|
||||
Auto-disparo: Sem confirmação (injecção automática)
|
||||
Output: Desk #33 ou mem0 conforme contexto
|
||||
|
||||
---
|
||||
|
||||
## Estrutura 5W2H Obrigatória
|
||||
|
||||
| Sigla | Campo | Obrigatório | Max |
|
||||
|-------|-------|-------------|-----|
|
||||
| W | QUÊ (What) | Sim | 120 chars |
|
||||
| W | QUEM (Who) | Sim | 50 chars |
|
||||
| W | QUANDO (When) | Sim | timestamp |
|
||||
| W | ONDE (Where) | Sim | path/sistema |
|
||||
| W | POR QUÊ (Why) | Sim | 100 chars |
|
||||
| H | COMO (How) | Sim | 150 chars |
|
||||
| H | CUSTO (How much) | Sim | tempo (min) |
|
||||
|
||||
---
|
||||
|
||||
## PDCA Obrigatória
|
||||
|
||||
| Fase | Campo | Detalhe |
|
||||
|------|-------|---------|
|
||||
| **P** | PLAN | Spec original, criteria, scope |
|
||||
| **D** | DO | Passos, decisões, desvios |
|
||||
| **C** | CHECK | Resultado vs criteria, gaps |
|
||||
| **A** | ACT | Ajustes, próximas acções |
|
||||
|
||||
---
|
||||
|
||||
## Checklist Implementação
|
||||
|
||||
- [x] SKILL.md criada
|
||||
- [ ] Skill registada em plugin.json
|
||||
- [ ] CARL domínio TASK-COMPLETION-REPORT activado
|
||||
- [ ] Teste manual: `/report`
|
||||
- [ ] Teste flag: `--quick`
|
||||
- [ ] Teste flag: `--auto`
|
||||
- [ ] Validar Desk #33 entry
|
||||
- [ ] Validar mem0 entry
|
||||
|
||||
---
|
||||
|
||||
**Versão:** 1.0 | **Data:** 2026-07-02 | **Plugin:** gestao | **Staff:** 25 (Claude)
|
||||
+76
-135
@@ -1,9 +1,9 @@
|
||||
---
|
||||
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.
|
||||
description: "Registo de trabalho e reflexão unificado. Analisa sessão, regista trabalho, identifica padrões, sugere acções, higieniza documentação Hub. /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."
|
||||
---
|
||||
|
||||
# /worklog v4.1 - Registo de Trabalho + Reflexão
|
||||
# /worklog v4.8.0 - Registo de Trabalho + Reflexão + Higienização
|
||||
|
||||
**⚠️ EXECUÇÃO INLINE OBRIGATÓRIA — NUNCA FORK**
|
||||
|
||||
@@ -13,8 +13,6 @@ Quando `/worklog` ou `/reflect` é invocado, o agente principal executa o protoc
|
||||
|
||||
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).
|
||||
|
||||
---
|
||||
@@ -48,34 +46,12 @@ Skill unificada: regista trabalho, analisa sessão, sugere acções, guarda mem
|
||||
```
|
||||
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".
|
||||
3. ANALISAR sessão:
|
||||
- Ficheiros modificados (Edit/Write calls)
|
||||
- MCPs usados
|
||||
- Erros e soluções
|
||||
- Padrões detectados
|
||||
- Eficiência (tool calls vs resultado)
|
||||
3b. VERIFICAR alinhamento com spec (se aplicavel):
|
||||
- Detectar ficheiros modificados na sessao
|
||||
- Procurar SPEC.md no directorio pai (ate 3 niveis)
|
||||
@@ -83,9 +59,7 @@ Skill unificada: regista trabalho, analisa sessão, sugere acções, guarda mem
|
||||
- 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
|
||||
- Se sessão vazia/sem dados → NÃO gerar
|
||||
5. Gerar comentário HTML (ver formato abaixo)
|
||||
6. mcp__desk-crm-v3__add_discussion_comment({
|
||||
discussion_id: 31,
|
||||
@@ -98,10 +72,15 @@ Skill unificada: regista trabalho, analisa sessão, sugere acções, guarda mem
|
||||
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 → save_memory Supabase COM TAGS (ver criterios abaixo)
|
||||
7b. SUGESTÕES DE MELHORIA — avaliação autónoma (NÃO chamar nada):
|
||||
As sugestões ficam registadas no passo 7 (Discussão #33). O Improvement Evaluator v2 (cronjob Hermes
|
||||
no desktop, job d398b5e2c3be) lê os registos do worklog/#33 autonomamente e leva-os para a sua BD;
|
||||
corre diariamente e gera ticket "Sugestões de Melhoria — Semana X" às segundas.
|
||||
O /worklog NÃO dispara nem chama o evaluator — apenas regista.
|
||||
(v1 HTTP :8095 http-trigger.py descontinuada/arquivada em 99-Arquivo/improvement-evaluator-v1-legado/.
|
||||
Servidor "dev"/CT 102 abatido em 20-04-2026 — Regra #48; qualquer chamada ssh_execute(server:"dev")
|
||||
falha sempre, não usar.)
|
||||
8. SE insight valioso → save_memory Supabase
|
||||
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 git (`git rev-parse --git-dir`)
|
||||
@@ -114,8 +93,24 @@ Skill unificada: regista trabalho, analisa sessão, sugere acções, guarda mem
|
||||
- `git commit -m "worklog: [tarefa #ID] descrição da sessão"`
|
||||
- `git push origin <branch>`
|
||||
- Registar resultado no output final
|
||||
e. Se sem alterações: omitir silenciosamente
|
||||
9. Confirmar
|
||||
e. Se sem alterações: omitir (não mencionar)
|
||||
9. HIGIENIZAÇÃO (obrigatório SE algum .md dentro do Hub foi criado/editado nesta sessão — PROC-Higienizacao-Documental.md, XDP-HIG-001):
|
||||
a. CRIAR OKF: para cada .md novo que representa sistema/aplicação/processo real (não nota solta,
|
||||
não template) — verificar se já existe ficha de entidade. Se não existe: criar 5W2H-PDCA agora,
|
||||
não adiar. `bash 04-Stack/scripts/okf-detect-new.sh --hub --json /tmp/wl-detect.json` para listar
|
||||
candidatos; `bash 04-Stack/scripts/okf-suggest-entity.sh <path>` para gerar proposta por ficheiro.
|
||||
b. ACTUALIZAR REFERÊNCIAS: se alguma métrica/nome/link mudou nesta sessão, grep pelo valor antigo
|
||||
nos documentos "vivos" (mapas de ecossistema, STK-Estado-Actual, fichas OKF relacionadas) e
|
||||
propagar a correcção. Documentos históricos datados (changelogs antigos, snapshots rotulados
|
||||
"auditado em DD-MM") NÃO se reescrevem.
|
||||
c. ELIMINAR FICHEIROS DESNECESSÁRIOS: procurar `.bak`/`.tmp`/rascunhos/relatórios
|
||||
`VALIDACAO-FASE-F-*.md` avulsos criados nesta sessão e remover antes do fecho.
|
||||
d. ORGANIZAR E INDEXAR: directório novo criado nesta sessão tem `index.md`? Está referenciado no
|
||||
MOC/índice do directório pai? Se não, corrigir agora.
|
||||
e. Se algum dos 4 tópicos foi genuinamente ignorado (ex: nenhum .md tocado), omitir silenciosamente
|
||||
esta secção do output. Se foi aplicável e ficou por fazer, reportar como bloqueio explícito —
|
||||
nunca como "nota para depois".
|
||||
10. Confirmar
|
||||
```
|
||||
|
||||
**Output:**
|
||||
@@ -129,6 +124,7 @@ Discussão: #31 (Logs)
|
||||
Acções: 2 sugeridas (#33)
|
||||
Memória: Guardada / N/A
|
||||
Git: commit abc1234 → push OK
|
||||
Higienização: N/A (sem alterações no Hub) | OK (4/4 tópicos) | 2 pendências reportadas como bloqueio
|
||||
```
|
||||
|
||||
---
|
||||
@@ -234,6 +230,18 @@ Chamado automaticamente pelo `/today` às segundas-feiras. Publica em **#32**.
|
||||
2. Agregar padrões e métricas
|
||||
3. Gerar resumo semanal
|
||||
4. Identificar melhorias prioritárias
|
||||
5. FAXINA DE REPO (semanal — âmbito repo inteiro, complementa o Passo 9 diário que só vê a sessão):
|
||||
a. LIXO → QUARENTENA (nunca rm directo — eliminação é T3):
|
||||
- detectar por padrão mecânico: *.bak, *.tmp, *~, .xdp-*, VALIDACAO-FASE-F-*.md com >7 dias,
|
||||
duplicados exactos por checksum (md5sum)
|
||||
- mover para 99-Arquivo/quarentena/YYYY-WW/ preservando path relativo
|
||||
- listar no relatório semanal (#32) para aprovação do Emanuel
|
||||
- purga: só de quarentenas com >30 dias E semana aprovada — nunca na mesma semana
|
||||
b. ÍNDICES vs REALIDADE: contagens/listas declaradas em index.md e MOCs vs `find` real
|
||||
(check V-INDICE/N4 do APROFUNDAMENTO 01) — divergência → corrigir o índice, reportar no resumo
|
||||
c. OKF SEMANAL: `bash 04-Stack/scripts/okf-detect-new.sh --hub` sobre a semana inteira
|
||||
(apanha o que os Passos 9a diários deixaram escapar)
|
||||
d. Output ganha secção "Faxina": N em quarentena / M índices corrigidos / K fichas OKF criadas
|
||||
```
|
||||
|
||||
**Formato:**
|
||||
@@ -279,48 +287,16 @@ Quando `/time stop` é executado:
|
||||
|
||||
---
|
||||
|
||||
## Auto-Save Memória (Passo 8)
|
||||
## Auto-Save Memória
|
||||
|
||||
**Destino:** `mcp__memory-supabase__save_memory` — para conhecimento pesquisavel semanticamente.
|
||||
**NAO usar para:** regras estaveis de sessao (→ CC memory ficheiro .md) ou factos rapidos (→ QR-*.md).
|
||||
|
||||
### Criterios: guardar ou nao
|
||||
|
||||
| Tipo | Exemplo | Guardar? | Tag tipo |
|
||||
|------|---------|----------|----------|
|
||||
| Solucao tecnica nova | Fix para erro MCP | Sim | `solucao-tecnica` |
|
||||
| Configuracao sistema | Novo MCP configurado | Sim | `configuracao` |
|
||||
| Workaround descoberto | Bypass para bug | Sim | `workaround` |
|
||||
| Padrao novo | "X funciona melhor que Y" | Sim | `padrao` |
|
||||
| Decisao arquitectural | Escolha de abordagem | Sim | `decisao` |
|
||||
| Incidente resolvido | Crash + root cause | Sim | `incidente` |
|
||||
| Pipeline criado/alterado | Novo workflow n8n | Sim | `pipeline` |
|
||||
| Licao aprendida | Abordagem A falhou, B funcionou | Sim | `lesson-learned` |
|
||||
| Trabalho rotineiro | Updates, limpeza | Nao | — |
|
||||
| Feedback do user | "nao faz X" | Nao (→ CC memory) | — |
|
||||
| ID/path/comando novo | Nova porta, novo ID | Nao (→ QR-*.md) | — |
|
||||
|
||||
### Taxonomia de tags obrigatoria
|
||||
|
||||
```
|
||||
tags: [tipo, dominio, projecto?, data-yyyy-mm]
|
||||
```
|
||||
|
||||
**tipo** (obrigatorio): `solucao-tecnica` | `decisao` | `padrao` | `incidente` | `configuracao` | `pipeline` | `lesson-learned` | `workaround`
|
||||
|
||||
**dominio** (obrigatorio): `infra` | `wordpress` | `crm` | `paperclip` | `inteligencia` | `seo` | `dev` | `hub` | `mcp` | `podcast` | `marketing`
|
||||
|
||||
**projecto** (opcional): `fluxo-seo` | `pleno` | `whatsms` | `inteligencia` | `rag-system` | etc
|
||||
|
||||
**data** (obrigatorio): formato `yyyy-mm` (ex: `2026-04`)
|
||||
|
||||
**Exemplo:**
|
||||
```javascript
|
||||
mcp__memory-supabase__save_memory({
|
||||
content: "Fix MCP memory-supabase: stats retornava 100 em vez de 11.936. Causa: chamava getAllMemories (cap 100) em vez de getMemoryStatistics(). Solução: chamar RPC directamente.",
|
||||
tags: ["solucao-tecnica", "mcp", "rag-system", "2026-04"]
|
||||
})
|
||||
```
|
||||
| Tipo | Exemplo | Guardar? |
|
||||
|------|---------|----------|
|
||||
| Solução técnica nova | Fix para erro MCP | Sim |
|
||||
| Configuração sistema | Novo MCP configurado | Sim |
|
||||
| Workaround descoberto | Bypass para bug | Sim |
|
||||
| Padrão novo | "X funciona melhor que Y" | Sim |
|
||||
| Decisão arquitectural | Escolha de abordagem | Sim |
|
||||
| Trabalho rotineiro | Updates, limpeza | Não |
|
||||
|
||||
---
|
||||
|
||||
@@ -374,41 +350,36 @@ Perguntas ao analisar sessão:
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- **NUNCA** criar worklog sem dados de sessão NEM de contexto externo
|
||||
- **NUNCA** declarar "sessão vazia" sem verificar git diff, logs e ficheiros recentes
|
||||
- **NUNCA** criar worklog sem dados de sessão
|
||||
- **NUNCA** usar Markdown em comentários (usar HTML)
|
||||
- **NUNCA** guardar memória para trabalho rotineiro
|
||||
- **NUNCA** duplicar reflexão e worklog (são o mesmo)
|
||||
- **NUNCA** ignorar worklogs manuais em 00-Inbox — se existem, usá-los como fonte
|
||||
- **NUNCA** fazer fork (Skill tool/Agent tool) para executar /worklog — perde o contexto conversacional que é a fonte primária. Anti-padrão verificado 2026-04-23.
|
||||
- **NUNCA** omitir o Passo 9 (Higienização) quando a sessão tocou ficheiros do Hub — nem reportar "arrumado" sem correr os 4 tópicos.
|
||||
- **NUNCA** chamar `ssh_execute(server: "dev")` ou qualquer referência ao servidor `dev`/CT 102 — abatido em 20-04-2026 (Regra #48), o alias já não existe em `~/.ssh/config`.
|
||||
- **NUNCA** `rm` directo na faxina semanal — eliminação é T3 (irreversível): quarentena → aprovação → purga 30d. Um falso positivo com rm destrói trabalho; com quarentena custa um `mv`.
|
||||
|
||||
---
|
||||
|
||||
## Changelog
|
||||
|
||||
### v4.6.0 (2026-04-20)
|
||||
- Fix critico cross-session: /worklog invocado como slash command abre sessão nova — agora escolhe o activity.log MAIOR das últimas 2h em vez de session_id actual
|
||||
- Passo 3C expandido: find em Hub/mcp-servers/systemd/plugins/.claude-work (3h) + check comentários Desk do dia
|
||||
- Anti-pattern reforçado: activity.log <5KB = sessão wrapper, não real — ignorar
|
||||
### v4.8.0 (2026-07-03)
|
||||
- `/reflect week` ganha passo 5 (Faxina de Repo): quarentena de lixo por padrão mecânico (*.bak, *.tmp, *~, .xdp-*, VALIDACAO-* >7d, duplicados por checksum) em `99-Arquivo/quarentena/YYYY-WW/` com aprovação humana e purga a 30d; revisão índices vs disco (check V-INDICE/N4); okf-detect-new semanal. Complementa o Passo 9 diário (âmbito sessão) com âmbito repo. Racional: eliminação é T3 na matriz de tiers (SPEC Pipeline QT); diário=delta, semanal=estado.
|
||||
|
||||
### v4.5.0 (2026-04-13)
|
||||
- Passo 8 expandido: criterios claros para guardar em Supabase vs CC memory vs QR
|
||||
- Taxonomia de tags obrigatoria: [tipo, dominio, projecto?, data-yyyy-mm]
|
||||
- 8 tipos de tag, 11 dominios, exemplo concreto de save_memory
|
||||
### v4.7.1 (2026-07-02)
|
||||
- **Bug corrigido:** passo 7b chamava `mcp__ssh-unified__ssh_execute({ server: "dev", ... })` para disparar o improvement-evaluator — servidor `dev`/CT 102 foi abatido em 20-04-2026 (Regra #48), chamada falhava sempre (dead code). Substituído por texto informativo: o evaluator é 100% autónomo (cronjob Hermes no desktop), `/worklog` nunca dispara nada.
|
||||
- Sincronizado conteúdo entre skill instalada (1.3.0), skill em cache (1.4.0) e fonte marketplace (que estava truncada a 107 linhas) — as três eram divergentes.
|
||||
|
||||
### v4.4.0 (2026-04-13)
|
||||
- Git checkpoint integrado como passo 8b: detecta .desk-project + git, gera entrada CHANGELOG rica a partir do "Trabalho Realizado", commit + push automático no fim de cada worklog
|
||||
### v4.7.0 (2026-07-02)
|
||||
- Passo 9 (Higienização) novo: obrigatório sempre que a sessão tocou .md do Hub — 4 tópicos (criar OKF, actualizar referências, eliminar ficheiros desnecessários, organizar e indexar). Ver PROC-Higienizacao-Documental.md, XDP-HIG-001, regra CARL GLOBAL#19.
|
||||
- Frontmatter corrigido: removido `context: fork` (bug — contradizia a regra "nunca fork" já documentada; causava perda de contexto conversacional em produção). Aviso inline reforçado no topo do ficheiro.
|
||||
- Output final ganha linha "Higienização: ..."
|
||||
|
||||
### v4.3.0 (2026-04-12)
|
||||
- Fix critico: sessão vazia não aborta sem verificar contexto externo
|
||||
- Passo 3B: recolha obrigatoria de git diff, logs, ficheiros recentes e worklogs manuais
|
||||
- Regra: se conversa vazia mas contexto externo tem dados, usar contexto externo
|
||||
- Anti-pattern actualizado: nunca declarar "sessão vazia" sem verificar fontes externas
|
||||
|
||||
### v4.2.1 (2026-04-20)
|
||||
- Trigger improvement-evaluator migrado de SSH dev→curl localhost (CT 102 abatido, serviço no desktop via systemd)
|
||||
### v4.3.0 (2026-04-13)
|
||||
- Git checkpoint integrado como passo 8b: detecta .desk-project + git, gera entrada CHANGELOG rica, commit + push automático no fim de cada worklog
|
||||
|
||||
### v4.2.0 (2026-03-12)
|
||||
- Integração improvement-evaluator: passo 7b trigger automático ao dev (POST :8095/trigger)
|
||||
- Integração improvement-evaluator: passo 7b trigger automático ao dev (POST :8095/trigger) — **descontinuado na v4.7.1** (ver acima)
|
||||
- Acções publicadas em #33 são avaliadas imediatamente pelo agente cron no dev
|
||||
|
||||
### v4.0.0 (2026-02-06)
|
||||
@@ -425,36 +396,6 @@ Perguntas ao analisar sessão:
|
||||
- Auto-trigger ao parar timer
|
||||
- Formato HTML alinhado com Regra #27
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Self-Healing
|
||||
|
||||
Antes de executar, ler `~/.claude-work/healing/worklog.jsonl` (se existir). Cada linha é um padrão de erro conhecido:
|
||||
|
||||
```json
|
||||
{"date":"YYYY-MM-DD","issue":"descrição do problema","fix":"como evitar","source":"user|auto"}
|
||||
```
|
||||
|
||||
Se encontrares um padrão relevante ao contexto actual, aplica o fix preventivamente. Após cada erro ou correcção do utilizador nesta skill, **adicionar nova linha** ao healing log com o padrão aprendido.
|
||||
|
||||
---
|
||||
|
||||
*Skill v4.3.0 | 2026-04-12 | Descomplicar(R)*
|
||||
|
||||
---
|
||||
|
||||
## Healing Log
|
||||
|
||||
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
|
||||
|
||||
```jsonl
|
||||
{"date":"2026-04-12","issue":"Sessão declarada vazia quando havia trabalho real (15 episódios podcast produzidos). Skill abortou sem verificar fontes externas.","fix":"Sempre executar passo 3B (git diff, logs, ficheiros recentes, worklogs manuais) antes de declarar sessão vazia. Se contexto externo tem dados, usar como fonte principal.","source":"user"}
|
||||
```
|
||||
|
||||
*Adicionar nova linha após cada erro corrigido.*
|
||||
|
||||
---
|
||||
|
||||
*Skill v4.5.0 | 2026-04-13 | Descomplicar®*
|
||||
*Skill v4.8.0 | 2026-07-03 | Descomplicar®*
|
||||
|
||||
Reference in New Issue
Block a user