Awesome-omni-skill daily-plan
Generate context-aware daily plan with calendar, tasks, and priorities. Integrates with morning journaling if enabled.
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/backend/daily-plan" ~/.claude/skills/diegosouzapw-awesome-omni-skill-daily-plan && rm -rf "$T"
skills/backend/daily-plan/SKILL.mdPurpose
Generate your daily plan with full context awareness. Automatically gathers information from your calendar, tasks, meetings, and relationships to create a focused plan.
Usage
— Create today's daily plan/daily-plan
— Plan for tomorrow (evening planning)/daily-plan tomorrow
— Re-run integration setup/daily-plan --setup
Tone Calibration
Before executing this command, read
System/user-profile.yaml → communication section and adapt:
Career Level Adaptations:
- Junior: More encouraging, explain "why" behind prioritization, suggest asking for help
- Mid: Collaborative, focus on impact and ownership
- Senior/Leadership: Strategic questions, challenge priorities, focus on delegation
- C-Suite: High-level, strategic focus, organizational outcomes
Directness:
- Very direct: Brief bullets, action-focused, minimal context
- Balanced: Context + action (default)
- Supportive: More encouragement, explain reasoning
Detail Level:
- Concise: Brief summary, top 3 priorities
- Balanced: Standard daily plan format
- Comprehensive: Extended context, dependencies, risks
See CLAUDE.md → "Communication Adaptation" for full guidelines.
Step 0: Demo Mode Check
Before anything else, check if demo mode is active:
- Read
System/user-profile.yaml - Check
valuedemo_mode - If
:demo_mode: true- Display banner: "Demo Mode Active — Using sample data from System/Demo/"
- Use these paths instead of normal paths:
instead ofSystem/Demo/03-Tasks/Tasks.md03-Tasks/Tasks.md
instead ofSystem/Demo/00-Inbox/00-Inbox/
instead ofSystem/Demo/05-Areas/People/05-Areas/People/
instead ofSystem/Demo/04-Projects/04-Projects/
- Skip calendar/Granola integrations (use demo meeting data)
- Write output to
System/Demo/07-Archives/Plans/
- If
: Proceed normallydemo_mode: false
Step 1: Check for Updates (Background)
Silently check if Dex has updates available:
-
Call update checker MCP:
check_for_updates(force=False)- This respects the 7-day interval
- Won't check if checked recently
- Won't block if network issues
-
If update available:
- Store notification message for prepending to final output
- Format: "🎁 Dex v{version} is available. Run /dex-update to see what's new and update."
- Continue immediately (don't wait for user)
-
If no update or too recent:
- Continue silently (don't mention)
- No user-facing output
-
If error (network, API limit):
- Continue silently (don't mention)
- Will retry tomorrow
Note: This runs in background. Don't announce "Checking for updates..." or wait for user input. Just proceed with daily planning.
Step 2: Morning Journal Check (If Enabled)
Check if morning journaling is enabled:
- Read
System/user-profile.yaml - Check
valuejournaling.morning - If
:journaling.morning: true- Check if today's morning journal exists in
00-Inbox/Journals/YYYY/MM-Month/Morning/YYYY-MM-DD-morning.md - If missing:
- Prompt: "Let's start with a quick morning reflection first. It'll take 5 minutes and helps you plan with more intention."
- Guide through morning journal (see
command)/journal - After completion, continue to Step 2
- If exists: Continue to Step 2
- Check if today's morning journal exists in
- If
: Skip to Step 2journaling.morning: false
Step 3: Monday Weekly Planning Gate
If today is Monday, check if the week is planned:
-
Check current day of week
-
If Monday:
-
Read
00-Inbox/Weekly_Plans.md -
Check the
date in frontmatter/headerWeek of: -
If week is not current week:
Prompt user:
"It's Monday and this week isn't planned yet.
Planning your week first helps ensure today's work aligns with what matters most. (Takes 5-10 min)
[Plan the week first] — Run
then come back to daily plan [Skip to today] — I'll plan the week later"/week-plan- If user chooses "Plan the week first" → Run
→ Then return to daily planning/week-plan - If user chooses "Skip to today" → Continue to Step 3, but note in output that week isn't planned
- If user chooses "Plan the week first" → Run
-
If week is current week: Continue to Step 3
-
-
If not Monday: Continue to Step 3
Step 4: Yesterday's Review Check (Soft Gate)
Unlike a hard block, this is a gentle check:
- Calculate yesterday's date (skip weekends if not a work day)
- Look for
00-Inbox/Daily_Reviews/Daily_Review_YYYY-MM-DD.md - If exists: Extract context:
- Open Loops → Items that need attention today
- Tomorrow's Focus → Today's starting point
- Blocked items → Check if resolved
- If missing: Warn but continue:
"I notice yesterday's review is missing. I can still plan today, but you might want to run
later to capture what you accomplished."/review
Step 3.5: Level-Up Check (Smart Trigger)
Check if it's time to surface
/dex-level-up:
- Read
to checkSystem/usage_log.md
date (stored at bottom of file)last_dex_level_up_prompt - If 7+ days since last prompt OR field doesn't exist:
- Count unchecked features in usage log
- If 3+ unchecked features exist:
- Add this to the daily plan output (in a "Tips" or "System" section):
--- 💡 **Tip:** You're using {{X}} of {{Y}} Dex features. Run `/dex-level-up` to see what you might be missing. - Update
in usage_log.mdlast_dex_level_up_prompt: YYYY-MM-DD
- Add this to the daily plan output (in a "Tips" or "System" section):
- Otherwise: Skip this check
Step 3.6: Self-Learning Checks (Background)
Run automated self-learning checks before gathering context. These are fast, throttled checks that keep Dex up-to-date.
Execute silently in background:
-
Changelog Check (if 6+ hours since last check)
node .scripts/check-anthropic-changelog.cjs 2>/dev/null &- Respects 6-hour minimum interval
- Writes alert file if updates found
- Non-blocking (runs in background)
-
Learning Review Check (if not checked today)
bash .scripts/learning-review-prompt.sh 2>/dev/null &- Counts pending learnings from past 7 days
- Creates alert if 5+ pending
- Updates
file with today's date.last-learning-check
Note: These checks also run at session start via hooks, but running here ensures they happen during daily planning even if hooks aren't configured. The interval throttling prevents duplicate work.
If alert files exist, they will be surfaced in Step 4 context.
Step 5: Context Gathering
Gather context from all available sources in parallel:
From Calendar (if enabled)
Use: calendar_get_events_with_attendees for today
Extract:
- Today's meetings with times
- Attendees (for People/ lookup)
- Back-to-back meeting detection
- Free time blocks
From Granola (if enabled)
Check for recent meeting notes that might have action items.
From 03-Tasks/Tasks.md
Use: list_tasks with status filter
Extract:
- P0 items (must do)
- P1 items (important)
- Started but not completed
- Overdue items
From Week Priorities
Read
00-Inbox/Weekly_Plans.md:
- This week's Top 3
- Key meetings
- Pillar balance check
From Work Summary (Work MCP)
Use: get_work_summary()
Extract:
- Quarterly goals with progress (if quarterly planning enabled)
- Weekly priorities with completion status
- Tasks grouped by priority link
- Warnings about stalled goals or orphaned work
This provides strategic context for the day: "Your tasks today contribute to Priority 2, which advances Goal 1"
From People/
For each meeting attendee:
- Look up
orPeople/External/People/Internal/ - Surface recent context, open items with them
From Self-Learning Alerts
Check for pending alerts created by background automation:
-
Changelog Updates: Read
if existsSystem/changelog-updates-pending.md- Extract: Latest version, update date
- Surface: "🆕 New Claude Code features available - run
"/dex-whats-new
-
Learning Reviews: Read
if existsSystem/learning-review-pending.md- Extract: Count of pending learnings
- Surface: "📚 {count} pending learnings from this week - run
"/dex-whats-new --learnings
Include in daily plan output if present - these are actionable items for improving your system.
Step 6: Synthesis
Combine all gathered context into recommendations:
Focus Recommendation
Based on:
- P0 tasks (highest weight)
- Yesterday's "Tomorrow Focus"
- Meeting prep needs
- Week Priorities alignment
Generate 3 recommended focus items.
Meeting Prep
For each meeting:
- Who's attending (with People/ context)
- Related tasks or projects
- Suggested prep if none exists
Heads Up
Flag potential issues:
- Back-to-back meetings
- P0 items with no time blocked
- People you owe follow-ups to
Step 7: Generate Daily Plan
Before displaying the plan:
If update notification was captured in Step 1, prepend it to the output:
🎁 Dex v{version} is available. Run /dex-whats-new for details. --- [Daily plan follows below]
Then create the plan:
Create
07-Archives/Plans/YYYY-MM-DD.md:
--- date: YYYY-MM-DD type: daily-plan integrations_used: [calendar, tasks, people] --- # Daily Plan — {{Day}}, {{Month}} {{DD}} ## TL;DR - {{1-2 sentence summary}} - {{X}} meetings today - {{Key focus area}} --- ## Strategic Context (if quarterly planning enabled) **This Week's Priority:** {{Priority 2}} — Ship beta version **Advances Goal:** Q1-2026-goal-1 (Launch Product v2.0) — Currently at 55% **Today's Contribution:** - Your P0 tasks contribute to this week's priority - Completing them moves Goal 1 toward 60% --- ## Career Development (if Career system enabled) **If `05-Areas/Career/` exists and today's work has career metadata:** > 💡 **Career Growth Today:** > > Today's work develops these skills: > - **[Skill 1]** — From [Goal/Priority Title] > - **[Skill 2]** — From [Goal/Priority Title] > > These map to your target role: [Target Role from Growth_Goals.md] **Optional: Show stale skills:** > ⚠️ **Skill to practice:** You haven't worked on "[Stale Skill]" in [X] days — required for [target level] **Tag reminder:** > **Tip:** Add `# Career: [skill]` to tasks that develop specific skills for evidence tracking. --- ## Carried From Yesterday > From yesterday's review (if exists) ### Open Loops - [ ] {{Items from yesterday's review}} ### Yesterday's Focus → Today's Starting Point 1. {{Priority 1}} 2. {{Priority 2}} --- ## Today's Focus **If I only do three things today:** 1. [ ] {{Focus item 1}} — {{Pillar}} *(supports Week Priority #X)* 2. [ ] {{Focus item 2}} — {{Pillar}} *(supports Week Priority #Y)* 3. [ ] {{Focus item 3}} — {{Pillar}} > 📍 **This week's priorities:** [Link to Week Priorities.md or brief reference] --- ## Schedule | Time | Meeting/Block | Who | Prep | |------|---------------|-----|------| | {{Time}} | {{Meeting}} | {{Attendees}} | {{Prep link or "None needed"}} | | ... | ... | ... | ... | ### Free Blocks - {{Time range}}: {{Suggested use}} --- ## Tasks by Priority ### P0 - Must Do Today - [ ] {{Task}} ### P1 - Important - [ ] {{Task}} ### P2 - If Time Allows - [ ] {{Task}} --- ## People Context ### Meeting with {{Name}} - Role: {{From People/ page}} - Last interaction: {{Date}} - Open items: {{Any pending tasks involving them}} --- ## Heads Up {{Flags and warnings}} - ⚠️ Back-to-back meetings from X to Y - ⏰ P0 item "{{task}}" has no time blocked - 📞 You owe {{Name}} a follow-up from {{Date}} --- *Generated: {{timestamp}}* *Integrations: {{list}}*
Step 8: Track Usage (Silent)
After generating the daily plan, silently update usage tracking:
- Read
System/usage_log.md - Update these items:
→- [ ] Daily planning (/daily-plan)- [x] Daily planning (/daily-plan)- Update
if not setFirst daily plan: YYYY-MM-DD
- No announcement to user
Graceful Degradation
The plan works at multiple levels:
Full Context (Calendar + Granola + Tasks + People)
- Complete schedule with attendee lookup
- Meeting prep suggestions
- Relationship context
Partial Context (Tasks + People only)
- Focus recommendations from tasks
- No schedule section
- Still useful for prioritization
Minimal Context (Tasks only)
- Basic focus list
- Task priorities
- Prompt for manual schedule input
No Context (Nothing configured)
- Interactive flow asking about priorities
- Creates basic daily note
- Encourages setting up integrations
Evening Planning Variant
/daily-plan tomorrow:
- Check for evening journal (if journaling enabled)
- Gather tomorrow's calendar
- Review unfinished tasks from today
- Generate tomorrow's draft plan
- Save as
07-Archives/Plans/YYYY-MM-DD-draft.md
MCP Dependencies
| Integration | MCP Server | Tools Used |
|---|---|---|
| Calendar | dex-calendar-mcp | , |
| Granola | dex-granola-mcp | |
| Work | dex-work-mcp | , , |
Setup Instructions
Calendar MCP Setup
- Ensure
existscore/mcp/calendar_server.py - Add to Claude Desktop config at
:~/Library/Application Support/Claude/claude_desktop_config.json
{ "mcpServers": { "dex-calendar": { "command": "python", "args": ["/path/to/dex/core/mcp/calendar_server.py"], "env": { "VAULT_PATH": "/path/to/dex" } } } }
- Restart Claude Desktop
- Run
to configure/daily-plan --setup
Granola MCP Setup
- Install Granola app (macOS only)
- Ensure
existscore/mcp/granola_server.py - Add to Claude Desktop config (same file, similar pattern)
- Granola will auto-detect from local cache at
~/Library/Application Support/Granola/cache-v3.json