Obsidian To Expertpack
by @brianhearn
Convert an existing Obsidian Vault into an agent-ready ExpertPack. Restructures vault content for EK optimization, RAG retrieval, and OpenClaw integration. C...
clawhub install obsidian-to-expertpackπ About This Skill
name: obsidian-to-expertpack description: "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'." metadata: openclaw: homepage: https://expertpack.ai requires: bins: - python3 pip: - pyyaml
Obsidian 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 expertpack for full EP workflows. Install expertpack-eval to measure EK ratio after conversion.
Step 1: Analyze the Vault
Before running the script, inspect the vault:
1. List the top-level directories β these map to EP content sections
2. Identify the pack type based on structure:
- journals/, daily/, people/, mind/ β person
- concepts/, workflows/, troubleshooting/, faq/ β product
- phases/, checklists/, decisions/, steps/ β process
- Mix of the above β composite
3. Note any templates/ or _templates/ folders β exclude from conversion
4. 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:
.md files copied with EP frontmatter (title, type, tags, pack, created)#hashtags extracted into frontmatter tags:text links converted to [[wikilinks]]manifest.yaml, overview.md, glossary.md at pack root_index.md in each content directory.obsidian/ config copied (pack opens in Obsidian immediately)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 --applyMust reach 0 errors
python3 /path/to/ExpertPack/tools/validator/ep-validate.py ~/expertpacks/my-pack-slug --verboseFix 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:
1. Lead summaries β add a 1-3 sentence blockquote at the top of the 5-10 most important files
2. Glossary β populate glossary.md with domain-specific terms (this is Tier 1 β always loaded)
3. Propositions β create propositions/ with atomic factual statements extracted from high-EK files
4. EK triage β identify low-EK files (general knowledge) and compress or remove them
5. 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.