| name | brain-today |
| model | claude-sonnet-4-6 |
| context | forked |
| description | Morning startup - loads context, shows today's plan, flags overdue items. Use when starting the day, wanting a daily plan, or saying "good morning", "what's on today", "daily plan", "start the day". |
Perform a full morning startup ritual: load all vault context, create today's daily note if missing, identify carryover tasks from yesterday, flag overdue "eat the frog" items, and output a prioritized daily plan.
Step 0: Detect Obsidian CLI
Check if Obsidian CLI is available by running obsidian version. If it returns output, the CLI is active. When available, prefer CLI commands over direct file reads throughout this workflow — they use Obsidian's search index and cost near-zero tokens on large vaults.
Step 1: Determine Dates
Calculate today's date and yesterday's date in YYYY-MM-DD format. These are used for daily note paths and session log lookups.
Step 2: Read Vault Context
Read the following files silently (skip any that do not exist):
Machine/Rules/active-rules.md -- behavioral rules
Machine/Memory/context-cache.md -- current working memory
Machine/Memory/entities.md -- known entities
Machine/Memory/decisions.md -- recent decisions
Step 3: Read Recent Session Logs
Scan Machine/Session-Logs/ for the 3 most recent log files (sorted by filename descending). Read each one. Extract:
- What was accomplished
- Open items and next steps
- Corrections received
- Unresolved questions
Step 4: Read Yesterday's Daily Note
With Obsidian CLI: Use obsidian daily:path to get the daily note file path, then derive yesterday's path from it (adjust the date). Read the file directly to get yesterday's content and incomplete tasks.
Without Obsidian CLI: (existing file read approach below)
Read Human/Daily/{yesterday}.md if it exists. Identify:
- Tasks marked incomplete (unchecked
- [ ] items)
- Notes or priorities that should carry over
- Anything explicitly flagged for "tomorrow"
Step 5: Read or Create Today's Daily Note
With Obsidian CLI: Use obsidian daily to open/create today's note, and obsidian daily:read to read its contents.
Without Obsidian CLI: (existing approach below)
Check if Human/Daily/{today}.md exists.
If it exists: Read it and incorporate the user's existing priorities.
If it does not exist: Create it from the daily note template. The template structure:
---
date: {YYYY-MM-DD}
tags: [daily]
type: note
---
# {YYYY-MM-DD}
## Priorities
-
## Tasks
- [ ]
## Notes
## Carryover from Yesterday
<!-- Auto-populated by today skill -->
Populate the "Carryover from Yesterday" section with any incomplete tasks from yesterday's note.
Step 6: Eat the Frog Analysis
Scan the last 3-5 daily notes (Human/Daily/) for tasks that appear repeatedly without being completed. Any task that has appeared on 3 or more days without being checked off is an "eat the frog" candidate -- a task the user is avoiding.
Flag these prominently in the output.
Step 7: Output Daily Plan
Present a structured daily plan to the user:
Good morning! Here is your plan for {today}.
## Eat the Frog (overdue items)
- {task} -- has appeared on {N} daily notes without completion
## Carryover from Yesterday
- {incomplete tasks from yesterday}
## Today's Priorities
- {from today's daily note or context cache}
## Active Projects
- [[Project]] -- {status from context cache}
## Open Items from Recent Sessions
- {unresolved items from session logs}
## Context
{brief summary of where things left off}
Adjust the plan based on what data is available. Omit sections that have no content.
- Do NOT narrate each file read. Load context silently, then present the plan.
- Do NOT modify files in `Human/` except to create today's daily note if missing.
- Carryover items should be copied, not moved -- yesterday's note stays intact.
- Use `[[wikilinks]]` for all internal references.
- Keep the output concise and actionable -- this is a quick morning briefing, not a report.
- If the vault is empty (first use), acknowledge it and offer to help set up the day.
<success_criteria>
- Today's daily note exists after this skill runs
- Carryover items from yesterday are identified
- Eat-the-frog items (3+ days overdue) are flagged
- User receives a clear, prioritized daily plan
- Context from recent sessions is incorporated
</success_criteria>