Obsidian Curator — Development skill for Claude Code
The 4th layer of the Claude+Obsidian memory stack — deterministic knowledge-graph maintenance (rename/link/prune), dry-run by default, zero dependencies.
How to install Obsidian Curator
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open 0xNyk/obsidian-curator and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Obsidian Curator does
The 4th layer of the Claude+Obsidian memory stack — deterministic knowledge-graph maintenance (rename/link/prune), dry-run by default, zero dependencies.
Alternatives in Development
- Om Tidy — Self-maintenance pass — acts on every hygiene flag: archives completed work, groups loose clusters, splits ove 4.6k ★
- MCP Language Server — mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, a 1.5k ★
- Agentlas One — Turn the persistent Agentlas One personal agent on or off, or rename it 1.1k ★
README
curator-agent
**The 4th layer of the Claude + Obsidian memory stack.**
A knowledge graph that grows without curation stops being a brain and becomes a landfill. `curator-agent` is the nightly maintenance pass that keeps retrieval accurate as your vault scales. Three jobs, all dry-run by default:
- rename — detect timestamp/category-shaped note titles, propose claim-shaped rewrites (the prose-as-title rule). Fixes wikilinks vault-wide on apply.
- link — detect notes making related claims that aren't yet linked, propose wikilinks between them.
- prune — surface notes untouched 30+ days with zero inlinks. Hub-aware: never flags your Maps of Content.
Stdlib-only Python. Zero dependencies. Runs in well under a second on a 200-note vault.
Why this exists
The original 3-layer memory stack ([article](https://x.com/nykdotdev/status/2030904887186514336)) was: session memory (CLAUDE.md + auto-memory), knowledge graph (Obsidian + MCP), ingestion pipeline (brain-ingest).
After 60 days in production, Layer 2 drifted. The ingestion pipeline fed the graph faster than it could be curated, and retrieval precision decayed. The fix wasn't a smarter model — it was a 4th layer that maintains the graph automatically.
Install
git clone https://github.com/0xNyk/obsidian-curator
cd obsidian-curator
# no pip install needed — stdlib only
python3 curator/curator_agent.py --self-test
Usage
# Dry-run report (default — never mutates anything)
python3 curator/curator_agent.py --vault ~/obsidian/your-vault
# Full report with link proposals + prune candidates, written to your vault
python3 curator/curator_agent.py --vault ~/obsidian/your-vault \
--propose-links --report-prune \
--report ~/obsidian/your-vault/00-home/curator-log.md
# Apply rename proposals (fixes wikilinks vault-wide)
python3 curator/curator_agent.py --vault ~/obsidian/your-vault --apply-renames
The nightly cron
# Read the report with your morning coffee
0 4
Related Skills
Obsidian Connect
Bridge two unrelated domains using your vault's link graph — forces creative friction to spark new ideas
Maintain
Full knowledge base maintenance — verify paths, prune stale entries, update inventories
Bullpen Name
Name your bullpen teammates. Walks through the 64 default personas in groups; user can accept-all or rename in
Obsidian Learn
Review vault learnings, prune stale ones, surface active patterns — the vault's lessons compound or expire
Graphify Prune
graphify-out/GRAPH_REPORT.md 를 100줄 이내 GRAPH_REPORT.brief.md 로 압축. 토큰 절감.
Update Scaffold
Check for and apply myPKA scaffold framework updates safely. Shows a plain-English plan first (what is new, wh
Related Agents
Clawmem Curator
Maintains ClawMem memory health — lifecycle triage (pin/snooze/forget), retrieval health checks, dedup sweeps,
R1 Curator
Reinforced Suite 1 Curator for the Suite Cascade System. Curation, inventory, pattern documentation, pruning l
Wasp Refactor Executor
Execute mechanical refactorings (DRY, extract function, rename) while maintaining test green status. Optimized