askill
obsidian

obsidianSafety 85Repository

Interact with Obsidian vaults via obsidian-cli. Read, create, search, and manage markdown notes. Use when user references their Obsidian vault, wants to save information to notes, search their knowledge base, or organize their personal knowledge management system.

0 stars
1.2k downloads
Updated 2/5/2026

Package Files

Loading files...
SKILL.md

Obsidian Vault Integration

This skill enables interaction with Obsidian vaults through the obsidian-cli tool and direct filesystem operations.

When to Use This Skill

Use this skill when the user:

  • Mentions their Obsidian vault or notes
  • Wants to save information, research, or summaries to notes
  • Asks to search their knowledge base or "my notes"
  • Wants to organize, rename, or manage their notes
  • References personal knowledge management (PKM)
  • Asks to read or retrieve information from their notes

Reading Notes

Read note contents directly:

# By note name (searches entire vault)
obsidian-cli print "note-name"

# By path from vault root
obsidian-cli print "folder/subfolder/note-name"

# Note: .md extension is optional

Creating Notes

Use direct file writes for reliable note creation:

# Get vault path
VAULT=$(obsidian-cli print-default --path-only)

# Create a new note
cat > "$VAULT/note-name.md" << 'EOF'
# Note Title

Content goes here.
EOF

# Create in a subfolder
mkdir -p "$VAULT/folder"
cat > "$VAULT/folder/note-name.md" << 'EOF'
# Title

Content here.
EOF

Appending to Notes

Add content to existing notes:

VAULT=$(obsidian-cli print-default --path-only)

# Append a new section
cat >> "$VAULT/note-name.md" << 'EOF'

## New Section

Additional content appended.
EOF

Searching Notes

Use grep for non-interactive content search:

VAULT=$(obsidian-cli print-default --path-only)

# Search for content across all notes
grep -r -n -i "search term" "$VAULT" --include="*.md"

# Find files containing a term (filenames only)
grep -r -l -i "search term" "$VAULT" --include="*.md"

# List all notes in vault
find "$VAULT" -name "*.md" -type f | sed "s|$VAULT/||" | sort

# Search by filename pattern
find "$VAULT" -name "*.md" -type f | sed "s|$VAULT/||" | grep -i "pattern"

Moving and Renaming Notes

The move command automatically updates all wikilinks:

# Rename a note (updates [[old-name]] links throughout vault)
obsidian-cli move "old-name" "new-name"

# Move to a different folder
obsidian-cli move "note-name" "folder/note-name"

# Move with full paths
obsidian-cli move "old-folder/note" "new-folder/note"

Deleting Notes

# Delete a note (permanent, no trash)
obsidian-cli delete "note-name"

# Delete by path
obsidian-cli delete "folder/note-name"

Working with Frontmatter

Extract and view YAML frontmatter:

# View full note including frontmatter
obsidian-cli print "note-name"

# Extract just the frontmatter
obsidian-cli print "note-name" | sed -n '/^---$/,/^---$/p'

To modify frontmatter, read the note, edit the content, and write it back:

VAULT=$(obsidian-cli print-default --path-only)

# Read current content
CONTENT=$(obsidian-cli print "note-name")

# Write modified content back
cat > "$VAULT/note-name.md" << 'EOF'
---
title: Updated Title
tags: [tag1, tag2]
---

# Heading

Updated content here.
EOF

Multi-Vault Support

Specify a different vault for any command:

# Read from a specific vault
obsidian-cli print "note" --vault "work-vault"

# Move within a specific vault
obsidian-cli move "old" "new" --vault "personal-vault"

Common Workflows

Save Research to a Note

VAULT=$(obsidian-cli print-default --path-only)

# Check if note exists
if obsidian-cli print "Research/topic" >/dev/null 2>&1; then
    # Append to existing note
    cat >> "$VAULT/Research/topic.md" << 'EOF'

## Additional Findings

New research content here.
EOF
else
    # Create new note
    mkdir -p "$VAULT/Research"
    cat > "$VAULT/Research/topic.md" << 'EOF'
# Topic Research

Initial research content.
EOF
fi

Find and Read Related Notes

VAULT=$(obsidian-cli print-default --path-only)

# Search for related notes
grep -r -l -i "keyword" "$VAULT" --include="*.md"

# Read each match
obsidian-cli print "matching-note-1"
obsidian-cli print "matching-note-2"

Organize Notes into Folders

# Find notes matching a pattern
VAULT=$(obsidian-cli print-default --path-only)
find "$VAULT" -name "*meeting*.md" -type f | sed "s|$VAULT/||"

# Move each to organized folder
obsidian-cli move "standup-2024-01-15" "Meetings/standup-2024-01-15"
obsidian-cli move "standup-2024-01-16" "Meetings/standup-2024-01-16"

Create a Daily Note

VAULT=$(obsidian-cli print-default --path-only)
TODAY=$(date +%Y-%m-%d)

mkdir -p "$VAULT/Daily"
cat > "$VAULT/Daily/$TODAY.md" << EOF
# Daily Note - $TODAY

## Tasks
- [ ]

## Notes

## End of Day Review

EOF

Important Notes

  1. Path resolution: Note names don't need .md extension; paths are relative to vault root
  2. Wikilink updates: The move command automatically updates [[note]], [[note|display]], and [[note#heading]] links
  3. Case sensitivity: Search is case-insensitive with -i flag
  4. Hidden files: Operations skip hidden directories (starting with .)
  5. Large files: Files over 10MB are skipped during search operations
  6. No trash: Delete is permanent; there's no recycle bin

Error Handling

Common errors and solutions:

ErrorCauseSolution
Cannot find vault configNo default vault setRun obsidian-cli set-default "vault-name"
Vault not found in Obsidian configVault name doesn't matchCheck vault name in Obsidian app settings
Cannot find note in vaultNote doesn't existVerify note name/path with search

Install

Download ZIP
Requires askill CLI v1.0+

AI Quality Score

95/100Analyzed 2/12/2026

A comprehensive and highly actionable skill for managing Obsidian vaults using obsidian-cli. It provides detailed commands for CRUD operations, searching, and complex workflows like daily notes and research management.

85
95
90
95
98

Metadata

Licenseunknown
Version-
Updated2/5/2026
Publishermajiayu000

Tags

No tags yet.