daily-plan

Generate context-aware daily plan with calendar, tasks, and priorities. Integrates with morning journaling if enabled.

16 stars

Best use case

daily-plan is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Generate context-aware daily plan with calendar, tasks, and priorities. Integrates with morning journaling if enabled.

Teams using daily-plan should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/daily-plan/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/backend/daily-plan/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/daily-plan/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How daily-plan Compares

Feature / Agentdaily-planStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Generate context-aware daily plan with calendar, tasks, and priorities. Integrates with morning journaling if enabled.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

## Purpose

Generate your daily plan with full context awareness. Automatically gathers information from your calendar, tasks, meetings, and relationships to create a focused plan.

## Usage

- `/daily-plan` — Create today's daily plan
- `/daily-plan tomorrow` — Plan for tomorrow (evening planning)
- `/daily-plan --setup` — Re-run integration 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:

1. Read `System/user-profile.yaml`
2. Check `demo_mode` value
3. **If `demo_mode: true`:**
   - Display banner: "Demo Mode Active — Using sample data from System/Demo/"
   - Use these paths instead of normal paths:
     - `System/Demo/03-Tasks/Tasks.md` instead of `03-Tasks/Tasks.md`
     - `System/Demo/00-Inbox/` instead of `00-Inbox/`
     - `System/Demo/05-Areas/People/` instead of `05-Areas/People/`
     - `System/Demo/04-Projects/` instead of `04-Projects/`
   - Skip calendar/Granola integrations (use demo meeting data)
   - Write output to `System/Demo/07-Archives/Plans/`
4. **If `demo_mode: false`:** Proceed normally

---

## Step 1: Check for Updates (Background)

Silently check if Dex has updates available:

1. 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

2. **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)

3. **If no update or too recent:**
   - Continue silently (don't mention)
   - No user-facing output

4. **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:

1. Read `System/user-profile.yaml`
2. Check `journaling.morning` value
3. **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 `/journal` command)
     - After completion, continue to Step 2
   - **If exists:** Continue to Step 2
4. **If `journaling.morning: false`:** Skip to Step 2

---

## Step 3: Monday Weekly Planning Gate

If today is Monday, check if the week is planned:

1. Check current day of week
2. **If Monday:**
   - Read `00-Inbox/Weekly_Plans.md`
   - Check the `Week of:` date in frontmatter/header
   - **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 `/week-plan` then come back to daily plan
     > **[Skip to today]** — I'll plan the week later"
     
     - If user chooses "Plan the week first" → Run `/week-plan` → Then return to daily planning
     - If user chooses "Skip to today" → Continue to Step 3, but note in output that week isn't planned
     
   - **If week is current week:** Continue to Step 3
   
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:

1. Calculate yesterday's date (skip weekends if not a work day)
2. Look for `00-Inbox/Daily_Reviews/Daily_Review_YYYY-MM-DD.md`
3. **If exists:** Extract context:
   - Open Loops → Items that need attention today
   - Tomorrow's Focus → Today's starting point
   - Blocked items → Check if resolved
4. **If missing:** Warn but continue:
   > "I notice yesterday's review is missing. I can still plan today, but you might want to run `/review` later to capture what you accomplished."

## Step 3.5: Level-Up Check (Smart Trigger)

Check if it's time to surface `/dex-level-up`:

1. Read `System/usage_log.md` to check `last_dex_level_up_prompt` date (stored at bottom of file)
2. **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):
       ```markdown
       ---
       
       💡 **Tip:** You're using {{X}} of {{Y}} Dex features. Run `/dex-level-up` to see what you might be missing.
       ```
     - Update `last_dex_level_up_prompt: YYYY-MM-DD` in usage_log.md
3. **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:**

1. **Changelog Check** (if 6+ hours since last check)
   ```bash
   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)

2. **Learning Review Check** (if not checked today)
   ```bash
   bash .scripts/learning-review-prompt.sh 2>/dev/null &
   ```
   - Counts pending learnings from past 7 days
   - Creates alert if 5+ pending
   - Updates `.last-learning-check` file with today's date

**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 `People/External/` or `People/Internal/`
- Surface recent context, open items with them

### From Self-Learning Alerts

Check for pending alerts created by background automation:

1. **Changelog Updates**: Read `System/changelog-updates-pending.md` if exists
   - Extract: Latest version, update date
   - Surface: "🆕 New Claude Code features available - run `/dex-whats-new`"

2. **Learning Reviews**: Read `System/learning-review-pending.md` if exists
   - 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`:

```markdown
---
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:

1. Read `System/usage_log.md`
2. Update these items:
   - `- [ ] Daily planning (/daily-plan)` → `- [x] Daily planning (/daily-plan)`
   - Update `First daily plan: YYYY-MM-DD` if not set
3. 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`:

1. Check for evening journal (if journaling enabled)
2. Gather tomorrow's calendar
3. Review unfinished tasks from today
4. Generate tomorrow's draft plan
5. Save as `07-Archives/Plans/YYYY-MM-DD-draft.md`

---

## MCP Dependencies

| Integration | MCP Server | Tools Used |
|-------------|------------|------------|
| Calendar | dex-calendar-mcp | `calendar_get_today`, `calendar_get_events_with_attendees` |
| Granola | dex-granola-mcp | `get_recent_meetings` |
| Work | dex-work-mcp | `list_tasks`, `list_week_priorities`, `suggest_focus` |

---

## Setup Instructions

### Calendar MCP Setup

1. Ensure `core/mcp/calendar_server.py` exists
2. Add to Claude Desktop config at `~/Library/Application Support/Claude/claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "dex-calendar": {
      "command": "python",
      "args": ["/path/to/dex/core/mcp/calendar_server.py"],
      "env": {
        "VAULT_PATH": "/path/to/dex"
      }
    }
  }
}
```

3. Restart Claude Desktop
4. Run `/daily-plan --setup` to configure

### Granola MCP Setup

1. Install Granola app (macOS only)
2. Ensure `core/mcp/granola_server.py` exists
3. Add to Claude Desktop config (same file, similar pattern)
4. Granola will auto-detect from local cache at `~/Library/Application Support/Granola/cache-v3.json`

Related Skills

kitt-create-plans

16
from diegosouzapw/awesome-omni-skill

Create hierarchical project plans optimized for solo agentic development. Use when planning projects, phases, or tasks that the AI agent will execute. Produces agent-executable plans with verification criteria, not enterprise documentation. Handles briefs, roadmaps, phase plans, and context handoffs.

dailybot-automation

16
from diegosouzapw/awesome-omni-skill

Automate Dailybot tasks via Rube MCP (Composio). Always search tools first for current schemas.

daily-work-tracker

16
from diegosouzapw/awesome-omni-skill

Use when the user wants to log work items (bugs, features, tasks), track time spent, or view a daily/weekly work report.

business-plan

16
from diegosouzapw/awesome-omni-skill

Write, structure, and update a business plan for a solopreneur. Use when creating a plan from scratch, updating an existing plan after a pivot or new phase, or preparing a plan to share with investors, partners, or even just to clarify your own strategy. Covers executive summary, market analysis, competitive positioning, revenue model, operations plan, financial projections, and risk assessment — all adapted for a one-person business. Trigger on "write a business plan", "business plan", "create my plan", "business plan template", "update my business plan", "plan for my business", "investor pitch plan".

airtight-plans

16
from diegosouzapw/awesome-omni-skill

Write structured multi-step implementation plans in markdown format. Plans use numbered steps with clear titles and detailed instructions. Use when asked to create an implementation plan, development roadmap, or multi-step task breakdown.

aif-plan

16
from diegosouzapw/awesome-omni-skill

Plan implementation for a feature or task. Two modes — fast (no branch) or full (git branch + plan). Use when user says "plan", "new feature", "start feature", "create tasks".

ai-trend-daily

16
from diegosouzapw/awesome-omni-skill

AIトレンドネタ収集

Adaptive Daily Reflection & Planner

16
from diegosouzapw/awesome-omni-skill

An intelligent daily check-in assistant that adapts its depth based on user engagement. It collects key activities and emotions for daily summaries while extracting tasks for to-do list management.

treatment-plans

16
from diegosouzapw/awesome-omni-skill

Generate concise (3-4 page), focused medical treatment plans in LaTeX/PDF format for all clinical specialties. Supports general medical treatment, rehabilitation therapy, mental health care, chronic disease management, perioperative care, and pain management. Includes SMART goal frameworks, evidence-based interventions with minimal text citations, regulatory compliance (HIPAA), and professional formatting. Prioritizes brevity and clinical actionability.

todo-task-planning

16
from diegosouzapw/awesome-omni-skill

Execute task planning based on the specified file and manage questions[/todo-task-planning file_path --pr --branch branch_name]

planning-with-files

16
from diegosouzapw/awesome-omni-skill

Implements Manus-style file-based planning for complex tasks. Creates task_plan.md, findings.md, and progress.md. Use when starting complex multi-step tasks, research projects, or any task requiring >5 tool calls. Now with automatic session recovery after /clear.

obsidian-daily

16
from diegosouzapw/awesome-omni-skill

Manage Obsidian Daily Notes via obsidian-cli. Create and open daily notes, append entries (journals, logs, tasks, links), read past notes by date, and search vault content. Handles relative dates like "yesterday", "last Friday", "3 days ago".