/adopt
Scaffold the PKM system onto an existing Obsidian vault. Scans your vault structure, maps folders interactively, and generates configuration — no template required.
$ npx -y skills add ballred/obsidian-claude-pkm --skill adopt --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/adopt
Context preview
The summary Claude sees to decide when to auto-load this skill.
Scaffold the PKM system onto an existing Obsidian vault. Scans your vault structure, maps folders interactively, and generates configuration — no template required.
SKILL.md
adopt.SKILL.mdname: adopt
description: Scaffold the PKM system onto an existing Obsidian vault. Scans your vault structure, maps folders interactively, and generates configuration — no template required.
allowed-tools: Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion
model: sonnet
user-invocable: true
Adopt Skill
Bring Your Own Vault (BYOV) — install the Claude PKM system onto an existing Obsidian vault.
Usage
/adopt # Run from the root of your existing Obsidian vault
When to Use
- You have an existing Obsidian vault and want to add the Claude PKM system
- You don't want to start from the vault template
- You want to keep your current folder structure
Phase 1: Scan Vault Structure
Analyze the existing vault to understand its organization.
Steps
1. **List top-level directories** using `ls`, excluding system dirs (`.obsidian`, `.git`, `.claude`, `.trash`, `.claude-plugin`)
2. **For each directory**, gather signals:
- Count `.md` files (using Glob)
- Check for date-named files (`YYYY-MM-DD*.md`) — indicates daily notes
- Grep for goal/review/template keywords in filenames and content
- Check for existing `CLAUDE.md` in subdirs — indicates projects
3. **Detect organization method** based on signals:
- **PARA**: Folders named Projects, Areas, Resources, Archives
- **Zettelkasten**: Numeric-prefixed notes, heavy wiki-linking, flat structure
- **Johnny Decimal**: `00-09`, `10-19` style folder names
- **LYT (Linking Your Thinking)**: Folders named Atlas, Calendar, Cards, Extras, Sources
- **Flat**: Few folders, most files at root
- **Custom**: None of the above patterns match
4. **Present findings** to the user:
Vault scan complete!
Found 342 notes across 8 folders:
Daily/ → 180 notes (date-named — likely daily notes)
Projects/ → 45 notes (has CLAUDE.md files — likely projects)
Goals/ → 12 notes (contains goal keywords)
Templates/ → 8 notes (contains template keywords)
Archive/ → 67 notes
Inbox/ → 15 notes
Resources/ → 10 notes
Meeting Notes/ → 5 notes
Detected method: PARA-like structurePhase 2: Map Folders to Roles
Use AskUserQuestion to confirm or correct the detected mappings.
Roles to Map
Each role maps a PKM function to a folder in the user's vault:
| Role | Purpose | Detection Signal | |------|---------|-----------------| | Daily Notes | Daily journal entries | Date-named files (`YYYY-MM-DD`) | | Goals | Goal cascade (3-year → weekly) | Files with goal/review keywords | | Projects | Active projects | Subdirs with CLAUDE.md or project keywords | | Templates | Reusable note structures | Files with template keywords or in Templates/ | | Archives | Completed/inactive content | Folder named Archive(s) or with old dates | | Inbox | Uncategorized captures | Folder named Inbox, or files tagged #inbox |
Interactive Mapping
For each role, ask the user to confirm or correct:
**Question format (use AskUserQuestion):**
- "Which folder holds your **daily notes**?"
- Options: detected candidate(s), "I don't have one (create it)", "Skip — I don't use this"
- For optional roles (Inbox), include "Skip" as a default
**Edge cases:**
- **Existing CLAUDE.md at root**: Ask the user — back up as `CLAUDE.md.backup` or merge content
- **No candidate for a role**: Offer to create the folder
- **Multiple candidates**: Present all and let the user choose
Save Mappings
Store the folder mapping for use in later phases:
dailyNotes → "Daily"
goals → "Goals"
projects → "Projects"
templates → "Templates"
archives → "Archive"
inbox → "Inbox" (or null if skipped)
Phase 3: Personalize Preferences
Ask the same 4 questions as `/onboard`:
**Question 1: Your name**
- "What should I call you?"
- Used for personalized prompts and greetings
**Question 2: Preferred review day**
- "What day do you prefer for your weekly review?"
- Options: Sunday (Recommended), Saturday, Monday, Friday
- Used by `/review` auto-detection and session-init nudges
**Question 3: Primary goal areas**
- "Which areas are most important to you right now? (Pick 2-4)"
- Options: Career & Professional, Health & Wellness, Relationships, Personal Growth
- Also offer: Financial, Creativity & Fun, Learning, Other
- multiSelect: true
- Used to customize goal template suggestions
**Question 4: Work style**
- "How do you prefer Claude to interact?"
- Options: Direct and concise (Recommended), Coaching and challenging, Detailed and thorough, Minimal — just do the task
- Sets output style preference
Phase 4: Generate Configuration
4a. Write `settings.json`
Write `.claude/settings.json` with permissions scoped to the user's actual folders:
{
"permissions": {
"allow": [
"Read",
"Write **/{mapped-daily}/**",
"Write **/{mapped-goals}/**",
"Write **/{mapped-projects}/**",
"Write **/{mapped-templates}/**",
"Edit **/{mapped-daily}/**",
"Edit **/{mapped-goals}/**",
"Edit **/{mapped-projects}/**",
"Glob",
"Grep"
]
}
}Replace `{mapped-*}` with actual folder names from Phase 2.
4b. Write root `CLAUDE.md`
Generate a root `CLAUDE.md` that describes the user's **actual** vault structure. Use the same format as the template's CLAUDE.md but with:
- Their folder names in the Directory Structure table
- Their goal areas in the System Purpose section
- Their actual skills table (same as template)
- Cascade section adapted to their folder names
If the user had an existing `CLAUDE.md`, merge their content into the appropriate sections (preserve their mission statement, custom conventions, etc.).
4c. Write `vault-config.json`
Write `vault-config.json` in the vault root:
{
"name": "User's name",
"reviewDay": "Sunday",
"goalAreas": ["Career & Professional", "Health & Wellness"],
"workStyle": "Direct and concise",
"setupDate": "2026-02-Read more
name: adopt description: Scaffold the PKM system onto an existing Obsidian vault. Scans your vault structure, maps folders interactively, and generates configuration — no template required. allowed-tools: Read, Write, Edit, Glob, Grep, Bash, AskUserQuestion model: sonnet user-invocable: true
Adopt Skill
Bring Your Own Vault (BYOV) — install the Claude PKM system onto an existing Obsidian vault.
Usage
/adopt # Run from the root of your existing Obsidian vault
When to Use
- You have an existing Obsidian vault and want to add the Claude PKM system
- You don't want to start from the vault template
- You want to keep your current folder structure
Phase 1: Scan Vault Structure
Analyze the existing vault to understand its organization.
Steps
1. **List top-level directories** using `ls`, excluding system dirs (`.obsidian`, `.git`, `.claude`, `.trash`, `.claude-plugin`)
2. **For each directory**, gather signals:
- Count `.md` files (using Glob)
- Check for date-named files (`YYYY-MM-DD*.md`) — indicates daily notes
- Grep for goal/review/template keywords in filenames and content
- Check for existing `CLAUDE.md` in subdirs — indicates projects
3. **Detect organization method** based on signals:
- **PARA**: Folders named Projects, Areas, Resources, Archives
- **Zettelkasten**: Numeric-prefixed notes, heavy wiki-linking, flat structure
- **Johnny Decimal**: `00-09`, `10-19` style folder names
- **LYT (Linking Your Thinking)**: Folders named Atlas, Calendar, Cards, Extras, Sources
- **Flat**: Few folders, most files at root
- **Custom**: None of the above patterns match
4. **Present findings** to the user:
Vault scan complete!
Found 342 notes across 8 folders:
Daily/ → 180 notes (date-named — likely daily notes)
Projects/ → 45 notes (has CLAUDE.md files — likely projects)
Goals/ → 12 notes (contains goal keywords)
Templates/ → 8 notes (contains template keywords)
Archive/ → 67 notes
Inbox/ → 15 notes
Resources/ → 10 notes
Meeting Notes/ → 5 notes
Detected method: PARA-like structurePhase 2: Map Folders to Roles
Use AskUserQuestion to confirm or correct the detected mappings.
Roles to Map
Each role maps a PKM function to a folder in the user's vault:
| Role | Purpose | Detection Signal | |------|---------|-----------------| | Daily Notes | Daily journal entries | Date-named files (`YYYY-MM-DD`) | | Goals | Goal cascade (3-year → weekly) | Files with goal/review keywords | | Projects | Active projects | Subdirs with CLAUDE.md or project keywords | | Templates | Reusable note structures | Files with template keywords or in Templates/ | | Archives | Completed/inactive content | Folder named Archive(s) or with old dates | | Inbox | Uncategorized captures | Folder named Inbox, or files tagged #inbox |
Interactive Mapping
For each role, ask the user to confirm or correct:
**Question format (use AskUserQuestion):**
- "Which folder holds your **daily notes**?"
- Options: detected candidate(s), "I don't have one (create it)", "Skip — I don't use this"
- For optional roles (Inbox), include "Skip" as a default
**Edge cases:**
- **Existing CLAUDE.md at root**: Ask the user — back up as `CLAUDE.md.backup` or merge content
- **No candidate for a role**: Offer to create the folder
- **Multiple candidates**: Present all and let the user choose
Save Mappings
Store the folder mapping for use in later phases:
dailyNotes → "Daily" goals → "Goals" projects → "Projects" templates → "Templates" archives → "Archive" inbox → "Inbox" (or null if skipped)
Phase 3: Personalize Preferences
Ask the same 4 questions as `/onboard`:
**Question 1: Your name**
- "What should I call you?"
- Used for personalized prompts and greetings
**Question 2: Preferred review day**
- "What day do you prefer for your weekly review?"
- Options: Sunday (Recommended), Saturday, Monday, Friday
- Used by `/review` auto-detection and session-init nudges
**Question 3: Primary goal areas**
- "Which areas are most important to you right now? (Pick 2-4)"
- Options: Career & Professional, Health & Wellness, Relationships, Personal Growth
- Also offer: Financial, Creativity & Fun, Learning, Other
- multiSelect: true
- Used to customize goal template suggestions
**Question 4: Work style**
- "How do you prefer Claude to interact?"
- Options: Direct and concise (Recommended), Coaching and challenging, Detailed and thorough, Minimal — just do the task
- Sets output style preference
Phase 4: Generate Configuration
4a. Write `settings.json`
Write `.claude/settings.json` with permissions scoped to the user's actual folders:
{
"permissions": {
"allow": [
"Read",
"Write **/{mapped-daily}/**",
"Write **/{mapped-goals}/**",
"Write **/{mapped-projects}/**",
"Write **/{mapped-templates}/**",
"Edit **/{mapped-daily}/**",
"Edit **/{mapped-goals}/**",
"Edit **/{mapped-projects}/**",
"Glob",
"Grep"
]
}
}Replace `{mapped-*}` with actual folder names from Phase 2.
4b. Write root `CLAUDE.md`
Generate a root `CLAUDE.md` that describes the user's **actual** vault structure. Use the same format as the template's CLAUDE.md but with:
- Their folder names in the Directory Structure table
- Their goal areas in the System Purpose section
- Their actual skills table (same as template)
- Cascade section adapted to their folder names
If the user had an existing `CLAUDE.md`, merge their content into the appropriate sections (preserve their mission statement, custom conventions, etc.).
4c. Write `vault-config.json`
Write `vault-config.json` in the vault root:
{
"name": "User's name",
"reviewDay": "Sunday",
"goalAreas": ["Career & Professional", "Health & Wellness"],
"workStyle": "Direct and concise",
"setupDate": "2026-02-Not another PKM starter kit. This is an execution system that connects your 3-year vision to what you do today — and holds you accountable with AI. Every layer connects. /daily surfaces your ONE Big Thing from the weekly review. /weekly shows project progress.
Other skills on obsidian-claude-pkm.
- /check-links
Find broken wiki-links in the vault. Read-only analysis — scans for [[links]] and verifies target files exist. No writes, no dependencies.
Open skill - /daily
Create daily notes and manage morning, midday, and evening routines. Structure daily planning, task review, and end-of-day reflection. Use for daily productivity routines or when asked to create today's note.
Open skill - /goal-tracking
Track progress toward 3-year, yearly, monthly, and weekly goals. Calculate completion percentages, surface stalled goals, connect daily tasks to objectives. Use for goal reviews and progress tracking.
Open skill - /monthly
Monthly review and planning. Roll up weekly reviews, check quarterly milestones, set next month's focus. Use at end of month or start of new month.
Open skill - /obsidian-vault-ops
Read and write Obsidian vault files, manage wiki-links, process markdown with YAML frontmatter. Use when working with vault file operations, creating notes, or managing links.
Open skill - /onboard
Interactive vault setup and context loading. On first run, personalizes your vault. On subsequent runs, loads full context. Use at start of session or when Claude needs full vault context.
Open skill

