Skills obsidian-to-expertpack
Convert an existing Obsidian Vault into an agent-ready ExpertPack. Restructures vault content for EK optimization, RAG retrieval, and OpenClaw integration. Creates a copy — source vault is never modified. Use when: a user wants to make their Obsidian Vault usable by AI agents, convert OV to EP, drop their vault into OpenClaw as a knowledge pack, or make their notes RAG-ready. Triggers on: 'obsidian to expertpack', 'obsidian vault to ep', 'convert obsidian', 'OV to EP', 'obsidian agent ready', 'make my vault ai ready', 'obsidian knowledge pack', 'obsidian rag'.
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/brianhearn/obsidian-to-expertpack" ~/.claude/skills/clawdbot-skills-obsidian-to-expertpack && rm -rf "$T"
skills/brianhearn/obsidian-to-expertpack/SKILL.mdObsidian Vault → ExpertPack
Converts an Obsidian Vault into a structured ExpertPack — agent-ready, RAG-optimized, and OpenClaw-compatible. Source vault is never modified; output is a clean copy.
Learn more: expertpack.ai · GitHub
Companion skills: Install
for full EP workflows. Installexpertpackto measure EK ratio after conversion.expertpack-eval
Step 1: Analyze the Vault
Before running the script, inspect the vault:
- List the top-level directories — these map to EP content sections
- Identify the pack type based on structure:
,journals/
,daily/
,people/
→ personmind/
,concepts/
,workflows/
,troubleshooting/
→ productfaq/
,phases/
,checklists/
,decisions/
→ processsteps/- Mix of the above → composite
- Note any
ortemplates/
folders — exclude from conversion_templates/ - Estimate content volume and identify the highest-EK directories
The script auto-detects type (
--type auto) but verify your judgment matches before proceeding. See references/migration-guide.md for the full decision tree.
Step 2: Run the Conversion Script
python3 /path/to/ExpertPack/skills/obsidian-to-expertpack/scripts/convert.py \ /path/to/obsidian-vault \ --output ~/expertpacks/my-pack-slug \ --name "My Pack Name" \ [--type auto|person|product|process|composite] \ [--dry-run]
Always do a
--dry-run first to preview what will be converted.
What the script produces:
- All
files copied with EP frontmatter (.md
,title
,type
,tags
,pack
)created - Inline
extracted into frontmatter#hashtagstags: - Dataview query blocks stripped (computed views, not knowledge)
links converted to[text](file.md)[[wikilinks]]
,manifest.yaml
,overview.md
at pack rootglossary.md
in each content directory_index.md
config copied (pack opens in Obsidian immediately).obsidian/
For detailed handling of Obsidian-specific patterns (nested tags, daily notes, templates, attachments): read
references/migration-guide.md.
Step 3: Validate & Fix
# Fix common issues first python3 /path/to/ExpertPack/tools/validator/ep-doctor.py ~/expertpacks/my-pack-slug --apply # Must reach 0 errors python3 /path/to/ExpertPack/tools/validator/ep-validate.py ~/expertpacks/my-pack-slug --verbose # Fix any broken wikilinks (cross-vault references) python3 /path/to/ExpertPack/tools/validator/ep-fix-broken-wikilinks.py ~/expertpacks/my-pack-slug --apply
Do not proceed until
ep-validate reports 0 errors.
Step 4: Agent-Assisted Enhancement
After validation, enhance retrieval quality:
- Lead summaries — add a 1-3 sentence blockquote at the top of the 5-10 most important files
- Glossary — populate
with domain-specific terms (this is Tier 1 — always loaded)glossary.md - Propositions — create
with atomic factual statements extracted from high-EK filespropositions/ - EK triage — identify low-EK files (general knowledge) and compress or remove them
- File size — split files >3KB on
header boundaries##
Step 5: Configure RAG in OpenClaw
Add to
~/.openclaw/openclaw.json:
{ "agents": { "defaults": { "memorySearch": { "extraPaths": ["/path/to/your/converted-pack"] } } } }
Restart OpenClaw after config change. The pack is now searchable in every session.
Step 6: Measure EK Ratio
clawhub install expertpack-eval
Run evals to score how much esoteric knowledge the pack contains vs. what the model already knows. Target EK ratio >0.6 for high-value packs.