1.6k★by bastos
obsidian-daily – OpenClaw Skill
obsidian-daily is an OpenClaw Skills integration for writing workflows. 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).
Skill Snapshot
| 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). OpenClaw Skills integration. |
| owner | bastos |
| repository | bastos/obsidian-daily |
| language | Markdown |
| license | MIT |
| topics | |
| security | L1 |
| install | openclaw add @bastos/obsidian-daily |
| last updated | Feb 7, 2026 |
Maintainer

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). <<<<<<< Updated upstream metadata: author: github.com/bastos version: "2.0"
Stashed changes
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):
| 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"
No README available.
Permissions & Security
Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.
Requirements
- OpenClaw CLI installed and configured.
- Language: Markdown
- License: MIT
- Topics:
FAQ
How do I install obsidian-daily?
Run openclaw add @bastos/obsidian-daily in your terminal. This installs obsidian-daily into your OpenClaw Skills catalog.
Does this skill run locally or in the cloud?
OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.
Where can I verify the source code?
The source repository is available at https://github.com/openclaw/skills/tree/main/skills/bastos/obsidian-daily. Review commits and README documentation before installing.
