Claude Code Plugins

Community-maintained marketplace

Feedback

obsidian-daily

@bastos/skills
0
1

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".

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

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

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:

  1. Vault name (required)
  2. Daily notes folder (default: vault root, common: Daily Notes, Journal, daily)
  3. 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):

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 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
- https://github.com/anthropics/skills
- 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' "- https://github.com/anthropics/skills")" --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"