obsidian-organizer
Organizador semantico do vault. Varre tudo com IA, detecta bagunca, propoe consolidacoes. 100% local, zero side-effects sem aprovacao.
Quando usar
- Usuario diz "organiza meu vault", "limpa duplicatas", "expande MOCs", "o que ta bagunçado?".
- Usuario invoca
/obsidian-master-kit:organize. - Apos um scan completo (
obsidian-master scan) — organizer consome dados denotes+vec_notes/notes_embedding_blob.
Quando nao usar
- Em vault vazio ou com < 10 notas (HDBSCAN nao tem material).
- Sem ter rodado scan primeiro.
- Pra ACAO destrutiva — organizer SO propoe;
obsidian-migrate applyexecuta os moves/merges aprovados.
Fluxo canonico
Passo 1: Detecte o vault
Walk ancestrais do cwd procurando .obsidian-master/marker.json. Se
nao achar, aborte com --vault PATH.
Passo 2: Garanta scan recente
Se notes+vec estao desatualizados, peca ao usuario pra rodar obsidian-master scan primeiro.
Passo 3: Escolha o sub-comando
| Intencao do usuario | Sub-comando |
|---|---|
| "Agrupa as notas parecidas" / "Cluster semantico" | cluster |
| "Acha duplicatas de conceito" | duplicates |
| "Quais clusters faltam MOC?" | moc-audit |
| "Area do frontmatter bate com a pasta?" | area-mismatch |
| "Propoe tudo em lotes pra eu aprovar" | propose |
| "Me da o relatorio visual" | report |
Passo 4: Invoque o script
python3 ${CLAUDE_PLUGIN_ROOT}/skills/obsidian-organizer/scripts/organizer.py \
<sub-comando> [--vault PATH] [--dry-run] [opcoes]
Passo 5: Apresente em pt-br humano
O script emite JSON estavel. Traduza pra markdown com reasoning embaixo:
3 candidatos de duplicata:
1. [[Cabala]] ↔ [[Qabalah]]
Cosine: 0.78, ambas na area Pesquisas. Verdict pendente.
2. [[Hermetismo - Overview]] ↔ [[Hermetismo Antigo]]
Cosine: 0.72, ambas na area Pesquisas.
...
Passo 6: Aplique os verdicts aprovados
duplicates --interactive pede verdict (merge | keep_both | not_duplicate). propose gera batches em migration_plan. Execucao real e pelo obsidian-migrate apply.
Garantias duras
- Zero escrita silenciosa:
--dry-rune default emproposeemoc-audit. - Verdicts humanos:
duplicate_candidates.verdictso muda via aprovacao explicita. - Preserva conteudo: merge final concatena os dois, renomeia
.merged-TIMESTAMP. Nada e perdido. - Integra com migrate: organizer propõe, migrate aplica — separacao clara.
CLI: referencia rapida
organizer cluster [--latest] [--ai-label]— HDBSCAN runnerorganizer duplicates [--min-cos X] [--interactive]— detecta + verdictorganizer moc-audit [--create-suggestions]— clusters ≥ 10 sem MOCorganizer area-mismatch [--fix]— area frontmatter ≠ pastaorganizer propose [--dry-run]— agrega tudo em migration_planorganizer report— relatorio visual consolidado