---
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.*
