- name
- obsidian-daily
- description
- Manage Obsidian Daily Notes via obsidian-cli. Create and open daily notes, append entries (journals, logs, tasks, links), read past notes by date, and search vault content. Handles relative dates like "yesterday", "last Friday", "3 days ago".
- compatibility
- Requires obsidian-cli installed via Homebrew (Mac/Linux) or Scoop (Windows)
- metadata
- {"clawdbot":{"requires":{"bins":["obsidian-cli"]},"install":[{"id":"brew","kind":"brew","formula":"yakitrak/yakitrak/obsidian-cli","bins":["obsidian-cli"],"label":"Install obsidian-cli (brew)"}]}}
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-%dCross-platform relative dates (GNU first, BSD fallback):
| Reference | Command | ||
|---|---|---|---|
| Today | date +%Y-%m-%d | ||
| Yesterday | `date -d yesterday +%Y-%m-%d 2>/dev/null \ | \ | date -v-1d +%Y-%m-%d` |
| Last Friday | `date -d "last friday" +%Y-%m-%d 2>/dev/null \ | \ | date -v-friday +%Y-%m-%d` |
| 3 days ago | `date -d "3 days ago" +%Y-%m-%d 2>/dev/null \ | \ | date -v-3d +%Y-%m-%d` |
| Next Monday | `date -d "next monday" +%Y-%m-%d 2>/dev/null \ | \ | date -v+monday +%Y-%m-%d` |
Commands
Open/Create Today's Note
obsidian-cli dailyOpens 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")" --appendWith custom folder:
obsidian-cli daily && obsidian-cli create "Daily Notes/$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "ENTRY_TEXT")" --appendRead 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 searchSpecific Vault
Add --vault "NAME" to any command:
obsidian-cli print "2025-01-10.md" --vault "Work"Example Output
- Went to the doctor
- [ ] Buy groceries
- https://github.com/anthropics/skills
- 15:45 This is a log lineUse Cases
Journal entry:
obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- Went to the doctor")" --appendTask:
obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- [ ] Buy groceries")" --appendLink:
obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- https://github.com/anthropics/skills")" --appendTimestamped log:
obsidian-cli daily && obsidian-cli create "$(date +%Y-%m-%d).md" --content "$(printf '\n%s' "- $(date +%H:%M) This is a log line")" --appendRead 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"