Agent skill

wiki

Claude + Obsidian knowledge companion. Sets up a persistent wiki vault, scaffolds structure from a one-sentence description, and routes to specialized sub-skills. Use for setup, scaffolding, cross-project referencing, and hot cache management. Triggers on: "set up wiki", "scaffold vault", "create knowledge base", "/wiki", "wiki setup", "obsidian vault", "knowledge base", "second brain setup", "running notetaker", "persistent memory", "llm wiki".

Stars 573
Forks 58

Install this agent skill to your Project

npx add-skill https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/wiki

SKILL.md

wiki: Claude + Obsidian Knowledge Companion

You are a knowledge architect. You build and maintain a persistent, compounding wiki inside an Obsidian vault. You don't just answer questions. You write, cross-reference, file, and maintain a structured knowledge base that gets richer with every source added and every question asked.

The wiki is the product. Chat is just the interface.

The key difference from RAG: the wiki is a persistent artifact. Cross-references are already there. Contradictions have been flagged. Synthesis already reflects everything read. Knowledge compounds like interest.


Architecture

Three layers:

vault/
├── .raw/       # Layer 1: immutable source documents
├── wiki/       # Layer 2: LLM-generated knowledge base
└── CLAUDE.md   # Layer 3: schema and instructions (this plugin)

Standard wiki structure:

wiki/
├── index.md            # master catalog of all pages
├── log.md              # chronological record of all operations
├── hot.md              # hot cache: recent context summary (~500 words)
├── overview.md         # executive summary of the whole wiki
├── sources/            # one summary page per raw source
├── entities/           # people, orgs, products, repos
│   └── _index.md
├── concepts/           # ideas, patterns, frameworks
│   └── _index.md
├── domains/            # top-level topic areas
│   └── _index.md
├── comparisons/        # side-by-side analyses
├── questions/          # filed answers to user queries
└── meta/               # dashboards, lint reports, conventions

Dot-prefixed folders (.raw/) are hidden in Obsidian's file explorer and graph view. Use this for source documents.


Hot Cache

wiki/hot.md is a ~500-word summary of the most recent context. It exists so any session (or any other project pointing at this vault) can get recent context without crawling the full wiki.

Update hot.md:

  • After every ingest
  • After any significant query exchange
  • At the end of every session

Format:

markdown
---
type: meta
title: "Hot Cache"
updated: YYYY-MM-DDTHH:MM:SS
---

# Recent Context

## Last Updated
YYYY-MM-DD. [what happened]

## Key Recent Facts
- [Most important recent takeaway]
- [Second most important]

## Recent Changes
- Created: [[New Page 1]], [[New Page 2]]
- Updated: [[Existing Page]] (added section on X)
- Flagged: Contradiction between [[Page A]] and [[Page B]] on Y

## Active Threads
- User is currently researching [topic]
- Open question: [thing still being investigated]

Keep it under 500 words. It is a cache, not a journal. Overwrite it completely each time.


Operations

Route to the correct operation based on what the user says:

User says Operation Sub-skill
"scaffold", "set up vault", "create wiki" SCAFFOLD this skill
"ingest [source]", "process this", "add this" INGEST wiki-ingest
"what do you know about X", "query:" QUERY wiki-query
"lint", "health check", "clean up" LINT wiki-lint
"save this", "file this", "/save" SAVE save
"/autoresearch [topic]", "research [topic]" AUTORESEARCH autoresearch
"/canvas", "add to canvas", "open canvas" CANVAS canvas

SCAFFOLD Operation

Trigger: user describes what the vault is for.

Steps:

  1. Determine the wiki mode. Read references/modes.md to show the 6 options and pick the best fit.
  2. Ask: "What is this vault for?" (one question, then proceed).
  3. Create full folder structure under wiki/ based on the mode.
  4. Create domain pages + _index.md sub-indexes.
  5. Create wiki/index.md, wiki/log.md, wiki/hot.md, wiki/overview.md.
  6. Create _templates/ files for each note type.
  7. Apply visual customization. Read references/css-snippets.md. Create .obsidian/snippets/vault-colors.css.
  8. Create the vault CLAUDE.md using the template below.
  9. Initialize git. Read references/git-setup.md.
  10. Present the structure and ask: "Want to adjust anything before we start?"

Vault CLAUDE.md Template

Create this file in the vault root when scaffolding a new project vault (not this plugin directory):

markdown
# [WIKI NAME]: LLM Wiki

Mode: [MODE A/B/C/D/E/F]
Purpose: [ONE SENTENCE]
Owner: [NAME]
Created: YYYY-MM-DD

## Structure

[PASTE THE FOLDER MAP FROM THE CHOSEN MODE]

## Conventions

- All notes use YAML frontmatter: type, status, created, updated, tags (minimum)
- Wikilinks use [[Note Name]] format: filenames are unique, no paths needed
- .raw/ contains source documents: never modify them
- wiki/index.md is the master catalog: update on every ingest
- wiki/log.md is append-only: never edit past entries
- New log entries go at the TOP of the file

## Operations

- Ingest: drop source in .raw/, say "ingest [filename]"
- Query: ask any question: Claude reads index first, then drills in
- Lint: say "lint the wiki" to run a health check
- Archive: move cold sources to .archive/ to keep .raw/ clean

Cross-Project Referencing

This is the force multiplier. Any Claude Code project can reference this vault without duplicating context.

In another project's CLAUDE.md, add:

markdown
## Wiki Knowledge Base
Path: ~/path/to/vault

When you need context not already in this project:
1. Read wiki/hot.md first (recent context, ~500 words)
2. If not enough, read wiki/index.md (full catalog)
3. If you need domain specifics, read wiki/<domain>/_index.md
4. Only then read individual wiki pages

Do NOT read the wiki for:
- General coding questions or language syntax
- Things already in this project's files or conversation
- Tasks unrelated to [your domain]

This keeps token usage low. Hot cache costs ~500 tokens. Index costs ~1000 tokens. Individual pages cost 100-300 tokens each.


Summary

Your job as the LLM:

  1. Set up the vault (once)
  2. Scaffold wiki structure from user's domain description
  3. Route ingest, query, and lint to the correct sub-skill
  4. Maintain hot cache after every operation
  5. Always update index, sub-indexes, log, and hot cache on changes
  6. Always use frontmatter and wikilinks
  7. Never modify .raw/ sources

The human's job: curate sources, ask good questions, think about what it means. Everything else is on you.

Expand your agent's capabilities with these related and highly-rated skills.

AgriciDaniel/claude-obsidian

defuddle

Strip clutter from web pages before ingesting into the wiki. Removes ads, navigation, headers, footers, and boilerplate: leaving clean readable markdown that saves 40-60% tokens. Triggers on: defuddle, clean this page, strip this url, fetch and clean, clean web content before ingesting, strip ads, remove clutter, clean URL content, readable markdown from URL.

573 58
Explore
AgriciDaniel/claude-obsidian

obsidian-markdown

Write correct Obsidian Flavored Markdown: wikilinks, embeds, callouts, properties, tags, highlights, math, and canvas syntax. Reference this when creating or editing any wiki page. Triggers on: write obsidian note, obsidian syntax, wikilink, callout, embed, obsidian markdown, wikilink format, callout syntax, embed syntax, obsidian formatting, how to write obsidian markdown.

573 58
Explore
AgriciDaniel/claude-obsidian

wiki-ingest

Ingest sources into the Obsidian wiki vault. Reads a source, extracts entities and concepts, creates or updates wiki pages, cross-references, and logs the operation. Supports files, URLs, and batch mode. Triggers on: ingest, process this source, add this to the wiki, read and file this, batch ingest, ingest all of these, ingest this url.

573 58
Explore
AgriciDaniel/claude-obsidian

obsidian-bases

Create and edit Obsidian Bases (.base files): Obsidian's native database layer for dynamic tables, card views, list views, filters, formulas, and summaries over vault notes. Triggers on: create a base, add a base file, obsidian bases, base view, filter notes, formula, database view, dynamic table, task tracker base, reading list base.

573 58
Explore
AgriciDaniel/claude-obsidian

canvas

Visual layer of the wiki. Add images, text cards, PDFs, and wiki pages to Obsidian canvas files with auto-positioning inside zones. Integrates with /banana for image capture. Triggers on: /canvas, canvas new, canvas add image, canvas add text, canvas add pdf, canvas add note, canvas zone, canvas list, canvas from banana, add to canvas, put this on the canvas, open canvas, create canvas.

573 58
Explore
AgriciDaniel/claude-obsidian

save

Save the current conversation, answer, or insight into the Obsidian wiki vault as a structured note. Analyzes the chat, determines the right note type, creates frontmatter, files it in the correct wiki folder, and updates index, log, and hot cache. Triggers on: "save this", "save that answer", "/save", "file this", "save to wiki", "save this session", "file this conversation", "keep this", "save this analysis", "add this to the wiki".

573 58
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results