.claude/skills/vault-import/SKILL.md
Import an existing Obsidian vault, markdown folder, or git repo as an llm-wiki vault. Moves content into vaults/, adds missing structure (index, log, CLAUDE.md, frontmatter). Use when user wants to import, adopt, migrate, or bring in an existing knowledge base.
npx skillsauth add RonanCodes/llm-wiki vault-importInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Import an existing collection of markdown files, Obsidian vault, or git repo into the llm-wiki system.
/vault-import ~/Documents/my-notes --name my-research --domain ai-research
/vault-import ~/obsidian-vault --name personal
/vault-import https://github.com/user/knowledge-repo.git --name imported
/vault-import ./some-folder
--name <name>: vault name (default: derive from folder name, kebab-case). Prefix with llm-wiki- if not already prefixed.--domain <domain>: default domain tag for the vault# Move the folder into vaults/
mv "<source-path>" "vaults/<name>"
Or if the user wants to keep the original:
# Copy instead
cp -r "<source-path>" "vaults/<name>"
Ask the user: move or copy? Moving is cleaner (single source of truth). Copying is safer (original untouched).
git clone "<repo-url>" "vaults/<name>"
Preserve the existing git history — don't re-init. The vault keeps its full history.
cd "vaults/<name>"
git init
Scan what's already there:
VAULT="vaults/<name>"
# Count markdown files
find "$VAULT" -name "*.md" -type f | wc -l
# Check for existing structure
ls "$VAULT/raw" 2>/dev/null && echo "Has raw/"
ls "$VAULT/wiki" 2>/dev/null && echo "Has wiki/"
test -f "$VAULT/CLAUDE.md" && echo "Has CLAUDE.md"
test -f "$VAULT/index.md" && echo "Has root index.md"
# Check for Obsidian config
ls "$VAULT/.obsidian" 2>/dev/null && echo "Obsidian vault detected"
# Find all markdown files and their locations
find "$VAULT" -name "*.md" -type f | head -30
Report to the user what was found.
Add missing components without breaking what's already there:
mkdir -p "$VAULT/raw"
mkdir -p "$VAULT/raw/assets"
mkdir -p "$VAULT/wiki/sources"
mkdir -p "$VAULT/wiki/entities"
mkdir -p "$VAULT/wiki/concepts"
mkdir -p "$VAULT/wiki/comparisons"
For each existing markdown file, determine where it belongs:
raw/wiki/ subdirectorywiki/entities/wiki/concepts/Don't auto-move. Present a plan to the user and ask for confirmation. Example:
Found 45 markdown files. Suggested organization:
Move to raw/ (source material):
- meeting-notes-2026-03.md
- article-react-patterns.md
Move to wiki/entities/:
- john-smith.md
- acme-corp.md
Move to wiki/concepts/:
- microservices-patterns.md
- caching-strategies.md
Keep in place (already organized or unsure):
- README.md
- daily-log.md
Proceed? (y/n/customize)
For each markdown file that becomes a wiki page, check if it has YAML frontmatter. If not, add it:
---
title: "<derived from filename or first heading>"
date-created: <file creation date or today>
date-modified: <file modification date or today>
page-type: <inferred from content/location>
domain:
- <vault-domain>
tags: []
sources: []
related: []
---
Use the file's first # Heading as the title if no frontmatter exists.
Scan all wiki pages and build the index catalog:
# <Vault Name> — Wiki Index
## Sources
| Page | Summary | Domain | Date Added |
|------|---------|--------|------------|
| [[source-1]] | ... | domain | date |
## Entities
...
## Concepts
...
# <Vault Name> — Activity Log
## [YYYY-MM-DD] import | Vault imported from <source-path>
- Original location: <source-path>
- Files found: X markdown files
- Pages classified: Y wiki pages
- Frontmatter added to: Z pages
---
Generate vault conventions file per the vault-create template. Include:
If .obsidian/ directory exists:
cd "vaults/<name>"
git add .
git commit -m "✨ feat: import vault with llm-wiki structure"
Show the user:
vaults/<name>//lint to check health, start ingesting new sources.obsidian/ config is left untouched/lint --vault <name> --fix will catch anything the import misseddata-ai
Extract transcript from a YouTube video as clean readable text. Use when user shares a youtube.com or youtu.be link and wants the transcript, content summary, or to read what was said.
development
Page type templates and frontmatter conventions for LLM Wiki pages. Reference skill loaded by ingest, query, and lint skills to ensure consistent wiki structure.
testing
Show status of all LLM Wiki vaults — page counts, source counts, last activity, and git status. Use when user wants to see vault status, list vaults, or check wiki health.
documentation
Create a new LLM Wiki vault with proper directory structure, index, log, and conventions. Use when user wants to create a vault, start a new wiki, or set up a new knowledge base.