Back to skills
extension
Category: Development & EngineeringNo API key required

obsidian-daily

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". Requires obsidian-cli installed via Homebrew (Mac/Linux) or Scoop (Windows).

personAuthor: jakexiaohubgithub

Obsidian Daily Notes

Interact with Obsidian Daily Notes through the official obsidian command: create or open today's note, append entries, read notes, and search vault content.

Setup

Check that the official CLI is available:

obsidian version

If the command is unavailable, ask the user to enable Obsidian's CLI:

  1. Install or update to Obsidian 1.12 or newer.
  2. Open Settings > General.
  3. Enable Command line interface and follow the registration prompt.

Target a vault explicitly when needed by placing vault=<name-or-id> before the command:

obsidian vault="Work" daily

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):

| 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-1w -v+fri +%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 daily

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

Append Entry

obsidian daily:append content="ENTRY_TEXT"

Append without adding a newline:

obsidian daily:append content="ENTRY_TEXT" inline

Read Note

Today:

obsidian daily:read

Specific date, using the vault's configured daily-note folder and date format:

obsidian read path="Daily Notes/2025-01-10.md"

Relative date (yesterday):

obsidian read path="Daily Notes/$(date -d yesterday +%Y-%m-%d 2>/dev/null || date -v-1d +%Y-%m-%d).md"

Search Content

obsidian search query="TERM"

Search Notes

Machine-readable search:

obsidian search query="TERM" format=json

Specific Vault

Put vault="NAME" before the command:

obsidian vault="Work" read path="Daily Notes/2025-01-10.md"

Example Output

- Went to the doctor
- [ ] Buy groceries
- https://github.com/anthropics/skills
- 15:45 This is a log line

Use Cases

Journal entry:

obsidian daily:append content="- Went to the doctor"

Task:

obsidian daily:append content="- [ ] Buy groceries"

Link:

obsidian daily:append content="- https://github.com/anthropics/skills"

Timestamped log:

obsidian daily:append content="- $(date +%H:%M) This is a log line"

Read last Friday:

obsidian read path="Daily Notes/$(date -d 'last friday' +%Y-%m-%d 2>/dev/null || date -v-1w -v+fri +%Y-%m-%d).md"

Search for "meeting":

obsidian search query="meeting"