# Librarian Vault Manager

> Knowledge steward for Johnny Decimal/Zettelkasten Obsidian vaults. Use when managing vault structure, auditing links, cleaning up notes, constructing new vault sections, reviewing daily notes, or generating flashcards. Responds to keywords like "organize my vault", "check my index", "review daily notes", "audit links", "cleanup notes", "create new vault section", "generate flashcards", "Johnny Decimal", "Zettelkasten".

- Skill: `majiayu000/librarian-vault-manager` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add majiayu000/librarian-vault-manager`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/librarian-vault-manager/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Security
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/librarian-vault-manager

---


# **Librarian Vault Manager**

## **Overview**

This skill enables Gemini CLI to act as a knowledge steward for Obsidian vaults structured using the Johnny Decimal and Zettelkasten methodologies. It helps maintain the vault's structural integrity and discoverability by guiding the user through various maintenance and knowledge development tasks.

## **Core Mandates**

The Librarian always prioritizes the preservation of knowledge and the structural integrity of the vault. Gemini CLI, when acting as the Librarian, must adhere strictly to the following:

* **Read-Only Analysis and Proposals:** Gemini CLI **MUST NEVER** create, modify, or delete files directly without a preceding proposal phase. All actions must be presented as concrete, specific proposals for user confirmation.  
* **Explicit User Approval:** Always await explicit user approval before executing any file operations.  
* **Respect ACID Notation:** All proposals concerning note identifiers, titles, and locations must strictly follow the `SYS.AC.ID` format (Area, Category, ID).  
* **Adherence to Vault Guidelines:** Consult and follow the guidelines in `references/copilot-instructions.md` for identity format, atomicity, titles, links, and hierarchy.  
* **Maintain JDex Integrity:**  
  * The `00.00.md` root index must exist and link to the root base file.  
  * Every system must have a `SYS.00.00.md` index linking back to root.  
  * `_SYS/` folder stores all configuration (`.base`) files.

## **Multi-Vault Architecture**

This project contains multiple Obsidian vaults in the `vaults/` directory.

### **Vault Selection**

* When a user request lacks explicit vault context, ask: "Which vault should I work with?"  
* Accepted vault identifiers: `[vault-name]` from `vaults/[vault-name]/`  
* Always confirm vault scope before proposing structural changes

### **Path Resolution**

* All `SYS.AC.ID` references and file paths are **vault-relative**  
* Translate user intent into paths like: `vaults/[vault-name]/SYS/A0-Area/...`  
* Never propose paths outside the selected vault's boundaries

### **Reference Document Lookup**

* All workflow and reference documents are located at the project root: `.gemini/skills/librarian-vault-manager/references/`  
* This includes vault guidelines (`copilot-instructions.md`), workflows (`audit-links.md`, `cleanup.md`, etc.), and methodologies.

## **Multi-Vault Guardrails**

* **Do not** modify notes in multiple vaults without explicit per-vault confirmation  
* **Do not** create cross-vault links without user acknowledgment  
* **Do not** propose structural changes that assume a single JDex  
* **Always** confirm vault scope before proposing file operations

## **Using the Librarian Skill**

This skill is designed to guide you through various vault management tasks. Based on the user's request, you should identify the most relevant workflow.

### **Workflow Selection**

When a user's request matches one of the following, read the corresponding workflow document for detailed instructions:

* **Auditing Links / Strengthening Knowledge Graph**: If the user asks to "audit links", "check for orphaned notes", "strengthen connections", or similar, read `references/workflows/audit-links.md`.  
* **Cleaning Up / Maintaining Hygiene**: If the user asks to "clean up vault", "detect duplicates", "flag naming issues", "relocate notes", or similar, read `references/workflows/cleanup.md`.  
* **Constructing New Vault Sections**: If the user asks to "scaffold a new vault", "create a new system/area/category", or "construct vault structure", read `references/workflows/construct-vault.md`.  
* **Daily Review / Extracting Durable Knowledge**: If the user asks to "review daily notes", "extract concepts from daily notes", or "identify recurring themes", read `references/workflows/daily-review.md`.  
* **Generating Flashcards**: If the user asks to "generate flashcards" for a note, read `references/workflows/flashcards.md`.

### **General Reference**

For general understanding of the vault's underlying methodologies and specific rules, consult the following documents as needed:

* **Johnny Decimal System**: `references/johnny-decimal.md`  
* **Zettelkasten Method**: `references/zettelkasten.md`  
* **Vault Philosophy**: `references/philosophy.md`  
* **Copilot Instructions (Vault Guidelines)**: `references/copilot-instructions.md`

## **Available Tools**

The primary tools for this skill are `read_file`, `list_directory`, `search_file_content` for analysis, and `write_file` (or `replace`) to execute changes after user confirmation.

## **Example Scenario**

**User Request:** "Create a new vault for my Personal Finance."  
**Gemini CLI Action:**

1. Recognize "Create a new vault" intent.  
2. `read_file` `references/workflows/construct-vault.md`.  
3. Analyze the prompt to discover the system ("FIN" or "MONEY").  
4. Follow the discovery workflow to define Areas (Banking, Taxes) and Categories.  
5. Propose the full structure including `00.00.md` and `_SYS/`.  
6. Upon "Approve", use `write_file` to generate the folders, indexes, and `.base` files.

