Obsidian Project Knowledge Base
Galaxy-Dawn/claude-scholar
Maintains a project-scoped Obsidian research knowledge base: bootstrapping its folders, routing notes, updating hub, plan and index notes, and linting.
Reads or changes an Obsidian vault's filing methodology, Generic, LYT, PARA or Zettelkasten, and suggests where planned notes should go without saving or moving anything.
$ npx skills add AgriciDaniel/claude-obsidian --skill wiki-mode -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install AgriciDaniel/claude-obsidian wiki-mode --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-obsidian.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/wiki-mode .claude/skills/wiki-mode && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "wiki-mode" agent skill from https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/wiki-mode into .claude/skills/wiki-mode/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-mode", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/wiki-modeType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add AgriciDaniel/claude-obsidian --skill wiki-mode -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install AgriciDaniel/claude-obsidian wiki-mode --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-obsidian.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/wiki-mode .agents/skills/wiki-mode && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wiki-mode" agent skill from https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/wiki-mode into .agents/skills/wiki-mode/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-mode", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add AgriciDaniel/claude-obsidian --skill wiki-mode -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install AgriciDaniel/claude-obsidian wiki-mode --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-obsidian.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/wiki-mode .cursor/skills/wiki-mode && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "wiki-mode" agent skill from https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/wiki-mode into .cursor/skills/wiki-mode/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-mode", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/AgriciDaniel/claude-obsidian.git --path skills/wiki-mode--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add AgriciDaniel/claude-obsidian --skill wiki-mode -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install AgriciDaniel/claude-obsidian wiki-mode --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-obsidian.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/wiki-mode .gemini/skills/wiki-mode && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "wiki-mode" agent skill from https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/wiki-mode into .gemini/skills/wiki-mode/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-mode", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install AgriciDaniel/claude-obsidian wiki-modeInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add AgriciDaniel/claude-obsidian --skill wiki-mode -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-obsidian.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/wiki-mode .github/skills/wiki-mode && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "wiki-mode" agent skill from https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/wiki-mode into .github/skills/wiki-mode/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-mode", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add AgriciDaniel/claude-obsidian --skill wiki-mode -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install AgriciDaniel/claude-obsidian wiki-mode --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgriciDaniel/claude-obsidian.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/wiki-mode .opencode/skills/wiki-mode && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "wiki-mode" agent skill from https://github.com/AgriciDaniel/claude-obsidian/tree/main/skills/wiki-mode into .opencode/skills/wiki-mode/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wiki-mode", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
wiki-modeReads or changes an Obsidian vault's filing methodology, Generic, LYT, PARA or Zettelkasten, and suggests where planned notes should go without saving or moving anything.
The skill reports which methodology a vault uses and proposes destinations for knowledge about to be created. The mode lives in .vault-meta/mode.json: a missing file means generic, while an invalid one makes the skill stop and repair it through a reviewed configuration step instead of quietly falling back. A helper script is always given the vault explicitly and only prints suggestions, never writes pages or moves existing notes.
Routing follows the mode. Generic uses type-based folders such as sources, entities, concepts and sessions; lyt puts atomic notes under wiki/notes connected through maps of content; para picks among projects, areas, resources and archives by actionability; zettelkasten uses flat atomic notes with sortable identifiers and explicit links. Changing mode is one configuration operation, previewed as a dry run first, and the bundled LYT, PARA and Zettelkasten templates are guidance, not permission to overwrite your own conventions.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 32ac5a0. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
python3From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Vault Methodology Router loads about 1k tokens when it runs. Until then it costs about 95 tokens; SKILL.md has 410 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from AgriciDaniel/claude-obsidian at commit 32ac5a0, republished under its MIT licence (© AgriciDaniel). 410 words, ~1,046 tokens.
.claude/skills/wiki-mode/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.This skill returns filing suggestions. It does not write knowledge pages or
move existing notes. If .vault-meta/mode.json is absent, use generic. If
the file exists but is invalid, fail closed and repair it through a reviewed
configuration operation before suggesting routes; never silently substitute
Generic for corrupt user configuration.
Resolve the installed product root from this skill's own location, not from the vault or current working directory:
PRODUCT_ROOT=/absolute/path/to/installed/claude-obsidian
CORE="$PRODUCT_ROOT/scripts/claude-obsidian.py"
MODE_HELPER="$PRODUCT_ROOT/scripts/wiki-mode.py"
test -f "$CORE" && test -f "$MODE_HELPER"Every ../wiki/references/ link in this file resolves the same way, relative
to this skill's own directory under $PRODUCT_ROOT, never relative to the
selected vault's wiki/ directory.
Always select the vault explicitly:
python3 "$MODE_HELPER" --vault "$VAULT" get
python3 "$MODE_HELPER" --vault "$VAULT" config
python3 "$MODE_HELPER" --vault "$VAULT" route concept "Concept name"
python3 "$MODE_HELPER" --vault "$VAULT" route source "Source title"The helper validates the selected vault, confines paths, sanitizes names, and prints a suggestion only. A calling skill may override the suggestion when the user supplies a more specific project, area, MOC, or parent note, but it must still apply its eventual writes through one operation transaction.
| Mode | Routing intent |
|---|---|
generic | Type-based folders such as sources, entities, concepts, and sessions. |
lyt | Atomic notes under wiki/notes/, connected through MOCs. |
para | Projects, Areas, Resources, or Archives chosen by actionability. |
zettelkasten | Flat atomic notes with time-sortable, collision-resistant identifiers and explicit links. |
Use the templates under templates/ as structural guidance, not authority to
overwrite user conventions.
A mode change is one configuration operation, dry-run first:
Read the current .vault-meta/mode.json, or start from the helper's default
config when it is absent.
Validate the requested mode as exactly generic, lyt, para, or
zettelkasten. Preserve the other mode-specific settings.
Choose and retain a pinned UTC timestamp and operation ID for both commands.
Preview the canonical configuration transaction; the command records the
current target hash and limits the write to .vault-meta/mode.json:
python3 "$CORE" mode set "$MODE" --vault "$VAULT" \
--generated-at "$GENERATED_AT" --operation-id "$OPERATION_ID"Show the old mode, new mode, exact changed path, and complete preview. Copy
its approved_plan_sha256 only after review.
Apply by regenerating that exact vault-bound plan:
python3 "$CORE" mode set "$MODE" --vault "$VAULT" \
--generated-at "$GENERATED_AT" --operation-id "$OPERATION_ID" \
--approved-plan-sha256 "$APPROVAL_SHA256" --applyFollow the operation transaction contract.
Do not use scripts/wiki-mode.py's legacy direct-write set action or a setup
script to bypass this workflow.
Changing mode affects routing for future operations only. Never bulk-create folders, move notes, rewrite wikilinks, or migrate existing pages as a side effect. If migration is later requested, plan and review it as a distinct operation with its own hashes and transaction.
Observe the user's current structure, think about how they retrieve and act on notes, verify a few proposed routes before changing configuration, and grow by revisiting the mode only when real filing friction appears.
© AgriciDaniel, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 6 other files in skills/wiki-mode of AgriciDaniel/claude-obsidian.
Open the folder on GitHubat commit 32ac5a0
Vault Methodology Router next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Vault Methodology Router this skillAgriciDaniel/claude-obsidian | 15k | — | ~1k | Automated safety check: Pass | MIT | |
| Obsidian Project Knowledge BaseGalaxy-Dawn/claude-scholar | 5.7k | — | ~551 | Automated safety check: Pass | MIT | |
| Ray Obsidian Vault Setupimraywang/rayskills | 160 | — | ~625 | Automated safety check: Pass | Custom licence | |
| LLM Wikilewislulu/llm-wiki-skill | 655 | — | ~3.7k | Automated safety check: Pass | None | |
| My LLM WikiMartinLwx/dotfiles | 140 | — | ~2.7k | Automated safety check: Pass | None | |
| Obsidian Knowledge BuilderMichael-OvO/obsidian-knowledge-agent | 205 | — | ~917 | Automated safety check: Pass | MIT |
Galaxy-Dawn/claude-scholar
Maintains a project-scoped Obsidian research knowledge base: bootstrapping its folders, routing notes, updating hub, plan and index notes, and linting.
imraywang/rayskills
Sets up, audits or incrementally upgrades a local Obsidian vault for knowledge work and content production, without overwriting or moving existing notes.
lewislulu/llm-wiki-skill
Build and maintain a Karpathy-style LLM knowledge base — a self-compiling Obsidian markdown wiki where an Agent ingests raw sources, compiles cross-linked concept/entity/summary pages, answers…
MartinLwx/dotfiles
Provides access to the user's personal wiki, including notes, research, project documentation, decisions, and archived knowledge.
Michael-OvO/obsidian-knowledge-agent
Turns PDFs, slides, syllabi, papers and transcripts into structured, teaching-quality Obsidian notes, matching how much structure is built to how much the material needs.
CharlesHoskinson/sevenlayer
Builds and maintains a persistent, interlinked Obsidian-compatible markdown knowledge wiki in a git repo via three operations — ingest a source into linked pages, answer a question from the…
AgriciDaniel/claude-obsidian
Runs a bounded, source-grounded research loop that drafts a cited dossier and can propose a separately reviewed merge into an Obsidian vault.
AgriciDaniel/claude-obsidian
Creates a bounded, extractive rollup of recent Obsidian wiki log entries, previewed by default, with one optional apply step and no changes to child pages.
AgriciDaniel/claude-obsidian
Creates, inspects and updates Obsidian JSON Canvas boards in a vault, with text, file, link, group and edge nodes, using safe recoverable edits.
AgriciDaniel/claude-obsidian
Plans, and with explicit network consent runs, an external Defuddle extractor that turns an article-like HTTPS page into clean Markdown for later wiki ingestion.
AgriciDaniel/claude-obsidian
Sets up or adopts a separate Obsidian knowledge vault through the claude-obsidian core script and routes follow-up work to the right wiki sub-skill.
AgriciDaniel/claude-obsidian
Files a specific answer, decision or insight you point to in a conversation as one reviewed note in your Obsidian vault, and only when you ask for it.
Works with
Categories
Reads or changes an Obsidian vault's filing methodology, Generic, LYT, PARA or Zettelkasten, and suggests where planned notes should go without saving or moving anything. The skill reports which methodology a vault uses and proposes destinations for knowledge about to be created.json: a missing file means generic, while an invalid one makes the skill stop and repair it through a reviewed configuration step instead of quietly falling back.
Vault Methodology Router fits situations like: checking which filing methodology a vault is currently set to; switching a vault between generic, LYT, PARA and Zettelkasten modes; deciding where a planned new note belongs under the active methodology.
Run `npx skills add AgriciDaniel/claude-obsidian --skill wiki-mode -a claude-code`. Or copy the skill folder (skills/wiki-mode in AgriciDaniel/claude-obsidian) into .claude/skills/wiki-mode in your project. Claude Code loads it when a task matches its description.
Run `npx skills add AgriciDaniel/claude-obsidian --skill wiki-mode -a codex`. Or copy the skill folder (skills/wiki-mode in AgriciDaniel/claude-obsidian) into .agents/skills/wiki-mode in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AgriciDaniel/claude-obsidian --skill wiki-mode -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wiki-mode, .gemini/skills/wiki-mode, .github/skills/wiki-mode and .opencode/skills/wiki-mode in your project.
Going by SKILL.md and its folder, Vault Methodology Router needs the command-line tools its instructions call (python3). Our summary lists: An Obsidian vault with the claude-obsidian plugin installed; Python 3 for the mode helper script.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Vault Methodology Router is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1k tokens (SKILL.md is roughly 4.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Vault Methodology Router: Obsidian Project Knowledge Base (Galaxy-Dawn/claude-scholar, 5.7k stars), Ray Obsidian Vault Setup (imraywang/rayskills, 160 stars), LLM Wiki (lewislulu/llm-wiki-skill, 655 stars) and My LLM Wiki (MartinLwx/dotfiles, 140 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
AgriciDaniel (a GitHub user) maintains it in AgriciDaniel/claude-obsidian, which has 15,399 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on September 10, 2026.
Source: AgriciDaniel/claude-obsidian on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.