Help us improve
Share bugs, ideas, or general feedback.
From obsidian-master-kit
Automatically validates frontmatter, normalizes tags, enforces wiki-links to MOCs, and regenerates _INDEX.md after any write in an Obsidian vault.
npx claudepluginhub melgarafael/obsidian-master-kit --plugin obsidian-master-kitHow this skill is triggered — by the user, by Claude, or both
Slash command
/obsidian-master-kit:obsidian-librarianThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Curador automatico do vault. Roda apos qualquer escrita, le a doutrina (`CLAUDE.md`
Manages Obsidian vaults: search, create, edit, move Markdown notes; handle YAML frontmatter, wikilinks, backlinks, daily notes, Zettelkasten setup, and sync via obsidian-cli.
Handles Obsidian vault mechanics: detects vaults via .obsidian/, parses wiki links, configs for daily notes/templates/plugins, CLAUDE.md routing. Use for Obsidian vaults or structured markdown.
Organizes an Obsidian vault semantically: clusters notes via HDBSCAN, detects conceptual duplicates, audits missing MOCs, and flags area/path mismatches. Proposes a migration plan for human approval; never moves or deletes files without explicit verdict.
Share bugs, ideas, or general feedback.
Curador automatico do vault. Roda apos qualquer escrita, le a doutrina (CLAUDE.md
do vault), valida o que foi escrito, corrige o que e deterministico, e mantem o
_INDEX.md vivo.
Write ou Edit em path dentro de um vault-master (disparo
automatico via hook post-vault-write.py)./obsidian-master-kit:sync.Caminhe para cima a partir do arquivo modificado procurando .obsidian-master/marker.json.
Esse arquivo marca a raiz do vault. Se nao achar, aborta silenciosamente — nao e
vault-master.
Leia <vault-root>/CLAUDE.md inteiro. Dali voce extrai:
Essas sao regras locais do vault — podem divergir do default do kit se o humano tiver editado.
python3 ${CLAUDE_PLUGIN_ROOT}/skills/obsidian-librarian/scripts/update_index.py \
--vault "<vault-root>" \
[--since <ISO-timestamp>]
O script faz a parte deterministica:
.mdcreated, updated, area, type, status, tags)# prefix no frontmatter)updated com mtime do arquivo se estiver desatualizado<vault-root>/_INDEX.md<vault-root>/.obsidian-master/last-sync.jsonO script retorna JSON como:
{
"updated_index": true,
"notes_scanned": 42,
"orphans": ["02 - Pesquisas e Estudos/Ativas/Nota Solta.md"],
"missing_frontmatter_fields": [
{"file": "01 - Profissional/Projetos/X.md", "missing": ["status"]}
],
"unknown_tags": [
{"file": "02 - Pesquisas e Estudos/Ativas/Y.md", "tags": ["random/custom"]}
],
"area_folder_mismatch": [],
"last_sync": "2026-04-15T14:20:00"
}
Para cada categoria:
references/linking-rules.md) sobre como
sugerir um MOC. Adicione linha em ## Relacionado da nota apontando para o MOC da
area. Se a nota nao cabe em nenhuma area existente, escale para o usuario.references/frontmatter-schema.md:
status ausente → drafttags ausente → []updated ausente → data de hoje (mas o script ja faz isso)area ou type — escale pro usuario.CLAUDE.md do vault. Se a tag nao bate,
sugira a tag canonica mais proxima em 1 comentario para o usuario; nao altere sem
permissao (tags podem ter significado semantico que o humano escolheu).area: pesquisa mas esta em 01 - Profissional/.
Nunca mova sem perguntar — reporte ao usuario.Depois que o script rodou e voce tratou as issues, imprima 1 bloco conciso:
Librarian synced:
- 42 notas escaneadas, _INDEX.md atualizado
- 2 orfas linkadas ao MOC apropriado
- 1 frontmatter preenchido (status: draft)
- 1 tag desconhecida reportada (esperando sua decisao)
Mais que isso e ruido — a pessoa quer saber que o vault esta ok, nao um relatorio de auditoria.
CLAUDE.md do vault. Territorio humano.area, type, aliases, conteudo do corpo).references/obsidian-conventions.md — convencoes oficiais do Obsidian destiladasreferences/frontmatter-schema.md — schema canonico do kit (fonte de verdade
quando o vault nao tem override)references/linking-rules.md — regras de wiki-link, backlinks, aliases, MOCs