feat(gestao): remover LightRAG das skills de knowledge — Fase 1 RAG-System
- knowledge/SKILL.md v2.2.0: Família A passa a 4 fontes (Supabase, CC memory, Hub, Desk CRM) - hub-search/SKILL.md v1.1.0: RAG Trinity actualizada (2 layers) - research-pipeline/SKILL.md v1.1.0: Layer 3 LightRAG removida - deep-research/SKILL.md v1.1.0: Layer 3 passa a Web apenas Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,8 +2,7 @@
|
||||
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.
|
||||
Web externo (Layer 3). Para questões complexas que requerem síntese de múltiplas fontes.
|
||||
Usar quando: análise competitiva profunda, pesquisa mercado, due diligence, relatório estratégico.
|
||||
---
|
||||
|
||||
@@ -34,12 +33,6 @@ 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.
|
||||
@@ -68,16 +61,10 @@ mcp__notebooklm__notebook_query({
|
||||
- SE suficiente → sintetizar com Layer 1 + responder
|
||||
- SE requer dados externos → continuar para Layer 3
|
||||
|
||||
### Layer 3 — Web + LightRAG (conhecimento externo)
|
||||
### Layer 3 — Web (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
|
||||
// Web search para dados actuais
|
||||
mcp__web-search__search({
|
||||
query: "<QUESTÃO> site:scholar.google.com OR filetype:pdf",
|
||||
num_results: 10
|
||||
@@ -93,7 +80,7 @@ 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)
|
||||
**Fontes consultadas:** Layer 1 (Hub), Layer 2 (NotebookLM [Notebook X]), Layer 3 (Web)
|
||||
|
||||
### O que sabemos (interno)
|
||||
[Resumo Layer 1 — conhecimento já documentado]
|
||||
@@ -134,4 +121,4 @@ echo "$(date '+%Y-%m-%d') — deep-research — [TÓPICO] — [O QUE FUNCIONOU/N
|
||||
|
||||
---
|
||||
|
||||
*Skill /deep-research v1.0 | 06-04-2026 | Eixo 7B — RAG Trinity + NotebookLM integrado*
|
||||
*Skill /deep-research v1.1.0 | 13-04-2026 | LightRAG removido — Layer 3 passa a Web apenas*
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name: hub-search
|
||||
description: >
|
||||
Pesquisa no vault Hub Obsidian com relevance scoring e backlinks.
|
||||
Layer 1 da arquitectura RAG trinity (CLI → NotebookLM → LightRAG).
|
||||
Layer 1 da arquitectura de pesquisa (CLI → NotebookLM).
|
||||
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.
|
||||
@@ -88,17 +88,16 @@ Adicionar contexto ao utilizador: "Obsidian não está a correr — usando busca
|
||||
|
||||
---
|
||||
|
||||
## Integração com RAG Trinity
|
||||
## Integração com outras skills
|
||||
|
||||
```
|
||||
/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)
|
||||
/knowledge "termo" → Layer 2: NotebookLM (65 notebooks)
|
||||
```
|
||||
|
||||
**Quando escalar para Layer 2 ou 3:**
|
||||
**Quando escalar para Layer 2:**
|
||||
- Resultado CLI score < 50% ou 0 resultados → sugerir `/knowledge`
|
||||
- Conteúdo externo (PDFs, transcripts) → sugerir LightRAG diretamente
|
||||
- Conteúdo conceptual/externo → sugerir `/knowledge` directamente
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
---
|
||||
name: knowledge
|
||||
description: Router de conhecimento Família A/B. Família A (operacional interna) consultada em paralelo para qualquer pergunta sobre processos, projectos, decisões, histórico. Família B (NotebookLM externa) só para conhecimento conceptual/teórico. v2.1.1
|
||||
description: Router de conhecimento Família A/B. Família A (operacional interna) consultada em paralelo para qualquer pergunta sobre processos, projectos, decisões, histórico. Família B (NotebookLM externa) só para conhecimento conceptual/teórico. v2.2.0
|
||||
---
|
||||
|
||||
# /knowledge — Router Família A/B v2.1.1
|
||||
# /knowledge — Router Família A/B v2.2.0
|
||||
|
||||
> **Correcção arquitectural 08-04-2026:** a v2.0.0 tratava NotebookLM como fonte primária. Isso estava errado — NotebookLM não vê operações, não vê estado real, só tem ebooks e transcripts. Em `~/.claude/projects/-media-ealmeida-Dados-Hub/memory/feedback_knowledge-router-arquitectura.md` está o racional completo.
|
||||
> **v2.2.0 (13-04-2026):** LightRAG removido da Família A — serviço com 0 documentos desactivado. Família A passa a 4 fontes: Supabase, CC memory, Hub, Desk CRM.
|
||||
|
||||
## Princípio de routing
|
||||
|
||||
@@ -19,9 +20,8 @@ description: Router de conhecimento Família A/B. Família A (operacional intern
|
||||
|
||||
| Fonte | Tool | Conteúdo |
|
||||
|-------|------|----------|
|
||||
| **LightRAG** | `mcp__lightrag__query_document` (modo `hybrid`) | Knowledge graph interno. **LightRAG-HKU 1.4.13** completo — REST API + WebUI em `rag.descomplicar.pt` + PG storage (workspace `default`) + AGE graph extension. **17 tools MCP disponíveis** (ver lista abaixo). 331 docs no Postgres (135 processed + 194 pending + 2 processing + 6 failed). |
|
||||
| **memory-supabase** | `mcp__memory-supabase__search_memories(query, threshold=0.7, limit=10)` | Memórias persistentes cross-sessão com embeddings. Decisões, contexto, lacunas anteriores. |
|
||||
| **Memória CC cross-projecto** | `Grep` recursivo em `~/.claude/projects/*/memory/*.md` | **101 ficheiros em 34 projectos (~261kB).** Harness só carrega automaticamente a memória do `cwd` — este grep é **obrigatório** para não perder contexto de outros projectos. |
|
||||
| **Memória CC cross-projecto** | `Grep` recursivo em `~/.claude/projects/*/memory/*.md` | **110 ficheiros em 34 projectos.** Harness só carrega automaticamente a memória do `cwd` — este grep é **obrigatório** para não perder contexto de outros projectos. |
|
||||
| **Obsidian / Hub** | `Grep` em `/media/ealmeida/Dados/Hub/**/*.md` | PROCs, QRs, INDEX, frontmatter, procedimentos, histórico. |
|
||||
| **Desk CRM** | `mcp__desk-crm-v3__*` (tasks, projects, tickets, customers) | Fonte de verdade operacional: tarefas, projectos, clientes, tickets, horas. |
|
||||
|
||||
@@ -30,7 +30,6 @@ description: Router de conhecimento Família A/B. Família A (operacional intern
|
||||
```
|
||||
1. Classificar pergunta como operacional (default para queries internas)
|
||||
2. Disparar em PARALELO (mesma mensagem, vários tool calls):
|
||||
- mcp__lightrag__query_document(query, mode="hybrid")
|
||||
- mcp__memory-supabase__search_memories(query, threshold=0.65, limit=8) [graceful se MCP indisponível]
|
||||
- Grep ~/.claude/projects/*/memory/*.md
|
||||
- Grep Hub/**/*.md (limitar a pastas relevantes quando possível)
|
||||
@@ -39,29 +38,6 @@ description: Router de conhecimento Família A/B. Família A (operacional intern
|
||||
4. Se Família A insuficiente → perguntar ao utilizador ou escalar para Família B
|
||||
```
|
||||
|
||||
### 17 tools MCP LightRAG-HKU disponíveis
|
||||
|
||||
**Consulta / leitura:**
|
||||
- `query_document(query, mode)` — RAG query. **Principal para router.** Modos: `naive`, `local`, `global`, `hybrid`, `mix` (default: `hybrid`).
|
||||
- `get_documents()` — lista docs com status (processed/pending/processing/failed) e metadata.
|
||||
- `get_pipeline_status()` — estado do pipeline de ingestão (busy, job, batchs).
|
||||
- `get_graph_labels()` — entity types no knowledge graph.
|
||||
- `check_lightrag_health()` — health check do server.
|
||||
|
||||
**Ingestão:**
|
||||
- `insert_document(text)` — insere texto único, extrai entidades + relações.
|
||||
- `insert_batch(texts[])` — batch de textos.
|
||||
- `insert_file(path)` — insere ficheiro local.
|
||||
- `upload_document(file)` — upload binário.
|
||||
- `scan_for_new_documents()` — trigger scan do `INPUT_DIR` (`/root/mcp-lightrag/inbox/`).
|
||||
|
||||
**Edição de grafo:**
|
||||
- `create_entities`, `edit_entities`, `delete_by_entities`, `merge_entities`
|
||||
- `create_relations`, `edit_relations`
|
||||
- `delete_by_doc_ids` — remove doc + entidades órfãs.
|
||||
|
||||
**UI web:** `https://rag.descomplicar.pt/webui/` com autenticação (`AUTH_ACCOUNTS` no `.env` do gateway).
|
||||
|
||||
**Nota sobre graceful fallback:** as tools `mcp__*` podem estar indisponíveis em sessões específicas por razões de auto-discovery do harness. Se a chamada falhar com "No such tool available", continuar o paralelismo com as outras fontes e reportar a lacuna no output final.
|
||||
|
||||
### Formato de resposta Família A
|
||||
@@ -69,7 +45,6 @@ description: Router de conhecimento Família A/B. Família A (operacional intern
|
||||
```markdown
|
||||
## [pergunta]
|
||||
|
||||
**LightRAG:** [excerto] _(entidade X, score Y)_
|
||||
**memory-supabase:** [excerto] _(id N, tags)_
|
||||
**memory/<projecto>:** [excerto] _(ficheiro)_
|
||||
**Hub:** [excerto] _(caminho:linha)_
|
||||
@@ -217,7 +192,7 @@ Usar estes sinais para decidir Família A vs B:
|
||||
|---------|-----|
|
||||
| `/knowledge [pergunta]` | Router automático A/B com paralelismo |
|
||||
| `/kb [pergunta]` | Alias curto |
|
||||
| `/kb-save [conteúdo]` | Guardar na fonte adequada (LightRAG se operacional, Supabase se decisão, NotebookLM source_add se externo) |
|
||||
| `/kb-save [conteúdo]` | Guardar na fonte adequada (Supabase se decisão/solução, Hub se processual, NotebookLM source_add se externo) |
|
||||
| `/kb-gaps` | Listar lacunas detectadas em `memory-supabase` |
|
||||
|
||||
---
|
||||
@@ -228,8 +203,7 @@ Router inverso por tipo:
|
||||
|
||||
| Tipo | Destino | Tool |
|
||||
|---|---|---|
|
||||
| Decisão / contexto / lacuna | memory-supabase | `mcp__memory-supabase__save_memory` com tags |
|
||||
| Entidade / relação / doc interno | LightRAG | `mcp__lightrag__insert_document(text)` ou `insert_batch(texts)` |
|
||||
| Decisão / contexto / solução técnica | memory-supabase | `mcp__memory-supabase__save_memory` com tags |
|
||||
| Procedimento operacional | Hub/06-Operacoes/Procedimentos/ | `Write` PROC-*.md |
|
||||
| Conhecimento externo | NotebookLM notebook adequado | `mcp__notebooklm-mcp__source_add` |
|
||||
|
||||
@@ -247,7 +221,7 @@ mcp__memory-supabase__save_memory({
|
||||
});
|
||||
```
|
||||
|
||||
Depois sugerir acção: criar PROC, adicionar ao LightRAG, adicionar fonte ao notebook adequado.
|
||||
Depois sugerir acção: criar PROC, guardar no Supabase, adicionar fonte ao notebook NotebookLM adequado.
|
||||
|
||||
---
|
||||
|
||||
@@ -259,7 +233,7 @@ Depois sugerir acção: criar PROC, adicionar ao LightRAG, adicionar fonte ao no
|
||||
4. **Nunca responder sem citar fonte.** Se 0 hits, dizer explicitamente.
|
||||
5. **Max 3 notebooks** por query Família B.
|
||||
6. **PT-PT sempre** na consolidação.
|
||||
7. **Se a pergunta é sobre estado presente** (tarefas abertas, tickets, horas, facturas), ir **directo ao Desk CRM**, não a LightRAG/NotebookLM.
|
||||
7. **Se a pergunta é sobre estado presente** (tarefas abertas, tickets, horas, facturas), ir **directo ao Desk CRM**, não a NotebookLM.
|
||||
|
||||
---
|
||||
|
||||
@@ -279,7 +253,6 @@ Depois sugerir acção: criar PROC, adicionar ao LightRAG, adicionar fonte ao no
|
||||
- `references/routing-guide.md` — mapeamento detalhado de routing (pendente v2.1 — actualizar)
|
||||
- `~/.claude/projects/-media-ealmeida-Dados-Hub/memory/feedback_knowledge-router-arquitectura.md` — decisão arquitectural
|
||||
- `~/.claude/projects/-media-ealmeida-Dados-Hub/memory/notebooklm-inventory.md` — inventário completo 65 notebooks
|
||||
- `04-Stack/CHANGELOG.md` sessão 3 de 08-04-2026 — recuperação LightRAG e clarificação tools reais
|
||||
|
||||
---
|
||||
|
||||
@@ -288,10 +261,11 @@ Depois sugerir acção: criar PROC, adicionar ao LightRAG, adicionar fonte ao no
|
||||
```jsonl
|
||||
{"date":"2026-04-08","issue":"v2.0.0 tratava NotebookLM como fonte primaria para tudo","fix":"v2.1.0 router Familia A/B — NotebookLM so para externo","source":"user"}
|
||||
{"date":"2026-04-08","issue":"v2.1.0 assumia FastMCP file-based (11 tools lightrag_*) apos migracao temporaria da outra sessao","fix":"v2.1.1 restaurado para LightRAG-HKU completo com 17 tools originais (query_document, insert_document, get_pipeline_status, etc), UI em rag.descomplicar.pt, PG storage 331 docs","source":"user"}
|
||||
{"date":"2026-04-13","issue":"LightRAG com 0 documentos — servico sem utilidade a consumir recursos","fix":"v2.2.0 removido LightRAG da Familia A — 4 fontes restantes: Supabase, CC memory, Hub, Desk CRM","source":"user"}
|
||||
{"date":"2026-04-08","issue":"memoria Claude Code fragmentada em ~/.claude/projects/*/memory/ (101 ficheiros, 34 projectos)","fix":"grep cross-projecto obrigatorio no router Familia A","source":"user"}
|
||||
{"date":"2026-04-08","issue":"mcp__memory-supabase__search_memories pode estar indisponivel no harness","fix":"graceful fallback no router — continuar paralelismo com outras fontes e reportar lacuna","source":"auto"}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**v2.1.1** | 08-04-2026 | LightRAG-HKU restaurado com 17 tools reais, UI rag.descomplicar.pt, PG storage 331 docs, graceful fallback para MCPs indisponíveis
|
||||
**v2.2.0** | 13-04-2026 | LightRAG removido (0 docs, serviço desactivado). Família A: 4 fontes — Supabase, CC memory, Hub, Desk CRM
|
||||
|
||||
@@ -1,21 +1,19 @@
|
||||
---
|
||||
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).
|
||||
Pipeline de pesquisa em 2 camadas: Layer 1 (Obsidian CLI Hub), Layer 2 (NotebookLM).
|
||||
Orquestra as 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.
|
||||
---
|
||||
|
||||
# /research-pipeline — Pipeline Trinity de Pesquisa
|
||||
# /research-pipeline — Pipeline de Pesquisa em 2 Camadas
|
||||
|
||||
Orquestra as 3 camadas RAG em sequência para obter contexto completo antes de executar tarefas.
|
||||
Orquestra as 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)
|
||||
Layer 2: NotebookLM → análise profunda (65 notebooks temáticos)
|
||||
```
|
||||
|
||||
---
|
||||
@@ -24,9 +22,8 @@ Layer 3: LightRAG → conteúdo externo (1612 docs, PDFs, transcripts)
|
||||
|
||||
```
|
||||
/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)
|
||||
/research-pipeline "n8n webhook setup" --deep (L1 + L2)
|
||||
```
|
||||
|
||||
---
|
||||
@@ -63,25 +60,16 @@ mcp__notebooklm__notebook_query({ notebook_id, query })
|
||||
|
||||
Registar: `L2_results`, `L2_confidence`.
|
||||
|
||||
### Passo 4 — Avaliar se Layer 3 é necessária
|
||||
### Passo 4 — Avaliar se Layer 2 é suficiente
|
||||
|
||||
```
|
||||
SE query menciona PDFs, vídeos, transcripts, conteúdo externo:
|
||||
→ Avançar para Layer 3
|
||||
SE L2_confidence >= 70:
|
||||
→ PARAR — retornar L1+L2 combinados
|
||||
SE L2_confidence < 70:
|
||||
→ Reportar lacuna e sugerir pesquisa Web manual
|
||||
```
|
||||
|
||||
### 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
|
||||
### Passo 5 — Síntese e output
|
||||
|
||||
```markdown
|
||||
## Research: "[termo]"
|
||||
@@ -92,16 +80,12 @@ mcp__lightrag__lightrag_query({
|
||||
### 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]
|
||||
[Resposta integrada das 2 camadas]
|
||||
|
||||
### Qualidade
|
||||
- L1: [N resultados]
|
||||
- L2: [confidence%] via [notebook]
|
||||
- L3: [N docs]
|
||||
- Tempo: ~[X]s
|
||||
```
|
||||
|
||||
@@ -113,7 +97,7 @@ mcp__lightrag__lightrag_query({
|
||||
|------|---------------|-----|
|
||||
| `--quick` | L1 apenas | PROCs, paths, comandos |
|
||||
| (default) | L1 + L2 | Maioria das queries |
|
||||
| `--deep` | L1 + L2 + L3 | Investigação completa |
|
||||
| `--deep` | L1 + L2 (exaustivo) | Investigação completa |
|
||||
|
||||
---
|
||||
|
||||
@@ -132,13 +116,11 @@ Para /deep-research → /research-pipeline --deep (base de contexto)
|
||||
|
||||
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
|
||||
3. **Citar fonte** de cada resultado no output
|
||||
|
||||
---
|
||||
|
||||
*Skill v1.0.0 | 06-04-2026 | Descomplicar®*
|
||||
*Skill v1.1.0 | 13-04-2026 | Descomplicar® — LightRAG removido (0 docs, serviço desactivado)*
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user