Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
ar9av avatar

Wiki Setup

  • 3.1k installs
  • 3.1k repo stars
  • Updated August 4, 2026
  • ar9av/obsidian-wiki

wiki-setup is a skill that initializes an Obsidian wiki vault with directory structure, config files, and optional QMD search so users can start ingesting knowledge sources.

About

The wiki-setup skill initializes a new Obsidian wiki vault with the correct structure, special files, and configuration. Use it when setting up a wiki from scratch, creating a new vault, fixing a broken setup, or reconfiguring an existing vault. Step one creates a .env from .env.example asking for OBSIDIAN_VAULT_PATH, OBSIDIAN_SOURCES_DIR, optional CLAUDE_HISTORY_PATH, QMD collection settings, WIKI_TOKEN_WARN_THRESHOLD, and WIKI_STAGED_WRITES for review-before-promote workflows. Step two creates directories: concepts, entities, skills, references, synthesis, journal, projects, _archives, _raw, _staging, and .obsidian. Step three seeds index.md, log.md, and hot.md with frontmatter templates. Step four writes minimal .obsidian app.json and appearance.json for preview mode. Step five recommends Dataview, Graph Analysis, Templater, and Obsidian Git plugins. Step six verifies vault paths, special files, and source readability. Optional stop-hook installation auto-captures session findings via wiki-capture. After setup users can run wiki-status, wiki-ingest, claude-history-ingest, and codex-history-ingest. QMD update runs when semantic search collections are configured.

  • Creates .env with OBSIDIAN_VAULT_PATH, sources dir, QMD, and staged-writes options.
  • Vault dirs: concepts, entities, skills, references, synthesis, journal, projects, _archives, _raw, _staging.
  • Seeds index.md, log.md, and hot.md with frontmatter and initialization timestamps.
  • Minimal .obsidian app.json and appearance.json for vault recognition and preview mode.
  • Optional Stop hook installs wiki-capture --quick for end-of-session auto-capture.

Wiki Setup by the numbers

  • 3,142 all-time installs (skills.sh)
  • +44 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #126 of 1,879 Documentation skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

wiki-setup capabilities & compatibility

Capabilities
environment and path configuration via .env · vault directory and special file scaffolding · obsidian app and appearance config · optional qmd semantic search and stop hook setup
Works with
obsidian
Use cases
documentation · planning
From the docs

What wiki-setup says it does

Initialize a new Obsidian wiki vault with the correct structure, special files, and configuration.
SKILL.md
mkdir -p "$OBSIDIAN_VAULT_PATH"/{concepts,entities,skills,references,synthesis,journal,projects,_archives,_raw,_staging,.obsidian}
SKILL.md
npx skills add https://github.com/ar9av/obsidian-wiki --skill wiki-setup

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs3.1k
repo stars3.1k
Security audit3 / 3 scanners passed
Last updatedAugust 4, 2026
Repositoryar9av/obsidian-wiki

How do I set up a new Obsidian wiki vault with the right folders, index files, and environment configuration?

Initialize or repair an Obsidian wiki vault with directory structure, config files, and optional QMD semantic search setup.

Who is it for?

Users starting a structured Obsidian knowledge wiki or repairing a broken vault setup from the obsidian-wiki project.

Skip if: Skip when the vault already works and you only need to ingest content; use wiki-ingest or wiki-status instead.

When should I use this skill?

User says set up my wiki, initialize obsidian, create a new vault, or fix a broken wiki configuration.

What you get

A configured vault with .env, directory tree, index.md, log.md, hot.md, and .obsidian settings ready for ingestion.

  • .env configuration
  • Vault scaffold files
  • QMD search hooks

By the numbers

  • Step 1 creates .env from .env.example per SKILL.md
  • Supports optional QMD semantic search integration

Files

SKILL.mdMarkdownGitHub ↗

Obsidian Setup — Vault Initialization

You are setting up a new Obsidian wiki vault (or repairing an existing one).

Step 1: Create .env

If .env doesn't exist, create it from .env.example. Ask the user for:

1. Where should the vault live?OBSIDIAN_VAULT_PATH

  • Default: ~/Documents/obsidian-wiki-vault
  • Must be an absolute path (after expansion)

2. Where are your source documents?OBSIDIAN_SOURCES_DIR

  • Can be multiple paths, comma-separated
  • Default: ~/Documents

3. Want to import Claude history?CLAUDE_HISTORY_PATH

  • Default: auto-discovers from ~/.claude
  • Set explicitly if Claude data is elsewhere

4. Have QMD installed?QMD_WIKI_COLLECTION / QMD_PAPERS_COLLECTION / QMD_TRANSPORT

  • Optional. Enables semantic search in wiki-query and source discovery in wiki-ingest.
  • Default to QMD_TRANSPORT=mcp unless the user wants the agent to call the local qmd CLI directly.
  • If using CLI mode, set QMD_CLI_SEARCH_MODE=quality by default; suggest balanced if reranking is too slow.
  • If unsure, skip for now — both skills fall back to Grep automatically.
  • Install instructions: see .env.example (QMD section).

5. Token budget warning threshold?WIKI_TOKEN_WARN_THRESHOLD

  • Default: 100000 (warn when full-wiki read would cost > 100K tokens)
  • Set to 0 to disable the warning entirely
  • wiki-status shows a token footprint table and emits this warning automatically

6. Enable staged writes?WIKI_STAGED_WRITES

  • Default: unset / false (pages written directly to their final location)
  • Set to true for team wikis, high-stakes domains, or any vault where the human wants final say on every LLM-written page
  • When enabled: all new/updated pages land in _staging/ first; run /wiki-stage-commit to review and promote them
  • wiki-status shows a "Staged writes pending" count when files are waiting

Step 2: Create Vault Directory Structure

mkdir -p "$OBSIDIAN_VAULT_PATH"/{concepts,entities,skills,references,synthesis,journal,projects,_archives,_raw,_staging,.obsidian}
  • .obsidian/ — Obsidian's own config. Creates vault recognition.
  • projects/ — Per-project knowledge (populated during ingest).
  • _archives/ — Stores wiki snapshots for rebuild/restore operations.
  • _raw/ — Staging area for unprocessed drafts. Drop rough notes here; wiki-ingest will promote them to proper wiki pages and move the originals into _raw/_archived/ (created on first use).
  • _staging/ — Review queue for LLM-written pages when WIKI_STAGED_WRITES=true. Pages here are not visible in Obsidian's graph until promoted via /wiki-stage-commit.

Step 3: Create Special Files

index.md

---
title: Wiki Index
---

# Wiki Index

*This index is automatically maintained. Last updated: TIMESTAMP*

## Concepts

*No pages yet. Use `wiki-ingest` to add your first source.*

## Entities

## Skills

## References

## Synthesis

## Journal

log.md

---
title: Wiki Log
---

# Wiki Log

- [TIMESTAMP] INIT vault_path="OBSIDIAN_VAULT_PATH" categories=concepts,entities,skills,references,synthesis,journal

hot.md

---
title: Hot Cache
updated: TIMESTAMP
---

# Hot Cache

*A ~500-word semantic snapshot of recent activity. Updated after every major write operation.*

## Recent Activity

- [TIMESTAMP] INIT — vault created at OBSIDIAN_VAULT_PATH

## Active Threads

*None yet — start ingesting sources to populate.*

## Key Takeaways

*None yet.*

## Flagged Contradictions

*None yet.*

Step 4: Create .obsidian Configuration

Create minimal Obsidian config for a good out-of-box experience:

.obsidian/app.json

{
  "strictLineBreaks": false,
  "showFrontmatter": false,
  "defaultViewMode": "preview",
  "livePreview": true
}

.obsidian/appearance.json

{
  "baseFontSize": 16
}

Step 5: Recommend Obsidian Plugins

Tell the user about these recommended community plugins (they install manually):

1. Dataview — Query page metadata, create dynamic tables. Essential for a wiki. 2. Graph Analysis — Enhanced graph view for exploring connections. 3. Templater — If they want to create pages manually using templates. 4. Obsidian Git — Auto-backup the vault to a git repo.

Step 6: Verify Setup

Run a quick sanity check:

  • [ ] Vault directory exists with: concepts/, entities/, skills/, references/, synthesis/, journal/, projects/, _archives/, _raw/
  • [ ] index.md exists at vault root
  • [ ] log.md exists at vault root
  • [ ] hot.md exists at vault root
  • [ ] .env has OBSIDIAN_VAULT_PATH set
  • [ ] .obsidian/ directory exists
  • [ ] _staging/ directory exists (required even when WIKI_STAGED_WRITES is not set — created on setup for future use)
  • [ ] Source directories (if configured) exist and are readable

Report the results and tell the user they can now: 1. Open the vault in Obsidian (File → Open Vault → select the directory) 2. Run wiki-status to see what's available to ingest 3. Run wiki-ingest to add their first sources 4. Run claude-history-ingest to mine their Claude conversations 5. Run codex-history-ingest to mine their Codex sessions (if they use Codex) 6. Run wiki-status again anytime to check the delta

Optional: Install the Stop Hook (Auto-Capture)

Ask the user: "Want to auto-capture findings at session end?"

If yes, install the Stop hook into their global Claude Code settings so that every session with meaningful work automatically prompts /wiki-capture --quick before closing.

What the hook does: reads the session transcript on Stop, counts file edits and shell calls, and if significant work happened, asks Claude to run /wiki-capture --quick once. The wiki-capture quick-mode KEEP/SKIP gate prevents noise — routine or inconclusive sessions are skipped automatically.

Installation steps:

1. Find the obsidian-wiki repo path (the directory where this skill lives). If OBSIDIAN_WIKI_REPO is set in config, use that. Otherwise, check common locations: ~/Documents/projects/obsidian-wiki, ~/obsidian-wiki, or ask the user.

2. Merge the hook entry into ~/.claude/settings.json:

{
  "hooks": {
    "Stop": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "bash <REPO_PATH>/.claude/hooks/wiki-stop-capture.sh"
          }
        ]
      }
    ]
  }
}

If ~/.claude/settings.json already exists and has a hooks.Stop array, append the new entry rather than replacing — don't clobber existing hooks.

3. Confirm: "Stop hook installed. Claude Code will prompt /wiki-capture --quick at the end of any session where you write files or run ≥ 4 shell commands."

To uninstall later: remove the hook entry from ~/.claude/settings.json or set HIVEMIND_CAPTURE=false in your shell to skip capture for a single session.

Optional: Refresh QMD After Setup

If QMD_WIKI_COLLECTION is configured and the local QMD CLI is available, run qmd update after the initial vault files exist so the fresh vault is immediately queryable. No embedding pass is usually needed at setup time because the vault starts empty, so a plain update is enough unless you have already populated pages.

Related skills

How it compares

Use wiki-setup to bootstrap vault structure; use wiki-query once the vault is initialized and compiled for Q&A with citations.

FAQ

Which directories does wiki-setup create?

concepts, entities, skills, references, synthesis, journal, projects, _archives, _raw, _staging, and .obsidian.

What does WIKI_STAGED_WRITES do?

When true, new pages land in _staging/ for human review before promotion via wiki-stage-commit.

Which plugins does wiki-setup recommend?

Dataview, Graph Analysis, Templater, and Obsidian Git for querying, graph view, templates, and git backup.

Is Wiki Setup safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Documentationnotesworkflow

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.