Help us improve
Share bugs, ideas, or general feedback.
From skills
End-of-day ritual for Obsidian vaults: parses daily notes, updates project notes, surfaces vault connections, and writes carry-forward items. Prevents context loss.
npx claudepluginhub kriscard/skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/skills:close-dayThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
End-of-day ritual. Parses today's daily note, updates project notes in-place, surfaces vault
Runs a structured daily startup ritual for an Obsidian vault: creates periodic notes, surfaces carry-forward items, checks inbox, sets daily focus. Invocable via `/daily` or natural language prompts like "start my day" or "morning routine".
Manages Obsidian vault sessions, daily routines, tasks, memory, resources, output styles, and meeting transcripts for BenAI plugin. Mode-aware for professional/business. Activates on resume, compress, tasks, or /assistant.
Integrates Claude Code with Obsidian second brain vault for loading project context, capturing thoughts, morning planning, and querying linked notes using safe bash scripts.
Share bugs, ideas, or general feedback.
End-of-day ritual. Parses today's daily note, updates project notes in-place, surfaces vault connections, and sets up tomorrow. A 5-minute ritual — not a lengthy report.
Shared principle (canonical version in the vault skill): never guess, deduce, or fill gaps with
assumptions about the user's notes, priorities, or intent. If you don't know — a date range, what
counts as a win, which goals are active — ask. Before writing any synthesis or judgment into a
note, show your draft with its source and get explicit confirmation. Missing data is not permission
to invent.
Use Obsidian CLI via Bash. On failure: "Obsidian CLI isn't working — update Obsidian with CLI enabled."
TODAY="2 - Areas/Daily Ops/$(date +%Y)/$(date +%Y-%m-%d).md"
obsidian read path="$TODAY" 2>/dev/null || echo "(no daily note — run /daily first)"
obsidian files folder="1 - Projects/" format=json
obsidian read path="AGENTS.md" 2>/dev/null || echo "(AGENTS.md not found)"
Parse all captured content from today's daily note: free-form writing, meeting notes, ideas, tasks, people referenced, decisions made.
Run searches per theme from today, then trace backlinks:
obsidian search:context query="<theme 1>" limit=10
obsidian search:context query="<theme 2>" limit=10
obsidian backlinks file="<today's note>"
Surface: "Today you wrote about X. This connects to [[note]] from [date] — worth revisiting?" Flag themes recurring 3+ times in the past two weeks.
Source: today's daily note (Step 1).
Four categories to extract:
Cross-reference against existing open tasks:
obsidian tasks todo path="$TODAY"
Flag any action items missing from the task list.
Match active projects to today's work (explicit mentions + implied work). For each match, read the project note first:
obsidian read path="1 - Projects/<project-name>/<main-note>.md"
Then update only the sections that changed. These are section-targeted edits — never append raw
entries at the bottom. The CLI has no patch, so updating a named section means either the MCP
obsidian_patch_content tool (heading-targeted, supports operation: replace|append) or a read +
create ... overwrite rewrite of the whole note. Ask the user which to use, then apply the changes
below:
📍 Current Status — replace the section with summary + date:
_Updated: $(date +%Y-%m-%d)_\n\n<status>\n\n### What's in progress\n<merged list>\n\n### Open questions / Blockers\n<merged list>🧠 Key Decisions — append a row only if a decision was made today:
| $(date +%Y-%m-%d) | <decision> | <why> |📝 Notes & Context — append only if a new insight emerged: \n<insight>Guidelines: only update on meaningful progress; preserve existing content; use the user's own language; adapt to non-standard templates.
qmd query "<project name> <keyword>" --json -n 5
obsidian links file="1 - Projects/<project-name>/<main-note>.md"
Filter: drop 2 - Areas/Daily Ops/ hits, already-linked notes, and source: claude-memory notes
unless opted in. Keep at most 3 candidates.
Propose — never write without approval:
[[Project A]] — related notes worth linking:
- [[note-1]] (3 - Resources/...) — <why it matches>
Approve any to append to 🔗 Links & References?
TODAY="2 - Areas/Daily Ops/$(date +%Y)/$(date +%Y-%m-%d).md"
obsidian append path="$TODAY" content="## Carry Forward\n- [item 1]\n- [item 2]"
If the Quick Wrap section is empty, draft answers:
Keep output concise. Focus on filing what matters, not summarizing the day.
Today's Extraction — [categories with items]
Vault Connections — [recurring themes, links to older notes]
Project Notes Updated — [list with what changed per project]
Related Notes (proposed) — [per-project candidates; awaiting approval]
Carry Forward — [what matters tomorrow]
Quick Wrap — [draft answers if section empty]