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
|
||||
Reference in New Issue
Block a user