From claude-obsidian
Lets a vault declare an organizational style (LYT/PARA/Zettelkasten/Generic) that filing skills consult before creating new pages. Reads `.vault-meta/mode.json`.
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-obsidian:wiki-modeThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
The v1.6 + v1.7 vault structure was opinion-free — `wiki/sources/`, `wiki/entities/`, `wiki/concepts/`, and so on. That works for power-users with their own organizational instincts. It does NOT serve the large segment of Obsidian users who want a named methodology to follow.
The v1.6 + v1.7 vault structure was opinion-free — wiki/sources/, wiki/entities/, wiki/concepts/, and so on. That works for power-users with their own organizational instincts. It does NOT serve the large segment of Obsidian users who want a named methodology to follow.
v1.8 ships wiki-mode to close that gap. A vault declares a mode (LYT, PARA, Zettelkasten, or Generic) in .vault-meta/mode.json; the other skills consult it before deciding where to file new pages. Mode = generic is the default and preserves v1.6/v1.7 behavior exactly.
Per May 2026 compass artifact: This was priority gap 5 of the 5 identified. Ideaverse Pro 2.0 ($200 paid vault) ships LYT as an opinionated structure; no Claude+Obsidian competitor ships PARA / Zettelkasten / mode-aware routing as a first-class skill. v1.8 takes us from TIE → LEAD on the audit §9 methodology-support axis (5 of 7 axes #1).
Philosophy: notes link, folders don't. The organizational primitive is the MOC (Map of Content) — a hub note that links into a cluster of atomic notes. You never browse folders; you navigate by following links.
Filing convention:
wiki/mocs/<topic>-moc.md — the MOC for a topic clusterwiki/notes/<atomic-note>.md — flat list of atomic notes, named by their idea, all linked from at least one MOCWhen to use: mid-to-large knowledge bases (>100 notes), users who think in terms of conceptual clusters, knowledge graphs.
Philosophy: organize by actionability, not topic. Active work in Projects, ongoing responsibilities in Areas, reference material in Resources, completed/inactive in Archives.
Filing convention:
wiki/projects/<project-name>/<note>.md — active projects with a deadline/outcomewiki/areas/<area-name>/<note>.md — ongoing responsibilities (no deadline)wiki/resources/<topic>/<note>.md — reference material, organized by topicwiki/archives/<year>/<note>.md — completed projects, sunsetted areasWhen to use: workflow-heavy users, knowledge workers managing many projects, GTD-adjacent practitioners.
Philosophy: atomic notes, unique IDs, dense bidirectional linking. No folders. Every note answers exactly one idea. Notes find each other by ID references.
Filing convention:
wiki/<YYYYMMDDHHMMSSffffff>-<slug>.md — flat, timestamped IDs (20 digits = date + microseconds, collision-resistant)id:, parent_id: (optional), child_ids: (optional) in frontmatterWhen to use: academics, researchers, long-term thinkers building permanent knowledge artifacts. Highest discipline; smallest filing surface.
Filing convention: preserves the v1.6/v1.7 default — wiki/sources/, wiki/entities/, wiki/concepts/, wiki/<domain>/. No opinion imposed.
When to use: when you don't want to commit to a methodology, or you're migrating from v1.7 and want zero behavior change.
bash bin/setup-mode.sh
Interactive prompt: pick one of the 4 modes. Writes .vault-meta/mode.json. Optionally seeds template folders (LYT mocs/, PARA projects/areas/resources/archives/).
To check the current mode programmatically:
cat .vault-meta/mode.json | python3 -c 'import json,sys; print(json.load(sys.stdin)["mode"])'
To switch modes later: re-run setup-mode.sh. Existing files are NOT auto-migrated; the new mode only affects newly-filed pages from that point. Migration is a manual operation (see migration section below).
.vault-meta/mode.json){
"schema_version": 1,
"mode": "lyt|para|zettelkasten|generic",
"configured_at": "ISO-8601 timestamp",
"config": {
"lyt": {
"moc_folder": "wiki/mocs/",
"notes_folder": "wiki/notes/"
},
"para": {
"projects_folder": "wiki/projects/",
"areas_folder": "wiki/areas/",
"resources_folder": "wiki/resources/",
"archives_folder": "wiki/archives/"
},
"zettelkasten": {
"id_format": "YYYYMMDDHHMMSSffffff",
"no_folders": true,
"root_folder": "wiki/"
},
"generic": {
"sources_folder": "wiki/sources/",
"entities_folder": "wiki/entities/",
"concepts_folder": "wiki/concepts/",
"sessions_folder": "wiki/sessions/"
}
}
}
The config block always includes ALL four modes; the active one is named by mode. This lets you switch modes without losing custom folder overrides.
The integration layer is in three skills:
skills/wiki-ingest/SKILL.md — "## Mode awareness (v1.8+)" sectionskills/save/SKILL.md — "## Mode awareness (v1.8+)" sectionskills/autoresearch/SKILL.md — "## Mode awareness (v1.8+)" sectionEach consults .vault-meta/mode.json (via cat or direct Read). If absent → mode = generic, behavior unchanged. If present and mode != generic, route per the mode's config.
The routing table:
| Content type | Generic | LYT | PARA | Zettelkasten |
|---|---|---|---|---|
| New source ingest | wiki/sources/foo.md | wiki/notes/foo.md + add to topic MOC | wiki/resources/<topic>/foo.md | wiki/<ID>-foo.md |
| New entity | wiki/entities/<Name>.md | wiki/notes/<Name>.md + entity MOC | wiki/resources/people/<Name>.md | wiki/<ID>-<name>.md |
| New concept | wiki/concepts/<Name>.md | wiki/notes/<Name>.md + concept MOC | wiki/resources/concepts/<Name>.md | wiki/<ID>-<name>.md |
Session note (/save) | wiki/sessions/<date>-<topic>.md | wiki/notes/<date>-<topic>.md + session MOC | wiki/projects/<project>/<date>-<topic>.md | wiki/<ID>-session-<topic>.md |
Research output (/autoresearch) | wiki/concepts/<topic>.md | wiki/notes/<topic>.md + topic MOC | wiki/resources/<topic>/<topic>.md | wiki/<ID>-<topic>.md |
Per-mode templates live at skills/wiki-mode/templates/:
lyt/moc-template.md — MOC scaffoldinglyt/atomic-template.md — atomic note linking into MOCspara/project-template.md — project with status + deadline + next-actionpara/area-template.md — ongoing responsibilitypara/resource-template.md — reference materialzettel/atomic-template.md — atomic claim + parent/child IDsSkills that file new pages consult the template matching the (mode, content-type) pair as a structural starting point. Templates are SUGGESTIONS; the skill's own content logic always wins.
Switching modes does NOT auto-migrate existing files. Manual migration:
bash bin/setup-mode.shgit mvWhy no auto-migration: the wiki contains your thinking. Auto-rewriting paths could break wikilinks, lose data, or surprise you. Manual migration forces explicit decisions about what fits the new methodology vs what stays in its current home.
For LYT specifically: after switching to LYT, run lint the wiki (skill: wiki-lint) to identify orphan pages that would benefit from MOC inclusion.
This skill is universally available in v1.8+. No bin/setup-*.sh required for the skill itself — only for explicitly setting a non-default mode. Skills that consume the mode check for .vault-meta/mode.json; absence = generic.
# Detection idiom for consumers:
if [ -f .vault-meta/mode.json ]; then
MODE=$(python3 -c 'import json; print(json.load(open(".vault-meta/mode.json"))["mode"])')
else
MODE="generic"
fi
Per audit §9: methodology support is the cheapest axis to lead. Nobody else ships it. The implementation is mostly conventions + routing + templates; no new infrastructure, no new dependencies. It's the highest-ROI release in the roadmap before the bigger v2.0 (derive) + v2.5 (GUI) work.
After v1.8: claude-obsidian leads on 5 of 7 axes per compass artifact. The remaining 2 (GUI ergonomics, derivative outputs) are major releases by themselves.
docs/methodology-modes-guide.md — narrative guide, when-to-use-which decision treewiki/references/methodology-modes.md — short decision treedocs/compound-vault-guide.md — v1.7 omnibus (v1.8 builds on this)docs/audits/v1.7.0-audit-2026-05-17.mdWhen working on this skill, apply the 10-principle loop. See skills/think/SKILL.md for the canonical framework.
| # | Principle | Application here |
|---|---|---|
| 1 | OBSERVE (ext) | Read .vault-meta/mode.json to know which mode is active before routing anything. |
| 2 | OBSERVE (int) | Audit the assumption that mode=generic is the default — the user may be on LYT/PARA/Zettelkasten. |
| 3 | LISTEN | The mode is the user's organizational instinct, not yours. Respect what they configured. |
| 4 | THINK | Apply the mode-specific routing rule to the content type at hand (source / entity / concept / session / research). |
| 5 | CONNECT (lat) | This skill's safe_name is the canonical sanitizer — wiki-ingest, save, autoresearch all funnel through here. |
| 6 | CONNECT (sys) | Three consumer skills depend on route output; consistency across consumers is the v1.8 contract. |
| 7 | FEEL | Does the routed path feel right to the user? wiki/notes/Foo.md (LYT) means something different from wiki/concepts/Foo.md (generic). |
| 8 | ACCEPT | Mode choice is the user's call. Accept that PARA users will sometimes want to override the auto-route. |
| 9 | CREATE | Return the routed path string — a single safe filesystem location. |
| 10 | GROW | When modes change mid-vault, surface the migration cost honestly; existing pages do NOT auto-migrate. |
npx claudepluginhub agricidaniel/claude-obsidian --plugin claude-obsidianSets up and maintains a persistent Obsidian wiki vault as composable knowledge base. Scaffolds structure, manages cross-references, and provides a hot cache for cross-session context.
Handles Obsidian vault mechanics: detects vaults via .obsidian/, parses wiki links, configs for daily notes/templates/plugins, CLAUDE.md routing. Use for Obsidian vaults or structured markdown.
Initializes any folder as a Bedrock-powered Obsidian vault by creating entity directories, copying templates, configuring language/domain taxonomy, scaffolding example entities, and checking dependencies. Use for 'bedrock setup' or new vault bootstrapping.