Librarian: Knowledge Vault Steward
Turn your Obsidian vault into a searchable, explorable knowledge graph where Claude auto-links every note and compounds what you learn.
Evidence shows the core MCP server claims fully local operation with no telemetry, writes only on explicit request, link suggestions require user confirmation, and the from claude section explicitly warns transcripts may contain credentials and forbids copying them — positive signals. Deductions: from gmail/calendar/web/twitter depend on external connectors reading email, calendar and web content into the vault with shallow data-flow disclosure; no least-privilege scoping or rollback guidance; daydream performs many automated writes; imported external content is not reviewed item-by-item, so confirmation mechanisms are incomplete.
SKILL.md commands are internally consistent with clear output examples and failure branches (stop when files missing, fall back or ask user when connectors fail). However static review cannot execute anything; no committed tests covering the skill's key paths are visible; and the provided skill/SKILL.md text is truncated mid-way through the status command, so documentation is incomplete and not all 12 commands can be verified.
Audience and scenarios are clear (Obsidian/markdown vault users; 12 commands with stated boundaries). Deductions: the from subcommands depend entirely on Gmail, Google Calendar, Exa and Tavily — services unreachable or restricted from mainland China — with this limitation undeclared and no Chinese-language fit; invocation is slash-command based rather than semantically described, so trigger precision evidence is limited.
MIT license, author, version, repository and layered install docs (Homebrew/binaries/source) are all present, plus comparison tables and an example vault. Deductions: SKILL.md itself is truncated at the status section and carries hidden assumptions on external dependencies (ce:compound, session-close, bird CLI) not defined in this repo; no CHANGELOG; maintenance responsibility and update path rest on a single unverified publisher.
The claimed core capabilities (trigram search, auto-wikilinks, graph traversal, community detection) map to 17 described tools, command outputs are concretely formatted and directly usable, with clear incremental value over manual work. Deductions: static review cannot verify output correctness; comparison-table self-assessments lack third-party corroboration; daydream cost estimates have no supporting material.
Auditable primary material exists: dependency manifest, release CI workflow, example vault documentation. But no committed test suite covering the skill's key paths is visible, the skill's claimed behavior cannot be independently reproduced from a static read, and cross-source corroboration is limited — hence not above 5.
- from gmail/from calendar write email and calendar content (including participant addresses) into plaintext vault files; verify the storage and sync security of your vault.
- from web/from twitter/from gmail depend on Exa, Tavily, Gmail and Google Calendar — services potentially unreachable from mainland-China networks.
- The provided skill/SKILL.md text is truncated at the status section; documentation is incomplete — verify against the full repository file before use.
- from claude reads full session transcripts from ~/.claude/projects/; despite the no-credential guidance, use cautiously on sessions containing sensitive data.
- daydream launches multiple parallel sub-agents and batch-writes files at roughly $0.40-0.50 per run; validate at small scale first.
- Publisher is unverified by the FollowSkills registry (identity unknown); no CHANGELOG, so the update path is unclear.
What does this skill do, and when should you use it?
Librarian is a local MCP server written in Rust that productionizes the Karpathy LLM Wiki pattern. It reads and writes plain Markdown files directly (Obsidian doesn't need to be running), providing trigram-indexed full-text search, auto-wikilinking on write, bidirectional graph traversal, Louvain community detection, and an interactive D3 visualization. A companion /librarian skill wraps the 17 MCP tools into 12 slash commands covering document ingestion, multi-source imports (web, Gmail, Twitter, calendar, Claude sessions), graph analysis, and cross-note insight discovery. Everything runs locally over stdio with no network calls or telemetry.
Once installed, it exposes 17 MCP tools to Claude: library_search (trigram-indexed full-text search), library_write (scans for mentions of existing note titles and wraps them in [[wikilinks]], skipping code blocks/URLs/existing links, honoring frontmatter aliases), library_traverse and library_shortest_path (BFS and shortest-path over the wikilink graph), library_cluster (Louvain modularity), library_visualize (self-contained D3 HTML), and library_report (writes a GRAPH_REPORT.md ranking god nodes, communities, and surprising cross-community connections). The /librarian skill layers commands on top: ingest imports docs/solutions/ files with auto-linking; import converts PDF/DOCX/images/audio via MarkItDown; from web/gmail/twitter/calendar/claude pulls external content into structured frontmattered notes via connectors; daily appends learnings to the daily note; daydream pairs random notes with parallel sub-agents to surface non-obvious connections (about $0.40-0.50 per run).
- A researcher managing a long-term Obsidian vault who wants every note Claude writes automatically wired into the graph instead of left as orphans
- An engineer using Claude Code who archives debugging write-ups in docs/solutions/ and wants them searchable across projects (pairs with the /ce:compound workflow)
- An analyst doing literature or topic research who uses analyze and graph to see topic clusters, hub notes, and shortest paths between ideas
- A knowledge worker consolidating scattered material: turning PDF reports, Gmail threads, Twitter threads, and calendar meetings into frontmattered vault notes with key takeaways
- A writer hunting cross-domain sparks, using daydream to have sub-agents pair random notes and filter results by novelty/coherence/usefulness scores
What are this skill's strengths and limitations?
- Fully local: data never leaves your machine — no network calls, telemetry, or cloud storage, per the README
- Auto-wikilinking on explicit writes only, skipping code blocks, URLs, and existing links; supports frontmatter aliases
- Obsidian-compatible and concurrent-safe: standard wikilinks, YAML frontmatter, Journal/YYYY/ daily-note convention
- Graph depth beyond peers: Louvain communities, god-node ranking via degree + betweenness + PageRank, interactive D3 visualization
- Standalone Rust binary; works without Obsidian running; .librarianignore for custom exclusions
- Some commands depend on external tools — import needs MarkItDown (Python), from twitter needs the bird CLI — and abort if missing
- from gmail / from calendar rely on Claude.ai's Gmail and Google Calendar MCP connectors, unavailable outside Claude.ai
- Daydream costs roughly $0.40-0.50 per run and leans on parallel sub-agents with specific model tiers (Sonnet/Haiku)
- No published test suite or benchmarks; multi-vault env var LIBRARIAN_VAULTS is documented as Unix-only
- The search index is built in memory at startup; resource behavior at 10,000+ files is claimed but not quantified
How do you install this skill?
1) Install the binary: brew install ngmeyer/tap/librarian-mcp, download from GitHub Releases (macOS/Linux x86_64+arm64, Windows), or cargo install --git https://github.com/ngmeyer/librarian-mcp. 2) Run librarian-mcp --setup ~/my-vault — it writes the MCP config into Claude Desktop and Claude Code (backing up existing configs) and installs the /librarian skill. 3) Restart Claude. Multiple vaults: pass several paths to --setup, or set LIBRARIAN_VAULT / LIBRARIAN_VAULTS, or add the server manually to your MCP config. The import command additionally requires pip install markitdown; from twitter requires the bird CLI.
How do you use this skill?
After restarting Claude, use slash commands directly: /librarian analyze produces the full report plus a GRAPH_VIZ.html visualization; /librarian search "HMR timeout" does deep search with synthesis; /librarian ingest imports your latest solution doc (ingest all for batch); /librarian from web <url> converts a page into a vault note; /librarian from claude extracts decisions and fixes from local JSONL session transcripts under ~/.claude/projects/; /librarian daily "learned X" appends to today's note. Running it with no arguments prints the usage summary of all 12 commands.
How does this skill compare with similar options?
The README's comparison table names three alternatives: reading files directly (no search/linking/graph), Obsidian Copilot, and mcp-obsidian (both Obsidian-dependent plugins lacking auto-linking, community detection, and standalone visualization). Librarian's differentiators are the standalone binary, auto-linking on write, and the full graph-analysis pipeline.