Skip to content
Productivity
Skill

/daily-plan

Build today's plan from calendar, tasks, priorities and commitments, with smart scheduling suggestions. Use when the user says 'plan my day', 'what's on today', 'help me focus', or starts the morning. Also use proactively at the first session of the day. Not for reviewing a

From plugin
davekilleen-dex
46191 skills28 agents24 commands
Install
$ npx -y skills add davekilleen/Dex --skill daily-plan --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/daily-plan

Context preview

The summary Claude sees to decide when to auto-load this skill.

Build today's plan from calendar, tasks, priorities and commitments, with smart scheduling suggestions. Use when the user says 'plan my day', 'what's on today', 'help me focus', or starts the morning. Also use proactively at the first session of the day. Not for reviewing a

SKILL.md

daily-plan.SKILL.md
name: daily-plan
description: "Build today's plan from calendar, tasks, priorities and commitments, with smart scheduling suggestions. Use when the user says 'plan my day', 'what's on today', 'help me focus', or starts the morning. Also use proactively at the first session of the day. Not for reviewing a finished day; use `daily-review`."
model_routing:
  default: balanced
  steps:
    data-gathering: fast
    synthesis: balanced
context: fork
hooks:
  Stop:
    - type: command
      command: "node .claude/hooks/daily-plan-quick-ref.cjs"

Purpose

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

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 tone accordingly (see CLAUDE.md → "Communication Adaptation").

---

Step 0: Process Unprocessed Meetings

Before gathering context, ensure recent meetings are in the vault by running `/process-meetings`. This pulls any unprocessed meetings from the meeting source (Otter.ai, Granola, etc.), creates meeting notes, updates person/company pages, and extracts tasks — so the daily plan has complete data from yesterday and any earlier gaps.

  • If no new meetings are found, continue silently
  • If meetings are processed, note the count and use the extracted context in the plan
  • Do NOT ask for a skill rating after this sub-step — save that for the end of the full plan

Step 0.5: Dex Inbox Check (Phone Captures)

Check for tasks captured from phone that haven't been triaged:

Use: reminders_list_items(list_name="Dex Inbox")

**If the tool is unavailable or errors** (Apple Reminders phone-capture is optional and may not be set up on this machine): skip this step silently — do not surface an error for a feature the user never enabled.

If items found, triage them before building the plan so task counts are accurate. See Step 5.10a for the full triage flow.

**If empty:** Skip silently.

---

Step 1: Background Checks (Silent)

Run these silently without user-facing output:

1. **Release evidence**: SessionStart already performs the at-most-daily bounded fetch-only check. Read its result; do not start a second network attempt. Surface only its complete `release-appears-available-unverified` notice, verbatim. Keep `no-newer-release-observed-unverified`, `offline`, `UNKNOWN`, and `skipped` silent here. 2. **Self-learning checks**: Run changelog and learning review scripts if due 3. **Search index refresh**: Run `qmd update && qmd embed` to refresh vault search index with any overnight changes (meetings processed, files edited, etc.). If `qmd` is not installed, skip silently. 4. **People index refresh**: Call `build_people_index` from Work MCP. This keeps the People Directory current so person lookups throughout the day are fast. Takes <2 seconds. 5. **Innovation synthesis** (silent): Call `synthesize_changelog()` and `synthesize_learnings()` from Improvements MCP. These run in background and populate the backlog — results are surfaced in Step 1.5 below. 6. **Granola check** (silent): Granola sync uses the official API via `GRANOLA_API_KEY` (environment or vault-root `.env`). If no key is configured, skip all Granola steps silently — an unconnected optional integration is not an error. 7. **System health** (silent): Read `System/.smoke-last-run.json` when present and retain any broken-journey context for Step 5.10b.

---

Step 1.5: Innovation Spotlight (Concierge)

After background checks complete, check for noteworthy backlog activity:

1. Call `list_ideas(status="active", min_score=70)` from Improvements MCP 2. Check `System/.synthesis-state.json` for recent synthesis activity (last 7 days) 3. If there are AI-authored or recently enriched ideas, pick the most impactful one

**Surface as a brief spotlight in the plan output (1-2 lines max):**

> **Innovation Spotlight:** Claude Code shipped native memory (v2.1.32) — this could simplify idea-006 (Session Memory MCP). Run `/dex-improve idea-006` to explore.

**Rules:**

  • Show at most 1 spotlight per daily plan (don't overwhelm)
  • Rotate through ideas — don't show the same one twice in a row
  • Only show if there's genuine "Why Now?" urgency (new evidence in last 7 days)
  • If no recent synthesis activity, skip this section entirely
  • Never block the plan for this — it's a helpful aside, not a gate

---

Step 2: Morning Journal Check (If Enabled)

If `journaling.morning: true` in user-profile.yaml, check for today's morning journal and prompt if missing.

---

Step 3: Monday Weekly Planning Gate

If today is Monday and week isn't planned, offer to run `/week-plan` first.

---

Step 4: Yesterday's Review Check (Soft Gate)

Check for yesterday's review and extract context (open loops, tomorrow's focus, blocked items).

---

Step 5: Context Gathering (ENHANCED)

Gather context from all available sources. **This is where the magic happens.**

5.1 Midweek Progress Check (NEW)

Use: get_week_progress()

This is critical for genuine situational awareness. Extract:

  • Day of week and days remaining
  • Weekly priority status (complete / in_progress / not_started)
  • Warnings for priorities with no activity

**Surface this prominently:**

> "It's **Wednesday**. Here's where you are on this week's priorities: > > 1. ✅ **Ship pricing page** — Complete (finished Monday) > 2. 🔄 **Review proposal** — In progress (2 of 5 tasks done) > 3. ⚠️ **Customer interviews** — Not started (no activity yet) > > You have 2 days left this week. Priority 3 needs attention."

5.2 Calendar Capacity Analysis (NEW)

Use: analyze_calendar_capacity(days_ahead=1, events=[...f
Read more
Ships withdavekilleen-dex

A personal operating system powered by Claude. Strategic work management, meeting intelligence, relationship tracking, daily planning — all configured for your specific role. No coding required.

Get the whole plugin

Other skills on davekilleen-dex.