Help us improve
Share bugs, ideas, or general feedback.
From skills
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".
npx claudepluginhub kriscard/skillsHow this skill is triggered — by the user, by Claude, or both
Slash command
/skills:dailyThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Structured morning ritual that creates periodic notes, surfaces what carried forward from yesterday,
End-of-day ritual for Obsidian vaults: parses daily notes, updates project notes, surfaces vault connections, and writes carry-forward items. Prevents context loss.
Integrates Claude Code with Obsidian second brain vault for loading project context, capturing thoughts, morning planning, and querying linked notes using safe bash scripts.
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.
Share bugs, ideas, or general feedback.
Structured morning ritual that creates periodic notes, surfaces what carried forward from yesterday, checks the inbox, and locks in today's focus.
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.
Performance rule: batch all existence checks in parallel, then batch all template fetches in parallel, then create. Minimize round-trips.
Get today's path and check if the daily note exists:
TODAY="2 - Areas/Daily Ops/$(date +%Y)/$(date +%Y-%m-%d).md"
obsidian read path="$TODAY" 2>/dev/null
If missing, render from template and create:
obsidian template:read name="Daily Notes" resolve title="$TODAY"
obsidian create path="$TODAY" content="$PROCESSED_TEMPLATE"
Template variable substitution — if resolve doesn't substitute all variables, replace
manually:
{{date}} → YYYY-MM-DD{{title}} → note title{{week}} → W05{{month}} → January{{quarter}} → Q1{{year}} → YYYYNEVER create empty notes. If template fetch fails, report the error.
Run these checks in parallel based on today's date, then create all missing notes:
| Period | Condition | Path | Template |
|---|---|---|---|
| Daily | always | 2 - Areas/Daily Ops/YYYY/YYYY-MM-DD.md | Daily Notes |
| Weekly | Monday | 2 - Areas/Daily Ops/Weekly/M - Month YYYY/YYYY-Www.md | Weekly Planning |
| Monthly | 1st of month | 2 - Areas/Goals/Monthly/M - Month YYYY.md | Monthly Goals |
| Quarterly | Jan 1, Apr 1, Jul 1, Oct 1 | 2 - Areas/Goals/Quarterly/Quaterly Goals - QN YYYY.md | Quarterly Goals |
Note: The quarterly FOLDER is Quarterly/ but the FILE name uses the typo
Quaterly Goals - QN YYYY.md — preserve this to match existing vault structure.
Always check carry-forward before setting today's priorities.
Read yesterday's daily note:
YESTERDAY=$(date -v-1d +%Y/%Y-%m-%d)
obsidian read path="2 - Areas/Daily Ops/$YESTERDAY.md" 2>/dev/null
Extract any items marked "Carry Forward → Tomorrow" or similar. Prepend them to today's note immediately:
obsidian prepend path="$TODAY" content="**Carry forward from yesterday:**\n- [ ] Item 1\n- [ ] Item 2"
These are the first candidates for today's focus.
# Inbox count
obsidian files folder="0 - Inbox/" format=json
# Active projects
obsidian base:query path="MOCs/Active Projects.base" format=json 2>/dev/null || \
obsidian files folder="1 - Projects/" format=json
# Open tasks (from today's daily note; daily flag needs the Daily Notes plugin)
obsidian tasks todo path="$TODAY"
Ask via AskUserQuestion with multiSelect:
"Which projects are you focusing on today?" (list active projects from Step 3)
Then a single-select follow-up:
"What's the single most important thing to finish today?"
Fill today's Focus and Carry Forward sections. The CLI has no patch, so it cannot edit a named
section in place. Choose based on the note:
append/prepend:
obsidian append path="$TODAY" content="..."
obsidian_patch_content tool (heading-targeted), or recreate the note via
obsidian read path="$TODAY" + obsidian create path="$TODAY" content="..." overwrite.After completion, tell the user: