/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
$ npx -y skills add davekilleen/Dex --skill daily-plan --agent claude-codeHow 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.mdname: 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
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
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.
Repo: davekilleen/Dex
Other skills on davekilleen-dex.
- /agent-browser
Browser automation using Vercel's agent-browser CLI. Use when you need to interact with web pages, fill forms, take screenshots, or scrape data. Alternative to Playwright MCP - uses Bash commands with ref-based element selection. Triggers on "browse website", "fill form", "click
Open skill - /agent-native-architecture
Build applications where agents are first-class citizens. Use this skill when designing autonomous agents, creating MCP tools, implementing self-modifying systems, or building apps where features are outcomes achieved by agents operating in a loop.
Open skill - /andrew-kane-gem-writer
This skill should be used when writing Ruby gems following Andrew Kane's proven patterns and philosophy. It applies when creating new Ruby gems, refactoring existing gems, designing gem APIs, or when clean, minimal, production-ready Ruby library code is needed. Triggers on
Open skill - /brainstorming
This skill should be used before implementing features, building components, or making changes. It guides exploring user intent, approaches, and design decisions before planning. Triggers on "let's brainstorm", "help me think through", "what should we build", "explore
Open skill - /compound-docs
Capture solved problems as categorized documentation with YAML frontmatter for fast lookup
Open skill - /create-agent-skills
Expert guidance for creating, writing, and refining Claude Code Skills. Use when working with SKILL.md files, authoring new skills, improving existing skills, or understanding skill structure and best practices.
Open skill

