fix(project-manager): remover Dify KB das descriptions, marcar nota TODO

Dify foi removido 06-03-2026. Skills brainstorm/discover ainda referenciam-no
no corpo. Bump v1.2 + nota top-of-file. Reescrita workflow para próxima sessão.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-07 04:52:03 +01:00
parent 6285be6c2e
commit faef9b47dc
185 changed files with 9238 additions and 589 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "gestao",
"description": "Project management, time tracking, daily checkups, worklogs, reflections, knowledge management, archiving and compliance auditing. Backed by NotebookLM notebooks.",
"version": "1.3.0",
"version": "1.4.0",
"author": {
"name": "Descomplicar - Crescimento Digital",
"url": "https://descomplicar.pt"
+30
View File
@@ -0,0 +1,30 @@
# Changelog — Plugin gestao
Todas as alterações relevantes a este plugin. Segue [Semantic Versioning](https://semver.org/).
---
## [1.4.0] — 2026-04-07
### Adicionado
- **Nova skill `/clip-instructions`** — gerir AGENTS.md de agentes Paperclip por nome: ver, editar, criar, rever histórico de versões e rollback via API config revisions
### Corrigido
- **`/clip-health`** — check 1 reescrito: `systemctl` substituído por `ps aux` (Paperclip não usa systemd); check 6 reescrito: `npx paperclipai doctor` substituído por `curl http://localhost:3100/health`; adicionado check de memória partilhada POSIX (`/dev/shm/PostgreSQL.*`) — causa raiz do bug pós-reboot; score actualizado 21→22; 2 entradas no Healing Log
- **`/clip-agent`** — curl de atribuição de skills corrigido: adicionado `-H "Authorization: Bearer $PAPERCLIP_API_KEY"` (sem header dava 401); documentadas notas sobre agentes analyst (`process` adapter, `claude-sonnet-4-6`, heartbeat desactivado); checklist "Criar agente novo" actualizada com `instructionsBundleMode: "external"`, `instructionsRootPath`, `instructionsEntryFile`; 3 entradas no Healing Log
- **`/clip-issue`** — `author_user_id` corrigido: `'board'``'v1N5OccPn9DGq6iog7qW9nEvnXYFT3iO'` (ID real de Emanuel); adicionado modo checkout/release com endpoints API e fallback SQL; entrada no Healing Log
- **`/clip-skill`** — modelo mental corrigido: "ephemeral/symlinks" → "injecção de contexto em runtime a cada heartbeat"; adicionado `-H "Authorization: Bearer $PAPERCLIP_API_KEY"` aos dois curls de API (`/skills/import` e `/skills/sync`); nota sobre adapter `process` para agentes analyst; entrada no Healing Log
### Notas técnicas
- Todas as correcções baseadas em aprendizagens dos vídeos Paperclip (sessão 07-04-2026)
- Chave de autenticação Paperclip: `Authorization: Bearer $PAPERCLIP_API_KEY` obrigatória em todos os endpoints da API local
- Agentes criados via SQL directamente (fora do fluxo OpenClaw) **não** recebem `company_memberships` automaticamente — inserção manual obrigatória
---
## [1.3.0] — anterior
- Versão base (sem changelog registado)
+1 -1
View File
@@ -4,7 +4,7 @@ description: Auto-reflexão e melhoria contínua do sistema. Analisa sessões, i
padrões, sugere optimizações. Auto-trigger >20 tool calls.
role: Auto-reflexão e melhoria contínua do sistema
domain: Dev
model: sonnet
model: haiku
tools: Read, Write, Edit, Glob, ToolSearch
# Dependencies
+12
View File
@@ -132,3 +132,15 @@ exit $EXIT_CODE
---
*Skill v1.0.0 | 04-03-2026 | Descomplicar®*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+12
View File
@@ -221,3 +221,15 @@ Output: [resultado esperado]
Input: [caso complexo]
Output: [resultado detalhado]
```
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+12
View File
@@ -175,3 +175,15 @@ mcp__google_workspace__create_event({
- **Workflows detalhados:** `references/workflows-detalhados.md`
- **MCP tools e constantes:** `references/mcp-tools-referencia.md`
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+12 -1
View File
@@ -1,7 +1,6 @@
---
name: cleanup-downloads
description: Limpeza e triagem da pasta Transferências (Downloads). Verifica cada ficheiro individualmente, apaga descartáveis, classifica o restante por categoria. Usar quando "transferências", "downloads", "limpar downloads", "cleanup", "limpeza pasta".
disable-model-invocation: true
---
# Cleanup Downloads
@@ -105,3 +104,15 @@ Após mover documentos financeiros (regra 3), lançar despesas via `/expense`:
## Integração /today
Incluir contagem de ficheiros na pasta quando >10 ficheiros.
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+1 -1
View File
@@ -168,7 +168,7 @@ echo "Tunnel: $TUNNEL_PORT | Servidor: $ACTUAL_PORT"
### Check 11: Agentes sem permissoes bash
Invocar tool MCP: `mcp__paperclip__diag_agents_missing_permissions`
Invocar tool MCP: `mcp__paperclip__diag_agents_without_skip_permissions`
- 0 = OK
- 1+ = CRITICO (agentes vao ficar bloqueados ao executar bash — corrigir com `/clip-agent`)
+12
View File
@@ -122,3 +122,15 @@ Gerar alertas se:
---
*Skill v1.0.0 | 04-03-2026 | Descomplicar®*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+137
View File
@@ -0,0 +1,137 @@
---
name: deep-research
description: >
Pesquisa profunda em 3 layers: Hub Obsidian (Layer 1) + NotebookLM análise (Layer 2) +
Web/LightRAG externo (Layer 3). Para questões complexas que requerem síntese de múltiplas fontes.
Upgrade do /research com NotebookLM integrado e RAG trinity completo.
Usar quando: análise competitiva profunda, pesquisa mercado, due diligence, relatório estratégico.
---
# /deep-research — Pesquisa Profunda com RAG Trinity
Pesquisa em 3 camadas com síntese final. Mais profundo que `/research`, mais estruturado que `/hub-search`.
---
## Quando Usar
| Situação | Skill Correcta |
|---------|----------------|
| "Onde está X no Hub?" | `/hub-search` |
| "Analisa este documento" | `/research` |
| "Pesquisa profunda + síntese de múltiplas fontes" | `/deep-research` ← este |
| "Análise competitiva completa" | `/deep-research` + `/research competitive` |
---
## Protocolo (3 Layers)
### Layer 1 — Hub Obsidian (conhecimento interno)
```bash
# 1a. Busca full-text no Hub
obsidian search query="<TERMO>" format=json limit=10
# 1b. Se Obsidian não responde (offline), fallback via Grep
grep -r "<TERMO>" /media/ealmeida/Dados/Hub/ --include="*.md" -l | head -20
# 1c. Verificar LightRAG para contexto interno
mcp__lightrag__lightrag_query({
query: "<TERMO>",
mode: "hybrid"
})
```
**Critério de suficiência Layer 1:** Encontrou 3+ documentos relevantes com contexto concreto.
- SE suficiente para questão simples → responder + registar fonte
- SE questão requer análise profunda → continuar para Layer 2
### Layer 2 — NotebookLM (análise profunda)
Seleccionar notebook relevante com base no domínio:
| Domínio | Notebook ID |
|---------|-------------|
| Estratégia e Empreendedorismo | 79d43410-0e29-4be1-881d-84db6bdc239a |
| Stack Tecnológico | [consultar mcp__notebooklm__ lista] |
| Marketing e Vendas | [consultar mcp__notebooklm__ lista] |
```javascript
// Consultar notebook relevante
mcp__notebooklm__notebook_query({
notebook_id: "<ID>",
query: "<QUESTÃO ESPECÍFICA — mais precisa que a geral>"
})
```
**Critério de suficiência Layer 2:** NotebookLM retornou análise com citações específicas.
- SE suficiente → sintetizar com Layer 1 + responder
- SE requer dados externos → continuar para Layer 3
### Layer 3 — Web + LightRAG (conhecimento externo)
```javascript
// 3a. LightRAG para KB externa (PDFs, transcripts)
mcp__lightrag__lightrag_query({
query: "<QUESTÃO>",
mode: "global" // para análise de padrões amplos
})
// 3b. Web search para dados actuais
mcp__web-search__search({
query: "<QUESTÃO> site:scholar.google.com OR filetype:pdf",
num_results: 10
})
```
---
## Síntese Final
Após recolher de 2+ layers, sintetizar:
```markdown
## Síntese — [Tópico]
**Fontes consultadas:** Layer 1 (Hub), Layer 2 (NotebookLM [Notebook X]), Layer 3 (Web/LightRAG)
### O que sabemos (interno)
[Resumo Layer 1 — conhecimento já documentado]
### Análise profunda
[Resumo Layer 2 — análise NotebookLM com citações]
### Contexto externo
[Resumo Layer 3 — se consultado]
### Síntese e Recomendação
[Cruzamento das layers — resposta directa à questão]
### Próximos Passos
- [ ] Acção 1 derivada da pesquisa
- [ ] Acção 2
```
---
## Self-Improving Loop
Após cada execução, registar preferências para melhorar futuras pesquisas:
```bash
# Guardar aprendizagem em Hub
echo "$(date '+%Y-%m-%d') — deep-research — [TÓPICO] — [O QUE FUNCIONOU/NÃO FUNCIONOU]" \
>> /media/ealmeida/Dados/Hub/00-Inbox/research-preferences.md
```
---
## Healing Log
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
---
*Skill /deep-research v1.0 | 06-04-2026 | Eixo 7B — RAG Trinity + NotebookLM integrado*
+12
View File
@@ -339,3 +339,15 @@ Output: [resultado esperado]
Input: [caso complexo]
Output: [resultado detalhado]
```
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+12
View File
@@ -440,3 +440,15 @@ Após concluir o documento:
---
**Versão**: 1.0.0 | **Data**: 2026-03-06 | **Autor**: Descomplicar®
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+138
View File
@@ -0,0 +1,138 @@
---
name: hub-search
description: >
Pesquisa no vault Hub Obsidian com relevance scoring e backlinks.
Layer 1 da arquitectura RAG trinity (CLI → NotebookLM → LightRAG).
Usar quando: (1) pesquisar conteúdo no Hub por termo ou conceito,
(2) encontrar notas relacionadas via backlinks, (3) localizar PROCs/QR/docs
antes de executar tarefas, (4) verificar se existe documentação antes de criar.
---
# /hub-search — Pesquisa no Hub (Layer 1 RAG)
Pesquisa rápida no vault Hub via Obsidian CLI. Requer Obsidian aberto.
Fallback automático para Grep se Obsidian não estiver a correr.
---
## Uso
```
/hub-search "termo"
/hub-search "LightRAG configuração" --backlinks
/hub-search "PROC-MCP" --files
```
---
## Workflow
### Passo 1 — Tentar via Obsidian CLI
```bash
# Pesquisa básica
obsidian search query="TERMO" format=json
# Com backlinks (recomendado para conceitos)
obsidian search query="TERMO" format=json
obsidian backlinks file="NOTA"
# Limitar resultados
obsidian search query="TERMO" limit=10 format=json
```
**Indicador de sucesso:** saída JSON com `results` array.
**Indicador de falha:** mensagem `unable to find Obsidian` → ir para fallback.
### Passo 2 — Fallback: Grep no Hub
Se CLI falhar (Obsidian fechado):
```
Grep "TERMO" /media/ealmeida/Dados/Hub/ --type md
```
Adicionar contexto ao utilizador: "Obsidian não está a correr — usando busca directa nos ficheiros."
### Passo 3 — Apresentar resultados
**Formato de output:**
```markdown
## Resultados: "[termo]"
**Fonte:** Obsidian CLI v1.12.7 | **Backlinks:** Sim/Não
### Encontrado em N notas
| Nota | Path | Relevância |
|------|------|-----------|
| [título] | `path/relativo.md` | Alta/Média/Baixa |
### Notas com backlinks para este termo
- `nota-a.md` → referencia `nota-b.md`
### Relacionados sugeridos
- [links relevantes encontrados nos resultados]
```
---
## Regras
1. **Sempre tentar CLI primeiro** — é mais preciso (scoring semântico)
2. **--include-backlinks por defeito** quando o termo é um conceito (não um comando)
3. **Fallback silencioso** — não perguntar, só mencionar que usou Grep
4. **Max 10 resultados** — se mais, mostrar top 10 por relevância
5. **Paths relativos** na apresentação (ex: `04-Stack/02.03-IA/` não path absoluto)
---
## Integração com RAG Trinity
```
/hub-search "termo" → Layer 1: Obsidian CLI (este skill)
/knowledge "termo" → Layer 2: NotebookLM (58 notebooks)
mcp__lightrag__lightrag_query → Layer 3: LightRAG (conteúdo externo)
```
**Quando escalar para Layer 2 ou 3:**
- Resultado CLI score < 50% ou 0 resultados → sugerir `/knowledge`
- Conteúdo externo (PDFs, transcripts) → sugerir LightRAG diretamente
---
## Referência CLI
```bash
# Sintaxe correcta: parâmetros com = (não flags com --)
obsidian search query="TERMO" format=json
obsidian search query="TERMO" limit=10 format=json
obsidian backlinks file="NOTA"
obsidian tags sort=count counts
obsidian tasks daily todo
obsidian version
obsidian help # lista todos os comandos disponíveis
```
**Nota:** A skill oficial kepano (`obsidian-cli`) tem referência completa de todos os comandos.
**Requer:** Obsidian aberto + CLI activado em Settings → General → Advanced
**Wrapper:** `~/.local/bin/obsidian` (define XDG_RUNTIME_DIR Flatpak)
**Docs:** `04-Stack/02.03-IA/Obsidian-CLI.md`
---
*Skill v1.0.0 | 06-04-2026 | Descomplicar®*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+12
View File
@@ -234,3 +234,15 @@ Quando invocado directamente (sem /today):
---
*Skill v1.0.0 | 04-03-2026 | Descomplicar®*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+12
View File
@@ -391,3 +391,15 @@ Checklist automática:
---
*Skill v1.0.0 | 2026-02-13 | Plugin gestao | Descomplicar®*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+12
View File
@@ -288,3 +288,15 @@ if (resultado.score < 50 || !resultado.encontrado) {
- `references/routing-guide.md` - Mapeamento detalhado com codigo de routing
- Inventario completo: `~/.claude/projects/-media-ealmeida-Dados-Hub/memory/notebooklm-inventory.md`
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+12
View File
@@ -150,3 +150,15 @@ Ou abrir a app e usar File > Open para navegar ate ao ficheiro.
- **Texto curto:** 2-5 palavras por node (mindmap, nao documento)
- **Template adequado:** Fish-bone para causa/efeito, structure para hierarquias, right para processos
- **Nome descritivo:** Usar nome do topico no ficheiro (nao "mindmap1.km")
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+12
View File
@@ -392,3 +392,15 @@ Auth guardada em: `~/.notebooklm-mcp-cli/profiles/<name>/auth.json`
---
**Versão**: 1.0.0 | **Data**: 24-02-2026 | **Autor**: Descomplicar®
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+116
View File
@@ -0,0 +1,116 @@
---
name: office-hours
description: >
Persona YC que reframe problemas antes de escrever código. Desafia pressupostos,
faz as perguntas difíceis que um investidor faria. Usar ANTES de qualquer implementação
significativa. Baseado no gstack /office-hours. Eixo 2B.
---
# /office-hours — Consulta YC antes de Codar
Persona: sócio de uma YC top-tier que passou 20 anos a ver startups falharem por resolver o problema errado.
Objetivo: garantir que o que vais construir é o que deve ser construído.
---
## Quando Usar (OBRIGATÓRIO)
- Antes de implementar uma feature nova
- Antes de refactoring significativo
- Quando a solução parece óbvia demais
- Quando o problema está mal definido
- Quando o utilizador pediu X mas pode precisar de Y
**Anti-pattern:** Saltar para o código sem office-hours = construir a coisa certa de forma errada, ou a coisa errada certo.
---
## Protocolo
### Passo 1 — Escutar sem julgar
"O que estás a tentar resolver? Conta-me como se eu não soubesse nada do teu negócio."
Deixar o utilizador descrever o problema completamente. Não interromper. Tomar notas mentais dos seguintes sinais:
- Soluções disfarçadas de problemas ("preciso de um botão que...")
- Pressupostos não verificados ("os utilizadores querem...")
- Scope excessivo ("e depois também...")
- Urgência artificial ("precisa de estar pronto até...")
### Passo 2 — As 5 Perguntas
```
1. "Por que é que este problema existe agora? O que mudou?"
→ Detecta se é problema real ou hipotético
2. "Quem perde o emprego se este problema não for resolvido?"
→ Identifica o owner real e urgência verdadeira
3. "O que acontece se não fizermos nada?"
→ Valida se é crítico ou nice-to-have
4. "Já tentaste resolver isto de forma mais simples? O que aconteceu?"
→ Evita over-engineering, descobre tentativas anteriores
5. "Se tivesses de demonstrar que isto funciona em 24h, o que farias?"
→ Força a pensar em MVP mínimo viável
```
### Passo 3 — Reframe (se necessário)
SE o problema apresentado é uma solução disfarçada:
```
"Percebo que queres [solução X]. Mas o problema que describes é [problema Y].
Podemos resolver [Y] de forma mais simples: [alternativa Z].
Queres explorar Z antes de construir X?"
```
### Passo 4 — Aprovação ou Alternativa
```
APROVADO se:
- Problema claramente definido
- Solução proposta é a mais simples
- ROI claro (tempo poupado, receita gerada, risco eliminado)
- Utilizador entende o trade-off
ALTERNATIVA se:
- Há solução mais simples não considerada
- O problema não está suficientemente validado
- Scope excessivo para o valor gerado
```
### Passo 5 — Output
```markdown
## Office Hours — [Data]
**Problema original:** [o que o utilizador apresentou]
**Problema real:** [reframe se necessário]
**Decisão:** AVANÇAR | REFRAMED | ADIAR
**Justificação:** [1-2 frases]
**Próximo passo:** [acção concreta]
```
---
## Exemplos de Reframe
| Pedido original | Reframe YC |
|----------------|-----------|
| "Preciso de um dashboard de métricas" | "O que decides diferente com o dashboard? Se nada, não precisas dele." |
| "Quero migrar para microserviços" | "Qual é o problema do monolito actual? Quantos utilizadores tens?" |
| "Refactoring completo do código" | "O que não consegues fazer agora por causa do código? Isso é o problema." |
| "Automatizar este processo" | "Quanto tempo demora? Quantas vezes por semana? Vale a automação?" |
---
## Healing Log
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
---
*Skill /office-hours v1.0 | 06-04-2026 | Eixo 2B — gstack pattern*
+111
View File
@@ -0,0 +1,111 @@
---
name: onboarding
category: gestao
description: "Checklist e automacao de onboarding de novo colaborador. Criacao de contas, documentacao, equipamento. Usar quando 'onboarding', 'novo colaborador', 'contratar', 'integrar pessoa', 'RH novo'."
version: "1.0.0"
created: 2026-04-07
tools: [mcp__desk-crm-v3__create_task, mcp__desk-crm-v3__add_task_checklist_item, mcp__google-workspace__gmail_send_email]
---
# Skill: /onboarding
Checklist e automacao de onboarding de novo colaborador. Baseado em PROC-Onboarding.md (RH-001).
---
## Referencia
Procedimento completo em: `Hub/06-Operacoes/Procedimentos/D4-RH/PROC-Onboarding.md`
Esta skill executa os passos — o PROC define as regras.
---
## Processo
### 1. Recolher dados do novo colaborador
Perguntar ao utilizador:
- **Nome completo**
- **Email pessoal**
- **Funcao/cargo**
- **Data de inicio**
- **Tipo:** colaborador / freelancer / estagiario
- **Departamento:** D1-D7
### 2. Criar tarefa no Desk CRM
```
mcp__desk-crm-v3__create_task({
name: "Onboarding — [Nome]",
project_id: 65,
startdate: [data inicio],
duedate: [data inicio + 5 dias uteis],
priority: 2,
description: "Onboarding de [Nome] como [Funcao] no departamento [Dept]"
})
```
### 3. Adicionar checklist de onboarding
Items obrigatorios (adicionar via `add_task_checklist_item`):
**Contas e acessos:**
- [ ] Email @descomplicar.pt criado
- [ ] Conta Desk CRM criada (staff)
- [ ] Acesso Gitea (se tecnico)
- [ ] Acesso Google Workspace
- [ ] Password manager configurado
**Documentacao:**
- [ ] Contrato assinado
- [ ] NIF e dados fiscais recolhidos
- [ ] Ficha de colaborador preenchida
- [ ] RGPD — consentimento assinado
**Equipamento:**
- [ ] PC/portatil atribuido
- [ ] Acessos VPN/SSH (se aplicavel)
- [ ] Ferramentas de trabalho instaladas
**Integracao:**
- [ ] Reuniao de boas-vindas agendada
- [ ] Apresentacao a equipa
- [ ] Acesso a documentacao interna (Hub)
- [ ] Mentor atribuido (primeiras 2 semanas)
### 4. Enviar email de boas-vindas (opcional)
Se o utilizador aprovar, enviar email via Google Workspace:
```
Assunto: Bem-vindo(a) a Descomplicar — [Nome]
Corpo: Template de boas-vindas com:
- Data de inicio
- Links uteis (Desk, email, Git)
- Contacto do mentor
- Primeiros passos
```
### 5. Resumo
Apresentar ao utilizador:
- Tarefa Desk criada (ID + link)
- Checklist com N items
- Proximos passos manuais (contrato, equipamento)
---
## Regras
- **Nunca criar contas automaticamente** — apenas checklist para lembrar
- **Contrato e dados fiscais sao responsabilidade do Emanuel** — skill so lembra
- **Email de boas-vindas requer aprovacao** antes de enviar
- **Tipo freelancer** tem checklist reduzida (sem equipamento, sem VPN)
---
## Healing Log
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
+12
View File
@@ -364,3 +364,15 @@ Checklist automática:
---
*Skill v1.0.0 | 2026-02-13 | Plugin gestao | Descomplicar®*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+12
View File
@@ -183,3 +183,15 @@ Gera revisao mensal completa e publica como comentario na tarefa Desk do cliente
---
*Skill v1.0.0 | 2026-03-10 | Descomplicar®*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+12
View File
@@ -214,3 +214,15 @@ Relatórios podem ser guardados em:
---
*Skill v1.0.0 | 2026-02-05 | Descomplicar®*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+153
View File
@@ -0,0 +1,153 @@
---
name: research-pipeline
description: >
Pipeline de pesquisa RAG trinity: Layer 1 (Obsidian CLI Hub), Layer 2 (NotebookLM),
Layer 3 (LightRAG externo). Orquestra as 3 camadas em sequência para pesquisas
profundas. Usar quando /hub-search ou /knowledge isolados não são suficientes,
quando o tema cruza conteúdo interno+externo, ou para research antes de executar
tarefas complexas (Eixo 7B, Stack Q2 2026).
---
# /research-pipeline — Pipeline Trinity de Pesquisa
Orquestra as 3 camadas RAG em sequência para obter contexto completo antes de executar tarefas.
```
Layer 1: Obsidian CLI → conteúdo Hub (notas, PROCs, docs internas)
Layer 2: NotebookLM → análise profunda (58 notebooks temáticos)
Layer 3: LightRAG → conteúdo externo (1612 docs, PDFs, transcripts)
```
---
## Uso
```
/research-pipeline "tema ou pergunta"
/research-pipeline "LightRAG configuração" --layers 1,2
/research-pipeline "PROC-MCP" --quick (só Layer 1)
/research-pipeline "n8n webhook setup" --deep (todas as layers)
```
---
## Workflow
### Passo 1 — Layer 1: Hub via Obsidian CLI
```bash
obsidian search "TERMO" --include-backlinks --format json
```
**Se CLI offline:** fallback para Grep no Hub.
Registar: `L1_results`, `L1_score` (0-100, baseado em nº resultados).
### Passo 2 — Avaliar se Layer 2 é necessária
```
SE L1_score >= 80 E query é operacional (PROC, QR, path):
→ PARAR — resultado suficiente, retornar L1
SE L1_score < 80 OU query é conceptual/analítica:
→ Avançar para Layer 2
```
### Passo 3 — Layer 2: NotebookLM (análise profunda)
Usar routing da skill `/knowledge` para seleccionar notebooks relevantes.
```javascript
// Max 2 notebooks para performance
mcp__notebooklm__notebook_query({ notebook_id, query })
```
Registar: `L2_results`, `L2_confidence`.
### Passo 4 — Avaliar se Layer 3 é necessária
```
SE query menciona PDFs, vídeos, transcripts, conteúdo externo:
→ Avançar para Layer 3
SE L2_confidence >= 70:
→ PARAR — retornar L1+L2 combinados
```
### Passo 5 — Layer 3: LightRAG (conteúdo externo)
```javascript
mcp__lightrag__lightrag_query({
query: "TERMO",
mode: "hybrid" // combina vector + graph
})
```
### Passo 6 — Síntese e output
```markdown
## Research: "[termo]"
### Hub (Layer 1) — [N notas encontradas]
[Resultados mais relevantes com paths]
### NotebookLM (Layer 2) — [notebook usado]
[Insights e contexto analítico]
### Externo (Layer 3) — [N docs]
[Conteúdo complementar de fontes externas]
### Síntese
[Resposta integrada das 3 camadas]
### Qualidade
- L1: [N resultados]
- L2: [confidence%] via [notebook]
- L3: [N docs]
- Tempo: ~[X]s
```
---
## Modos rápidos
| Flag | Layers activas | Uso |
|------|---------------|-----|
| `--quick` | L1 apenas | PROCs, paths, comandos |
| (default) | L1 + L2 | Maioria das queries |
| `--deep` | L1 + L2 + L3 | Investigação completa |
---
## Integração com outras skills
```
Antes de /wp-dev → /research-pipeline --quick "PROC-WordPress"
Antes de /cwp-* → /research-pipeline --quick "PROC-CWP"
Antes de design → /research-pipeline "design guidelines descomplicar"
Para /deep-research → /research-pipeline --deep (base de contexto)
```
---
## Regras
1. **Layer 1 sempre primeiro** — mais rápido e frequentemente suficiente
2. **Max 2 notebooks NotebookLM** por query (performance)
3. **L3 só para conteúdo externo** — não duplicar com L1
4. **Timeout L3:** 30s — se exceder, retornar L1+L2
5. **Citar fonte** de cada resultado no output
---
*Skill v1.0.0 | 06-04-2026 | Descomplicar®*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+131
View File
@@ -0,0 +1,131 @@
---
name: review-corrections
description: >
Analisa correcções feitas pelo utilizador nas últimas sessões e gera sugestões
de regras para CLAUDE.md. Lê ~/.claude-work/corrections.jsonl, agrupa por padrão,
e propõe melhorias concretas. Usar semanalmente (via /schedule) ou quando há >5
correcções acumuladas. Faz parte do loop de auto-melhoria (Eixo 3, Stack Q2 2026).
---
# /review-corrections — Análise de Correcções e Auto-melhoria
Analisa padrões de correcção do utilizador para melhorar o CLAUDE.md autonomamente.
---
## Workflow
### Passo 1 — Ler ficheiro de correcções
```bash
cat ~/.claude-work/corrections.jsonl
```
Cada linha é um JSON:
```json
{"ts":"2026-04-06T14:30:00","type":"correction","prompt":"não assim, usa grep","session":"abc","cwd":"/Hub/"}
```
### Passo 2 — Agrupar por padrão
Categorias de correcção:
| Padrão | Keywords | Acção sugerida |
|--------|---------|----------------|
| **Ferramenta errada** | "usa grep", "não uses bash", "usa read" | Regra de preferência de ferramenta |
| **Língua/formato** | "em português", "sem emojis", "com acentos" | Regra de output |
| **Abordagem** | "não assim", "de outra forma", "mais simples" | Regra de heurística |
| **Scope** | "não faças isso", "não toques em", "só X" | Regra de limites |
| **Verificação** | "verifica primeiro", "não inventar", "confirma" | Regra anti-alucinação |
### Passo 3 — Gerar sugestões de regras
Para cada padrão com ≥2 ocorrências, propor regra no formato:
```markdown
**Regra candidata:**
> [Padrão detectado N vezes] → Sugestão: "Nunca [X], sempre [Y]"
**Evidência:**
- "prompt1" (data)
- "prompt2" (data)
**Proposta CLAUDE.md:**
| NN | [Texto da regra concisa] |
```
### Passo 4 — Apresentar ao utilizador
```markdown
## Revisão de Correcções — [data]
**Total analisado:** N correcções em M sessões
**Padrões encontrados:** P
### Regras candidatas (aprovação necessária)
[lista de propostas]
### Limpar ficheiro?
[ ] Sim — arquivar em ~/.claude-work/corrections-archive-YYYY-MM.jsonl
[ ] Não — manter para próxima revisão
```
### Passo 5 — Aplicar regras aprovadas
Se o utilizador aprovar uma regra:
1. Abrir `~/.claude/CLAUDE.md`
2. Adicionar na tabela de REGRAS CORE com número sequencial
3. Confirmar: "Regra #NN adicionada."
Se o utilizador recusar:
- Arquivar correcção com tag `rejected`
- Não propor de novo
---
## Quando usar
- **Semanal** (via `/schedule` às segundas-feiras com `/today`)
- **Manual** quando corrections.jsonl tem >5 entradas
- **Após incidente** (mesmo erro 2+ vezes consecutivos)
---
## Integração auto-trigger
O hook `capture-corrections.sh` regista automaticamente em `~/.claude-work/corrections.jsonl`.
Esta skill consome esse ficheiro e fecha o loop de auto-melhoria.
**Loop completo:**
```
Correcção utilizador
→ capture-corrections.sh (regista)
→ /review-corrections (analisa)
→ CLAUDE.md (actualiza)
→ Comportamento melhora
```
---
## Anti-patterns
- Nunca aplicar regras sem aprovação explícita do utilizador
- Nunca propor regras com <2 ocorrências (pode ser caso isolado)
- Nunca eliminar regras existentes — apenas adicionar ou reformular
---
*Skill v1.0.0 | 06-04-2026 | Descomplicar®*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+12
View File
@@ -338,3 +338,15 @@ mcp__desk-crm-v3__create_task ou update_task:
---
*Skill v1.0.0 | 2026-03-10 | Plugin gestao | Descomplicar®*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+124
View File
@@ -0,0 +1,124 @@
---
name: task-state
description: Gestão de estado persistente de tarefas entre sessões. Cria, actualiza e lê .task-state.md para tarefas complexas. Usar quando tarefa tem >2 sessões, múltiplos ficheiros, ou risco de perder contexto por compaction.
context: fork
---
# /task-state — Gestão de Estado de Tarefa
Persiste decisões, ficheiros e checkpoints entre sessões. Sobrevive a context compaction.
---
## Quando usar
**Usar quando:**
- Tarefa com >1 sessão de trabalho
- Múltiplos ficheiros a modificar (>3)
- Risco de context compaction apagar contexto crítico
- Tarefas que requerem aprovação por checkpoint
**Não usar quando:**
- Tarefas de <30 minutos
- Edições simples de 1-2 ficheiros
- Respostas a perguntas
---
## Comandos
### /task-state init
Cria `.task-state.md` no directório actual baseado no template.
```bash
# Verificar se já existe
[ -f ".task-state.md" ] && echo "AVISO: já existe — usar /task-state update" && exit 1
# Copiar template
cp ~/.claude-work/task-state-template.md .task-state.md
echo "Criado: .task-state.md"
```
Após criar, preencher os campos de Identificação manualmente.
### /task-state read
Lê e apresenta o estado actual — útil ao retomar uma tarefa interrompida:
```bash
cat .task-state.md
```
Ao retomar: ler "Próximo passo imediato" e "Bloqueantes actuais" primeiro.
### /task-state checkpoint N
Marca checkpoint N como concluído:
```bash
# Exemplo: marcar checkpoint 2 como feito
sed -i "s/- \[ \] Sub-issue 2:/- [x] Sub-issue 2:/" .task-state.md
```
### /task-state update
Actualizar campos específicos ao longo do trabalho:
- Adicionar ficheiros modificados à lista
- Registar decisões tomadas
- Actualizar "Próximo passo imediato"
- Adicionar bloqueantes encontrados
---
## Padrão Vertical Plans
Diferença para planos monolíticos:
| Monolítico | Vertical Plans |
|------------|----------------|
| Lê o plano completo | Divide em sub-issues com checkpoint |
| Implementa tudo | Implementa 1 sub-issue |
| Verifica no final | Testa + valida antes de avançar |
| Falha tarde | Falha cedo e barato |
**Regra:** Nunca avançar para sub-issue N+1 sem N estar testado e marcado.
---
## Integração com writing-plans
1. `/writing-plans` → cria plano com sub-issues e critérios de sucesso
2. `/task-state init <nome>` → cria ficheiro de estado
3. A cada sub-issue: implementar → testar → `/task-state checkpoint N` → commit
4. Se sessão interromper: ler `.task-state.md` → continuar no "Próximo passo imediato"
---
## Template
O template está em `~/.claude-work/task-state-template.md`.
Actualizar o template para reflectir necessidades do projecto actual.
---
## Contexto crítico — o que documentar
Documentar TUDO que está só na cabeça do Emanuel e que o agente precisa:
- "Este servidor é produção — não tocar sem aprovação"
- "O cliente X é sensível a preços — nunca mencionar concorrentes"
- "A BD usa UTF-8 mas tem registos ISO-8859 antigos — cuidado com migrações"
**Fonte:** Regra #361 — agente apagou BD de produção porque "é live" estava só na cabeça do humano.
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+12
View File
@@ -108,3 +108,15 @@ Apos listar tarefas, sugerir ate 6 accoes concretas:
---
*Skill v1.0.0 | 04-03-2026 | Descomplicar®*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+12
View File
@@ -250,3 +250,15 @@ const ALERT_HOURS = 4; // Alertar após 4h
---
*Skill v2.0.0 | 2026-02-05 | Descomplicar®*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+18
View File
@@ -233,6 +233,24 @@ Filename: `DD-MM-YYYY-checkup.md` (Regra #45: formato DD-MM-YYYY)
Repo agentes: `git.descomplicar.pt/ealmeida/claude_automations_dev`
---
## Self-Healing
Antes de executar, ler `~/.claude-work/healing/today.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 v10.0.0 | 05-03-2026 | Descomplicar®*
## Healing Log
<!-- Registo automático de erros e correcções nesta skill -->
+12
View File
@@ -363,3 +363,15 @@ Ver secção "Referências e Documentação" em:
---
*Skill v1.0.0 | 2026-02-13 | Plugin gestao | Descomplicar®*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*
+26
View File
@@ -327,6 +327,32 @@ 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.2.0 | 2026-03-12 | Descomplicar(R)*
---
## Healing Log
Registo de erros conhecidos e como evitá-los. Lido automaticamente antes de executar.
```jsonl
{"date":"","issue":"","fix":"","source":"user|auto"}
```
*Adicionar nova linha após cada erro corrigido.*