obsidian-vault-ops
$
npx mdskill add ballred/obsidian-claude-pkm/obsidian-vault-opsManages Obsidian vault files with wiki-links and YAML frontmatter
- Reads and writes markdown notes with wiki-link management
- Uses Glob, Grep, Read, Write, and Edit tools for file operations
- Processes YAML frontmatter and maintains vault structure conventions
- Creates and organizes notes with templates and consistent linking
SKILL.md
.github/skills/obsidian-vault-opsView on GitHub ↗
---
name: obsidian-vault-ops
description: 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.
allowed-tools: Read, Write, Edit, Glob, Grep
model: sonnet
---
# Obsidian Vault Operations Skill
Core operations for reading, writing, and managing files in an Obsidian vault.
## Vault Structure
```
vault-root/
├── CLAUDE.md # Main context (always read first)
├── Daily Notes/ # YYYY-MM-DD.md format
├── Goals/ # Goal cascade files
├── Projects/ # Project folders with CLAUDE.md
├── Templates/ # Reusable note structures
└── Archives/ # Completed/inactive content
```
## File Operations
### Reading Notes
- Use Glob to find files: `*.md`, `Daily Notes/*.md`
- Read CLAUDE.md first for vault context
- Check for wiki-links to related notes
### Creating Notes
1. Check if note already exists
2. Use appropriate template if available
3. Add YAML frontmatter with date and tags
4. Insert wiki-links to related notes
### Editing Notes
- Preserve YAML frontmatter structure
- Maintain existing wiki-links
- Use consistent heading hierarchy
- Apply standard tag format
## Wiki-Link Format
```markdown
[[Note Name]] # Simple link
[[Note Name|Display Text]] # Link with alias
[[Note Name#Section]] # Link to section
```
## YAML Frontmatter
Standard frontmatter structure:
```yaml
---
date: 2024-01-15
tags: [tag1, tag2]
status: active
---
```
## Template Variables
When processing templates, replace:
- `{{date}}` - Today's date (YYYY-MM-DD)
- `{{date:format}}` - Formatted date
- `{{date-1}}` - Yesterday
- `{{date+1}}` - Tomorrow
- `{{time}}` - Current time
## Common Patterns
### Daily Note Creation
1. Calculate today's date in YYYY-MM-DD format
2. Check if `Daily Notes/{date}.md` exists
3. If not, read `Templates/Daily Template.md`
4. Replace template variables
5. Write to `Daily Notes/{date}.md`
### Finding Related Notes
1. Extract key terms from current note
2. Search vault for matching content
3. Suggest wiki-links to related notes
### Tag Operations
- Priority: `#priority/high`, `#priority/medium`, `#priority/low`
- Status: `#active`, `#waiting`, `#completed`, `#archived`
- Context: `#work`, `#personal`, `#health`, `#learning`
## Best Practices
1. Always check CLAUDE.md for vault-specific conventions
2. Preserve existing structure when editing
3. Use relative paths for internal links
4. Add frontmatter to new notes
5. Link to relevant goals when creating tasks
More from ballred/obsidian-claude-pkm
- adoptScaffold the PKM system onto an existing Obsidian vault. Scans your vault structure, maps folders interactively, and generates configuration — no template required.
- check-linksFind broken wiki-links in the vault. Read-only analysis — scans for [[links]] and verifies target files exist. No writes, no dependencies.
- dailyCreate 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.
- goal-trackingTrack 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.
- monthlyMonthly 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.
- projectCreate, track, and archive projects linked to goals. The bridge between goals and daily tasks. Use for project creation, status dashboards, and archiving completed work.
- pushCommit and push vault changes to Git with smart commit messages. Auto-stages files, creates meaningful commits, and syncs with remote. Use after making vault changes or at end of day.
- searchSearch vault content by keyword using Grep. Zero dependencies — works in any vault without indexes or plugins. Groups results by directory for easy scanning.
- upgradeUpdate vault to the latest version of obsidian-claude-pkm. Creates backup, shows diffs, preserves your content. Use when a new version is available.
- weeklyFacilitate weekly review process with reflection, goal alignment, and planning. Create review notes, analyze past week, plan next week. Use on Sundays or whenever doing weekly planning.