---
name: hub-search
description: >
  Pesquisa no vault Hub Obsidian com relevance scoring e backlinks.
  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.
---

# /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 outras skills

```
/hub-search "termo"          → Layer 1: Obsidian CLI (este skill)
/knowledge "termo"           → Layer 2: NotebookLM (65 notebooks)
```

**Quando escalar para Layer 2:**
- Resultado CLI score < 50% ou 0 resultados → sugerir `/knowledge`
- Conteúdo conceptual/externo → sugerir `/knowledge` directamente

---

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