# Wiki Context Pack

Produce a token-bounded, citation-ready context slice from an existing Obsidian vault...

- Repository: https://github.com/Ar9av/obsidian-wiki (3650 stars)
- Category: AI and agents
- License: MIT
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add Ar9av/obsidian-wiki --skill wiki-context-pack -g -a claude-code -y`
Codex: `npx skills add Ar9av/obsidian-wiki --skill wiki-context-pack -g -a codex -y`
Cursor: `npx skills add Ar9av/obsidian-wiki --skill wiki-context-pack -g -a cursor -y`
Gemini CLI: `npx skills add Ar9av/obsidian-wiki --skill wiki-context-pack -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add Ar9av/obsidian-wiki`

## Description

Produce a token-bounded, citation-ready context slice from an existing Obsidian vault for a downstream agent or task. Use for "/wiki-context-pack", "use my vault as context", "context slice for X", "pack the wiki for my agent", or "bounded context for Y".

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Wiki Context Pack

This is a read-only skill. It must not modify the vault, including `log.md`,
`index.md`, `hot.md`, or `.manifest.json`.

## Before You Start

1. Resolve config using the Config Resolution Protocol in
   `llm-wiki/SKILL.md`: inline `@name`, then walk up from CWD for `.env`,
   then the global config.
2. If `$OBSIDIAN_VAULT_PATH/AGENTS.md` exists, read it as trusted owner
   conventions. Do not include that file as a knowledge excerpt.
3. Canonicalize the configured vault to a physical absolute path before
   invocation:

   ```bash
   OBSIDIAN_VAULT_PATH="$(cd "$OBSIDIAN_VAULT_PATH" && pwd -P)"
   ```

   If this fails, report that the configured vault path is invalid.
4. Parse:
   - topic, required unless `--recent`;
   - `--budget N`, default `8000`;
   - `--recent`;
   - `--public-only`;
   - `--metadata-only`;
   - `--json`.

## Execute

Build the requested arguments, then prefer the installed executable:

```bash
obsidian-wiki context-pack --vault "$OBSIDIAN_VAULT_PATH" "<topic>" --budget 8000
```

For recent activity:

```bash
obsidian-wiki context-pack --vault "$OBSIDIAN_VAULT_PATH" --recent --budget 8000
```

Append the requested flags exactly. If `obsidian-wiki` is unavailable but
`$OBSIDIAN_WIKI_REPO/obsidian_wiki/cli.py` exists, run the same arguments from
that configured clone:

```bash
python3 -m obsidian_wiki.cli context-pack --vault "$OBSIDIAN_VAULT_PATH" "<topic>" --budget 8000
```

Use the executable-or-clone fallback explicitly:

```bash
if command -v obsidian-wiki >/dev/null 2>&1; then
  obsidian-wiki context-pack --vault "$OBSIDIAN_VAULT_PATH" "<topic>" --budget 8000
elif [ -n "${OBSIDIAN_WIKI_REPO:-}" ] && [ -f "$OBSIDIAN_WIKI_REPO/obsidian_wiki/cli.py" ]; then
  (
    cd "$OBSIDIAN_WIKI_REPO"
    python3 -m obsidian_wiki.cli context-pack --vault "$OBSIDIAN_VAULT_PATH" "<topic>" --budget 8000
  )
else
  # Tell the user to run: pip install obsidian-wiki
  # or rerun setup from a valid clone.
fi
```

The rest: https://github.com/Ar9av/obsidian-wiki/blob/HEAD/.skills/wiki-context-pack/SKILL.md
