Notes & PKMDocumentedScanned

obsidian-daily

Manage Obsidian Daily Notes via obsidian-cli.

Share:

Installation

npx clawhub@latest install obsidian-daily

View the full skill documentation and source below.

Documentation

Obsidian Daily Notes

Interact with Obsidian Daily Notes: create notes, append entries, read by date, and search content.

Setup

Check if a default vault is configured:

obsidian-cli print-default --path-only 2>/dev/null && echo "OK" || echo "NOT_SET"

If NOT_SET, ask the user:

  • Vault name (required)

  • Daily notes folder (default: vault root, common: Daily Notes, Journal, daily)

  • Date format (default: YYYY-MM-DD)
  • Configure the vault:

    obsidian-cli set-default "VAULT_NAME"

    Obsidian Daily Notes plugin defaults:

    • Date format: YYYY-MM-DD

    • New file location: Vault root

    • Template file location: (none)


    Date Handling

    Get current date:

    date +%Y-%m-%d

    Cross-platform relative dates (GNU first, BSD fallback):

    ReferenceCommand
    Todaydate +%Y-%m-%d
    Yesterdaydate -d yesterday +%Y-%m-%d 2>/dev/null \|\| date -v-1d +%Y-%m-%d
    Last Fridaydate -d "last friday" +%Y-%m-%d 2>/dev/null \|\| date -v-friday +%Y-%m-%d
    3 days agodate -d "3 days ago" +%Y-%m-%d 2>/dev/null \|\| date -v-3d +%Y-%m-%d
    Next Mondaydate -d "next monday" +%Y-%m-%d 2>/dev/null \|\| date -v+monday +%Y-%m-%d

    Commands

    Open/Create Today's Note

    obsidian-cli daily

    Opens today's daily note in Obsidian, creating it from template if it doesn't exist.

    Append Entry

    obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "ENTRY_TEXT")" --append

    With custom folder:

    obsidian-cli daily && obsidian-cli create "Daily Notes/$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "ENTRY_TEXT")" --append

    Read Note

    Today:

    obsidian-cli print "$(date +%Y-%m-%d).md"

    Specific date:

    obsidian-cli print "2025-01-10.md"

    Relative date (yesterday):

    obsidian-cli print "$(date -d yesterday +%Y-%m-%d 2>/dev/null || date -v-1d +%Y-%m-%d).md"

    Search Content

    obsidian-cli search-content "TERM"

    Search Notes

    Interactive fuzzy finder:

    obsidian-cli search

    Specific Vault

    Add --vault "NAME" to any command:

    obsidian-cli print "2025-01-10.md" --vault "Work"

    Example Output

    - Went to the doctor
    - [ ] Buy groceries
    - 
    - 15:45 This is a log line

    Use Cases

    Journal entry:

    obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- Went to the doctor")" --append

    Task:

    obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- [ ] Buy groceries")" --append

    Link:

    obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- ")" --append

    Timestamped log:

    obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- $(date +%H:%M) This is a log line")" --append

    Read last Friday:

    obsidian-cli print "$(date -d 'last friday' +%Y-%m-%d 2>/dev/null || date -v-friday +%Y-%m-%d).md"

    Search for "meeting":

    obsidian-cli search-content "meeting"