/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,
$ npx -y skills add AgriciDaniel/claude-obsidian --skill wiki-mode --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/wiki-mode
Context preview
The summary Claude sees to decide when to auto-load this skill.
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,
SKILL.md
wiki-mode.SKILL.mdname: 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"
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 under `templates/` as structural guidance, not authority to overwrite user conventions.
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" --applyFollow 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
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"
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 under `templates/` as structural guidance, not authority to overwrite user conventions.
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" --applyFollow 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.
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.
Other skills on claude-obsidian.
- /autoresearch
Run a bounded, source-grounded research loop, draft a cited dossier, and optionally propose a separately reviewed canonical vault merge. Use when the user wants autonomous or deep research that may access the public web. Triggers: /autoresearch, autoresearch, research this
Open skill - /canvas
Create, inspect, and update Obsidian JSON Canvas boards with text, file, link, group, and edge nodes. Use for canvas status, canvas lists, visual maps, zones, spatial layouts, adding vault notes or media to a .canvas file, and requests such as create canvas, add to canvas, or
Open skill - /defuddle
Plan and, with explicit network consent, use an optional external Defuddle cleaner to extract article-like HTTPS pages as Markdown. Use for defuddle, clean this URL, strip page clutter, readable Markdown from a web page, or preparing a web source for later wiki ingestion.
Open skill - /obsidian-bases
Explain, draft, and validate Obsidian Bases .base files with filters, formulas, properties, summaries, and table, card, or list views. Use for Obsidian Bases, database-like vault views, dynamic tables, reading lists, task trackers, filters, formulas, summaries, and .base file
Open skill - /obsidian-markdown
Explain, draft, or validate Obsidian Flavored Markdown syntax: properties, wikilinks, embeds, callouts, tags, comments, highlights, block references, math, and Mermaid. Use when the user explicitly requests Obsidian note formatting or syntax help, not for general Markdown or
Open skill - /save
Save a user-selected answer, decision, insight, or session summary into an Obsidian vault as one reviewed transaction. Use only when the user explicitly asks to preserve specific conversation content, not when they supply a file or URL to ingest. Triggers: /save, save this, save
Open skill

