Skip to main content
ClaudeWave
Slash Command4.4k repo starsupdated 4d ago

obsidian-daily

The obsidian-daily command creates or updates a daily note for today by assembling calendar events from a connected Google Calendar MCP, pulling overdue and due-today tasks from kanban boards marked with date tags, injecting relevant context from the current conversation, and summarizing any overnight consolidation work logged by a nightly agent. Use this command each morning to establish a unified view of the day's obligations, scheduled commitments, and carryover work without overwriting existing content.

Install in Claude Code
Copy
mkdir -p ~/.claude/commands && curl -fsSL https://raw.githubusercontent.com/eugeniughelbur/obsidian-second-brain/HEAD/commands/obsidian-daily.md -o ~/.claude/commands/obsidian-daily.md
Then start a new Claude Code session; the slash command loads automatically.

obsidian-daily.md

Use the obsidian-second-brain skill. Execute `/obsidian-daily`:

1. Read `_CLAUDE.md` first if it exists in the vault root
2. If `CRITICAL_FACTS.md` exists in the vault root, read it for timezone; otherwise use the system timezone

3. Check if today's `YYYY-MM-DD.md` exists in the daily folder, resolved per `references/folder-map.md` (wiki-style `wiki/daily/`, Obsidian-style `Daily/`)
   - If not: read the daily-note template (`Templates/Daily Note.md`, or lowercase `templates/` if that is the vault's folder), fill in date fields, create the file
   - If yes: update existing note (inject, don't overwrite)

4. Pull calendar events (if a Google Calendar MCP is connected):
   - Find the primary calendar with `mcp__claude_ai_Google_Calendar__list_calendars`, then fetch today's events with `mcp__claude_ai_Google_Calendar__list_events` (these are the tool names exposed by the claude.ai Google Calendar connector; if your calendar MCP namespaces its tools differently, use that server's `list_events` equivalent)
   - Add a ## Calendar section to the daily note with:
     - Time, title, attendees for each event
     - For meetings with known entities: link to their `[[Person Name]]` pages
   - If no calendar MCP is connected, skip silently (don't error)

5. Pull overdue and due-today tasks from kanban boards:
   - Scan the boards folder (resolved per `references/folder-map.md`) for items with `@{date}` that match today or are past due
   - Add to the daily note's Focus section with priority markers

6. Scan the current conversation for anything relevant to today:
   - Tasks in progress, people mentioned, decisions made, what's being worked on
   - Pre-fill or update the note's sections with that context

7. Check the operation log for last night's sleeptime consolidation (if `Logs/` exists: read yesterday's `Logs/YYYY-MM-DD.md`; otherwise read `log.md`):
   - If the nightly agent ran, summarize what it did (reconciled, synthesized, healed)
   - Add a brief "Overnight changes" note so the user knows what happened while they slept

8. Return the path of the daily note when done.

---

**AI-first rule:** Every note created or updated by this command MUST follow `references/ai-first-rules.md` - `## For future agent` preamble, rich frontmatter (`type`, `date`, `tags`, `ai-first: true`, plus type-specific fields), recency markers per external claim, mandatory `[[wikilinks]]` for every person/project/concept referenced, sources preserved verbatim with URLs inline, and confidence levels where applicable. If that path does not resolve from your working directory, search upward for it; if you still cannot read it, say so before writing rather than producing a note that silently skips the rule. The vault is for future agent retrieval - not human reading.

**Anti-fabrication:** Search exhaustively before claiming any note, person, or file is absent - false absence is the most common failure mode - and never invent facts, entities, or dates (mark unknowns as `TBD`). See the anti-fabrication and search-completeness hard rules in `references/ai-first-rules.md`.