Skip to content
Productivity
Skill

/week-plan

Set the week's priorities against goals, calendar shape and task effort. Use when the user says 'plan my week', 'what should I focus on this week', or on their first working day. Also use proactively at the first session of a new week. Not for reviewing the week just past; use

From plugin
dex
51099 skills28 agents24 commands1 MCP

Claude Code

$ npx -y skills add davekilleen/Dex --skill week-plan --agent claude-code

SKILL.md

week-plan.SKILL.md
name: week-plan
description: "Set the week's priorities against goals, calendar shape and task effort. Use when the user says 'plan my week', 'what should I focus on this week', or on their first working day. Also use proactively at the first session of a new week. Not for reviewing the week just past; use `week-review`."

Execution mode

Run inline in the current conversation by default, so this work can see what the user has already discussed, decided, or settled this session. Do not fork merely because this skill was selected. Only run in the background when the user explicitly asks for a background run or the host has already obtained a specific background-work approval for this run.

Purpose

Set priorities and plan the week ahead. Now with **intelligent priority suggestions** based on quarterly goals, calendar capacity, and task effort classification.

Usage

  • `/week-plan` — Plan current week (or next week if run on the last working day or a non-working day)
  • `/week-plan next` — Explicitly plan next week
  • `/week-plan current` — Force planning current week

---

When to Use

**Best times:**

  • **First working day, before work** - Before diving into daily work
  • **Last working day, after work** - Set up next week while context is fresh
  • **Evening before the first working day** - Plan before the week begins

Read `working_week.days` in `System/user-profile.yaml` before deciding which days are first, last, or outside the working week.

---

Step 1: Determine Target Week

Calculate target week (current or next) based on day of week and user parameter.

---

Step 2: Context Gathering (ENHANCED)

Gather comprehensive context to inform **intelligent priority suggestions**.

2.1 Last Week's Review

Check for `00-Inbox/Weekly_Synthesis_[last-monday].md`:

  • "Next Week" section → Suggested priorities
  • "Carried Over" section → Unfinished tasks
  • "Blocked Items" → Things that need resolution
  • "Learnings" → Insights to apply

2.2 Quarterly Goals Status

Use: get_quarterly_goals()
Use: get_goal_status(goal_id) for each goal that has a goal_id

Skip `get_goal_status` for any goal whose `goal_id` is null — it has no ID to look up, and the call will tell you so rather than return a status.

For each goal, get:

  • Current progress (concrete: "2 of 5 milestones complete")
  • Linked priorities count
  • Weeks since last activity
  • Stall warnings

**Check `activity_known` before judging any goal.** When it is `false` — the goal was typed by hand with no ID, or recovered from a freeform list — `linked_priorities` and `linked_priorities_count` are `null`, meaning *not known*, never *none*. Never call such a goal orphaned or stalled on that basis.

**Identify goals needing attention** (only among goals where `activity_known` is `true`):

  • Goals with no linked priorities (orphaned)
  • Goals with no activity in 2+ weeks (stalled)
  • Goals behind expected pace

If the response flags goals as `provisional` (recovered from a freeform list), offer once — "Want me to structure these into trackable goals?" — and move on without nagging if declined.

2.3 Open Tasks and Projects

Use: list_tasks(include_done=False)

Get all open tasks and:

  • Classify by effort (deep_work / medium / quick)
  • Group by pillar alignment
  • Identify P0/P1 items

**Goal-advancing tasks — read the groomed backlog, don't guess:**

Use: get_weekly_planning_context()

Each goal in the response's `goal_health` carries `open_task_count` and `next_up_tasks` — the top items the user already marked "take these first" during grooming.

**First, check `activity_known`.** When it is `false`, that goal has no usable ID — it was typed by hand, or recovered from a freeform list — so Dex cannot tell what links to it. `linked_priority_count`, `has_activity`, `open_task_count` and `next_up_tasks` are all `null` for that goal, meaning *not known*, never *none*. Do not read a `null` as zero, do not call it stalled or neglected, and do not call `get_goal_backlog` for it (a null ID falls back to every goal's backlog). Plan around it normally and pass on the `recommendations` line that says how to give it an ID.

For every goal where `activity_known` is `true`, use the fields directly:

  • **Goal has `next_up_tasks`:** suggest those items by name — "Goal X's next-up items are A and B — they fit Wednesday's block."
  • **Stalled goal with open tasks but no groomed order:** call `get_goal_backlog(goal_id)` and pick candidates from the top of its ordering (priority, then oldest).
  • **Goal with a large `open_task_count` (10+) and no `next_up_tasks`:** mention `/goal-backlog` once — "Goal X has 14 open tasks and no groomed order — worth a `/goal-backlog` pass after planning?" Say it once for the whole plan, not per goal, and drop it if declined.

2.4 Calendar Shape Analysis (NEW)

Read `calendar.provider` from `System/user-profile.yaml` before any calendar call.

**If `provider` is `google`:** use Google Workspace MCP, not calendar-mcp event tools.

Read `calendar.work_calendar` from the same profile. Call `list_calendars(detailed=true)` first. Match `work_calendar` against a returned calendar summary, id, or primary flag, then pass that calendar's id. If `work_calendar` is missing or `primary`, use `primary`. Do not pass a display name as calendar_id. Set max_results high enough that a stacked week is not truncated.

Use: list_calendars(detailed=true)
Use: get_events(time_min="[week start]", time_max="[day after week end]", calendar_id="<resolved id or primary>", max_results=2500, detailed=true)
Use: analyze_calendar_capacity(days_ahead=7, events=[...mapped from get_events...])

Map returned events into the shape `analyze_calendar_capacity` expects (`title`, `date` as `YYYY-MM-DD`, `duration_minutes`, `attendees`, `all_day`). Apply CLAUDE.md's **Calendar response confidence contract** to the outcome: a missing or failing Google Workspace calendar tool is not an empty week, and do not call `analyze_

Read more
@davekilleen
Ships withdex

One personal Dex, built around your work. Keep your priorities, people, meeting notes and tasks in a folder you own. Work with Dex through your AI app to plan the day, prepare for a meeting or follow through on a promise.

51099 skills28 agents1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
510
Star history of davekilleen/Dex on GitHub, a chart by star-history.com

Other skills on dex.

agent-browser

agent-browser

Browser automation using Vercel's agent-browser CLI. Use when you need to interact with web pages, fill forms, take screenshots,…

@davekilleen@davekilleenInstall Skill
agent-native-architecture

agent-native-architect…

Build applications where agents are first-class citizens. Use this skill when designing autonomous agents, creating MCP tools,…

@davekilleen@davekilleenInstall Skill
andrew-kane-gem-writer

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…

@davekilleen@davekilleenInstall Skill
brainstorming

brainstorming

This skill should be used before implementing features, building components, or making changes. It guides exploring user intent,…

@davekilleen@davekilleenInstall Skill
compound-docs

compound-docs

Capture solved problems as categorized documentation with YAML frontmatter for fast lookup

@davekilleen@davekilleenInstall Skill
create-agent-skills

create-agent-skills

Expert guidance for creating, writing, and refining Claude Code Skills. Use when working with SKILL.md files, authoring new…

@davekilleen@davekilleenInstall Skill

More skills from other plugins.

i-have-adhd

i-have-adhd

Shape output for a reader with ADHD: lead with the next action, number multi-step work, restate state across turns, suppress…

@ayghri@ayghriInstall Skill
ab-test-analysis

ab-test-analysis

Analyze A/B test results with statistical significance, sample size validation, confidence intervals, and ship/extend/stop…

@phuryn@phurynInstall Skill
distilly

distilly

Set up the owner profile so a personal agent knows who it works for (first-run setup, \"get to know me\"), or distill colleague,…

Questions about week-plan.

Which coding agents can use week-plan?
week-plan installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.