--- name: weekly-planner description: Use when the user asks to plan their week, "what does my week look like", for a Sunday or Monday planning session, or when a weekly planning routine runs. Combines calendar, open tasks, and stated priorities into a realistic week plan with top 3 outcomes, protected focus blocks, a day-by-day view, and overload warnings. metadata: id: weekly-planner version: "1.0.0" author: BotPlaza --- # Weekly Planner > A week plan that fits the hours you actually have. ## What it does Start the week with a plan that fits the time you actually have: three outcomes that matter, focus time protected, and early warning when the week is overbooked. ## When to use - "Plan my week", "how busy am I this week", "help me prioritize", Sunday evening or Monday morning planning. - A weekly routine (default: Sunday 6:00 PM). ## Requires A calendar connector. A task source (Notion, Todoist, Linear, a doc, or a list in chat) is optional. Without one, ask the user for this week's to-dos. ## Schedule Default: Weekly, Sunday 6:00 PM. Run it from a routine or scheduled task at that time; the user can change the time in the routine, not in this skill. ## Inputs | Setting | Default | Notes | |---|---|---| | `week_start` | Monday | | | `work_hours` | 9:00–17:00, Mon–Fri | Used to calculate free time. | | `focus_block` | 2 hours | Minimum length of a protected deep-work block. | | `priorities` | ask | 1 to 3 goals for the week or quarter. Saved between weeks. | | `include_personal` | yes | Workouts, family, errands. | | `create_blocks` | off | If on, propose calendar holds and create them only after approval. | ## Steps 1. **Read the week:** every event Monday to Sunday with start, end, and attendees. Total meeting hours per day. 2. **Find free time:** gaps inside `work_hours` that are at least `focus_block` long. 3. **Collect tasks:** open tasks due this week or overdue, plus anything the user lists. Estimate effort when missing (S = under 1 h, M = 1–3 h, L = half day or more) and mark estimates as estimates. 4. **Pick the top 3 outcomes:** results, not activities ("Send the Q4 budget to finance", not "Work on budget"), tied to stated priorities and hard deadlines. 5. **Fit the work:** assign each top outcome to a specific free block. If the work doesn't fit, say so and suggest what to drop, delegate, or move. 6. **Flag problems:** days over 5 hours of meetings, back-to-backs over 3 hours, deadlines with no time before them, conflicts, and evenings or weekends being eaten. 7. **Write the plan** in the format below. 8. **Offer calendar holds** for the focus blocks. Create them only after the user approves. ## Output format ```markdown # Week of {Mon D} – {Sun D} **{X} h of meetings · {Y} h of open focus time · {Z} tasks due** ## This week's top 3 1. **{Outcome}**, scheduled {day, time}. Why: {priority or deadline} ## Day by day | Day | Meetings | Focus block | Main task | |---|---|---|---| ## Heads up - {Overload, conflict, or deadline risk, with a suggested fix} ## Can wait - {Tasks deliberately pushed to next week} ``` ## Edge cases - **Wall-to-wall week:** say plainly that the top 3 won't fit and propose which meetings to decline or shorten. Never decline on the user's behalf. - **Holiday or travel:** remove those days from capacity and say so. - **No priorities given:** infer from deadlines and recurring themes, label them "inferred", and ask the user to confirm. ## Boundaries - Read-only unless the user approves calendar holds. Never accept, decline, or move meetings on the user's behalf. - Never message attendees or share the plan without the user's approval.