Skip to content

/wiki-mode

Read or configure the vault filing methodology and suggest destinations for planned knowledge creation under Generic, LYT, PARA, or Zettelkasten. Use for wiki mode, methodology mode, what is my vault mode, set vault mode, switch to PARA, use LYT, Zettelkasten setup, change mode,

From plugin
claude-obsidian
16k15 skills3 agents2 hooks

Claude Code

$ npx -y skills add AgriciDaniel/claude-obsidian --skill wiki-mode --agent claude-code

SKILL.md

wiki-mode.SKILL.md
name: wiki-mode
description: "Read or configure the vault filing methodology and suggest destinations for planned knowledge creation under Generic, LYT, PARA, or Zettelkasten. Use for wiki mode, methodology mode, what is my vault mode, set vault mode, switch to PARA, use LYT, Zettelkasten setup, change mode, configure mode, or methodology routing. This skill does not save content or migrate notes."

Route by vault methodology

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.

Read and route safely

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 as structural guidance: [LYT atomic](templates/lyt/atomic-template.md), [LYT MOC](templates/lyt/moc-template.md), [PARA area](templates/para/area-template.md), [PARA project](templates/para/project-template.md), [PARA resource](templates/para/resource-template.md), or [Zettelkasten atomic](templates/zettel/atomic-template.md). They use canonical `type` values from `claude_obsidian/page_schema.py` and a separate flat `methodology_role` property:

| Template | Type | Methodology role | |---|---|---| | LYT atomic | `concept` | `atomic` | | LYT MOC | `meta` | `moc` | | PARA area | `concept` | `area` | | PARA project | `entity` | `project` | | PARA resource collection | `concept` | `resource` | | Zettelkasten atomic | `concept` | `zettel` |

A resource template describes a topic collection. Use `source` instead when the new page represents a particular captured source. The methodology role does not add a router type: pass the canonical type and respect the chosen project, area, or MOC destination. Structural MOCs use an explicit destination; `meta` is not a routable new-note type. Existing user pages, custom type vocabularies, and saved Dataview queries remain unchanged. Any requested migration needs its own reviewed plan; switching mode never rewrites existing notes.

Change mode

A mode change is one configuration operation, dry-run first:

1. Read the current `.vault-meta/mode.json`, or start from the helper's default config when it is absent. 2. Validate the requested mode as exactly `generic`, `lyt`, `para`, or `zettelkasten`. Preserve the other mode-specific settings. 3. Choose and retain a pinned UTC timestamp and operation ID for both commands. 4. 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"

5. Show the old mode, new mode, exact changed path, and complete preview. Copy its `approved_plan_sha256` only after review. 6. 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" --apply

Follow the [operation transaction contract](../wiki/references/operation-transactions.md). 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.

Checkpoint

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.

Read more
@agricidaniel
Ships withclaude-obsidian

Self-organizing AI second brain for Obsidian + Claude Code. Drop any source and Claude reads, links, and files it into one connected knowledge graph of plain Markdown you own. AI note-taking, personal knowledge management (PKM), and an open-source Notion alternative. Based on Karpathy's LLM Wiki pattern.

Stars on GitHub

Momentum

stars in total
16.3k
Star history of AgriciDaniel/claude-obsidian on GitHub, a chart by star-history.com

Other skills on claude-obsidian.

autoresearch
Auto-invoked

autoresearch

Run a bounded, source-grounded research loop, draft a cited dossier, and optionally propose a separately reviewed canonical vault…

canvas
Auto-invoked

canvas

Create, inspect, and update Obsidian JSON Canvas boards with text, file, link, group, and edge nodes. Use for canvas status,…

defuddle
Auto-invoked

defuddle

Plan optional Defuddle extraction and retain already available local source files through reviewed filesystem capture. Use for…

obsidian-bases
Auto-invoked

obsidian-bases

Explain, draft, and validate Obsidian Bases .base files with filters, formulas, properties, summaries, and table, card, list, or…

save
Auto-invoked

save

Save a user-selected answer, decision, insight, or session summary into an Obsidian vault as one reviewed transaction. Use only…

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about wiki-mode.

Which coding agents can use wiki-mode?
wiki-mode installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.