vault
Unified knowledge base — shared Obsidian-compatible vault for curated pages, journal entries, and user notes
Best use case
vault is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Unified knowledge base — shared Obsidian-compatible vault for curated pages, journal entries, and user notes
Teams using vault should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/vault/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How vault Compares
| Feature / Agent | vault | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Unified knowledge base — shared Obsidian-compatible vault for curated pages, journal entries, and user notes
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Vault — Unified Knowledge Base You have a vault — a shared Obsidian-compatible folder of markdown files with `[[wiki-links]]`. The vault contains your curated pages, daily journal entries, and the user's own notes. ## Your Home Folder Your files live under `agent/` in the vault: - `agent/pages/` — curated wiki pages (living documents you revise and improve over time) - `agent/journal/` — daily journal entries (timestamped observations, append-only) **Write to `agent/` by default.** You can read anything in the vault, but only write outside `agent/` when the user explicitly asks. ## Vault Gardening Rules **Search before create.** ALWAYS use `vault_search` before making a new page. Look for existing pages to add to rather than creating duplicates. **Revise and rewrite.** Don't just append facts to the bottom of a page. Restructure, condense, and rewrite as understanding evolves. New information should improve the whole page. **Link liberally.** Use `[[Page Name]]` to connect related concepts. Links are how the knowledge graph grows. **Include sources.** Add a `## Sources` section at the bottom of pages noting where information came from. Link to journal entries with relative paths when appropriate. **Create entity pages.** For people, projects, and recurring topics, create dedicated pages in `agent/pages/` that accumulate facts over time. **Merge related content.** When you find scattered information about a topic, consolidate into one well-organized page. **Split when large.** When a page grows unwieldy, break it into sub-pages with a summary parent that links to them. **Update over duplicate.** If new information contradicts existing content, edit the existing page. The vault should reflect current understanding, not a history of changes. **tl;dr summaries.** Pages longer than ~20 lines should have a blockquote summary immediately after the `# Title`: `> tl;dr: One or two sentence summary.` Keep these concise. Update them when the page content changes significantly. Short pages don't need them. ## Journal vs Pages - **Journal entries** (`vault_journal_append`) are for timestamped observations — things that happened, things you learned, raw notes. Append-only. - **Pages** (`vault_write`) are for curated knowledge — distilled, organized, revised over time. Living documents. - The dream process periodically reviews journal entries and distills insights into pages. ## Boundaries - `vault_write` modifies files in the vault. Default to writing in `agent/pages/`. - Use `vault_read` before `vault_write` when updating existing pages — `vault_write` overwrites the entire page. - `vault_rename` renames or moves an existing page (updates the embedding index). Prefer it over delete + rewrite when the content stays the same. - `vault_delete` permanently removes a page. Only for pages that are definitively wrong, duplicate, or no longer reachable — prefer editing over deleting when the page can be salvaged. Pages outside `agent/` will trigger a user confirmation. - User pages outside `agent/` are writable on explicit user request. Each `vault_write` / `vault_delete` / `vault_rename` triggers a user confirmation. For batch operations (3+ pages in the same folder), call `vault_grant_folder` first to trust the folder for the rest of the conversation and skip per-page confirmations. ## Editing Sections Prefer section-aware tools over `vault_write` when making targeted structural edits to a page: - `vault_show_sections(page)` — inspect the page outline and line numbers before editing. Use this first when you need to know where a section starts or what's in it. - `vault_section(page, action="add"|"rename"|"remove"|"move", ...)` — add, rename, remove, or reorder sections without rewriting the whole page. Use instead of `vault_write` when the change is structural. - `vault_move_lines(from_page, to_page, lines, to_section)` — migrate specific lines (typically to-do items) from one agent page to another. `from_page` and `to_page` must be different files; for intra-page moves use `vault_section` with `action="move"`. Use `vault_write` when rewriting a page's content substantially. Use section tools for targeted structural changes. ## Organizing with Folders The vault supports hierarchical folders. Use them to keep related pages together as topics grow. - **Prefer folders over flat lists.** When a topic area accumulates 3+ related pages, group them into a folder (e.g. `agent/pages/projects/decafclaw/`). - **Suggested conventions:** `projects/`, `people/`, `resources/`, or topic-specific areas. These aren't rigid — let the content guide the structure. - **Use folder paths in vault tools:** `vault_write(page="agent/pages/projects/decafclaw/roadmap", ...)`. - **Use `vault_list` with folder filter** to explore a specific area: `vault_list(folder="agent/pages/projects")`. - **Link with folder paths (vault-root-relative):** `[[agent/pages/projects/decafclaw/roadmap]]` for explicit links, or `[[roadmap]]` for stem-based resolution (picks the closest match). ## Navigating the Knowledge Graph **Follow links.** When you read a page, note any `[[wiki-links]]` in the content. If the linked pages are relevant to your current task, read them too — context builds through connections. **Check backlinks.** After reading a page, use `vault_backlinks` to see what other pages reference it. This reveals related context that might not be obvious from the page itself. **Explore before answering.** When a user asks about a topic, don't just read one page — follow the links and backlinks to build a fuller picture before responding. ## When to Consult the Vault - A user asks about a person, project, or topic → `vault_search` first, then `vault_read` matching pages - You need context for a task → check if there's a page with relevant background - You're about to give advice or make a decision → see if the vault has recorded preferences or prior decisions - You're unsure about something the user told you before → the vault may have the curated answer - Don't rely solely on conversation history — the vault may have information from past conversations ## When to Update the Vault - Someone tells you a fact, preference, or decision worth remembering long-term → page in `agent/pages/` - An observation or event worth recording → `vault_journal_append` - You notice scattered information about a topic → consolidate into a page - A project or person comes up repeatedly → create an entity page - You learn something that corrects or updates existing knowledge → revise the page
Related Skills
tabstack
Your primary tool for any web, PDF, or research task. More powerful than web_fetch — prefer this for all research, web reading, and data extraction. Triggers on: 'tell me about,' 'what is,' 'look up,' 'find out,' 'research,' 'summarize this article,' 'read this PDF,' 'check this site,' 'what does this page say,' 'extract data from,' 'find the price on,' 'compare X vs Y,' 'is it true that,' or any URL/link. Handles JavaScript-heavy websites, PDFs, structured data extraction, content transformation, multi-source research with citations, and multi-step browser automation.
project
Structured project workflow: brainstorm, spec, plan, execute multi-step tasks
postmortem
Structured blameless analysis of what went wrong in this conversation — identifies root causes and proposes minimal, specific fixes
newsletter
Compose and deliver a narrative newsletter summarizing autonomous agent activity in the window.
mcp
Admin tools for inspecting and restarting connected MCP servers — status, resources, prompts. Does NOT expose tools provided by MCP servers; those appear as mcp__server__tool and are fetched via tool_search.
ingest
Fetch a URL, workspace file, or attachment and integrate its content into the vault — one primary page plus cross-linked updates to related pages
health
Show agent diagnostic status — process, MCP, heartbeat, tools, embeddings
garden
Vault gardening sweep — merge, link, split, and tidy agent pages
dream
Review recent journal entries and conversations, distill insights into vault pages
claude_code
Delegate coding tasks to Claude Code as a subagent. Use when asked to fix bugs, add features, refactor code, write tests, review code, or do any work that requires reading and editing files in a codebase. Triggers on: 'fix this bug', 'add a feature', 'refactor', 'write a test', 'review this code', 'update the config', 'clean up', or any request involving code changes in a repository.
background
Start, monitor, and stop long-running background processes (servers, watchers, builds). Returns immediately with a job ID you can poll for output.
writing-clearly
Edit prose for clarity and concision using Strunk's *The Elements of Style* (1918). Use whenever you have a draft — documentation, commit messages, blog posts, replies — that should be tightened before it goes out.