{
  "id": "weekly-planner",
  "slug": "weekly-planner",
  "name": "Weekly Planner",
  "tagline": "A week plan that fits the hours you actually have.",
  "description": "Reads your calendar and tasks, picks your top three outcomes, protects focus time, and warns you when the week is overbooked.",
  "category": "Productivity",
  "platforms": [
    "Grok Bot",
    "Muse",
    "Dots"
  ],
  "schedule": "Weekly, Sunday 6:00 PM",
  "outputType": "report",
  "previewImage": "previews/weekly-planner.png",
  "installSteps": {
    "grokBot": {
      "label": "Grok Bot",
      "status": "verified",
      "steps": [
        "Copy skills/weekly-planner/SKILL.md (the whole file, including the --- header).",
        "Open a one-to-one chat with your Grok Bot and paste the prompt below, with the file where it says.",
        "When the Bot asks, connect: Google Calendar or Outlook (required), Notion, Todoist, or Linear (optional). It shows a connect card right in the chat.",
        "Try it once now: \"Run Weekly Planner.\"",
        "The routine shows in the Bot's info pane (click the Bot's name in the chat header) under Routines, where you can pause or edit it."
      ],
      "prompt": "Save the following as a skill called \"Weekly Planner\". Then create a routine that runs it every Sunday at 6:00 PM and posts the result here. Before the first run, ask me the setup questions in the skill and remember my answers.\n\n<paste SKILL.md here>",
      "note": "Skills and routines are saved by asking the Bot; no settings to dig through.",
      "promptFull": "Save the following as a skill called \"Weekly Planner\". Then create a routine that runs it every Sunday at 6:00 PM and posts the result here. Before the first run, ask me the setup questions in the skill and remember my answers.\n\n---\nname: weekly-planner\ndescription: 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.\nmetadata:\n  id: weekly-planner\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Weekly Planner\n\n> A week plan that fits the hours you actually have.\n\n## What it does\n\nStart 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.\n\n## When to use\n\n- \"Plan my week\", \"how busy am I this week\", \"help me prioritize\", Sunday evening or Monday morning planning.\n- A weekly routine (default: Sunday 6:00 PM).\n\n## Requires\n\nA 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.\n\n## Schedule\n\nDefault: 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.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `week_start` | Monday | |\n| `work_hours` | 9:00\u201317:00, Mon\u2013Fri | Used to calculate free time. |\n| `focus_block` | 2 hours | Minimum length of a protected deep-work block. |\n| `priorities` | ask | 1 to 3 goals for the week or quarter. Saved between weeks. |\n| `include_personal` | yes | Workouts, family, errands. |\n| `create_blocks` | off | If on, propose calendar holds and create them only after approval. |\n\n## Steps\n\n1. **Read the week:** every event Monday to Sunday with start, end, and attendees. Total meeting hours per day.\n2. **Find free time:** gaps inside `work_hours` that are at least `focus_block` long.\n3. **Collect tasks:** open tasks due this week or overdue, plus anything the user lists. Estimate effort when missing (S = under 1 h, M = 1\u20133 h, L = half day or more) and mark estimates as estimates.\n4. **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.\n5. **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.\n6. **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.\n7. **Write the plan** in the format below.\n8. **Offer calendar holds** for the focus blocks. Create them only after the user approves.\n\n## Output format\n\n```markdown\n# Week of {Mon D} \u2013 {Sun D}\n**{X} h of meetings \u00b7 {Y} h of open focus time \u00b7 {Z} tasks due**\n\n## This week's top 3\n1. **{Outcome}**, scheduled {day, time}. Why: {priority or deadline}\n\n## Day by day\n| Day | Meetings | Focus block | Main task |\n|---|---|---|---|\n\n## Heads up\n- {Overload, conflict, or deadline risk, with a suggested fix}\n\n## Can wait\n- {Tasks deliberately pushed to next week}\n```\n\n## Edge cases\n\n- **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.\n- **Holiday or travel:** remove those days from capacity and say so.\n- **No priorities given:** infer from deadlines and recurring themes, label them \"inferred\", and ask the user to confirm.\n\n## Boundaries\n\n- Read-only unless the user approves calendar holds. Never accept, decline, or move meetings on the user's behalf.\n- Never message attendees or share the plan without the user's approval."
    },
    "muse": {
      "label": "Muse",
      "status": "partially-verified",
      "steps": [
        "Copy skills/weekly-planner/SKILL.md.",
        "Open Muse and paste the prompt below with the file where it says.",
        "Try it: \"Run Weekly Planner.\" Muse has no skill install for outside skills, so it follows the pasted instructions.",
        "Ask Muse to make it a recurring task every Sunday at 6:00 PM. It then shows under the Assistant icon > Upcoming.",
        "Muse Code (developer CLI): unzip downloads/weekly-planner.zip, run `muse skills validate ./weekly-planner` then `muse skills install ./weekly-planner --scope user`. Optional: add the BotPlaza connector (https://botplaza.vercel.app/api/mcp) under mcpServers in ~/.config/muse/settings.json."
      ],
      "sourceUrl": "https://www.meta.com/help/superintelligence/1484325780075655/",
      "note": "Recurring tasks and Muse Code skill install are documented by Meta. Installing outside skills in the Muse app is not.",
      "prompt": "Here are instructions for a task called \"Weekly Planner\". Follow them whenever I say \"Run Weekly Planner\". Ask me the setup questions first and remember my answers.\n\n<paste SKILL.md here>\n\nIf you can save this as a skill, please do.",
      "promptFull": "Here are instructions for a task called \"Weekly Planner\". Follow them whenever I say \"Run Weekly Planner\". Ask me the setup questions first and remember my answers.\n\n---\nname: weekly-planner\ndescription: 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.\nmetadata:\n  id: weekly-planner\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Weekly Planner\n\n> A week plan that fits the hours you actually have.\n\n## What it does\n\nStart 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.\n\n## When to use\n\n- \"Plan my week\", \"how busy am I this week\", \"help me prioritize\", Sunday evening or Monday morning planning.\n- A weekly routine (default: Sunday 6:00 PM).\n\n## Requires\n\nA 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.\n\n## Schedule\n\nDefault: 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.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `week_start` | Monday | |\n| `work_hours` | 9:00\u201317:00, Mon\u2013Fri | Used to calculate free time. |\n| `focus_block` | 2 hours | Minimum length of a protected deep-work block. |\n| `priorities` | ask | 1 to 3 goals for the week or quarter. Saved between weeks. |\n| `include_personal` | yes | Workouts, family, errands. |\n| `create_blocks` | off | If on, propose calendar holds and create them only after approval. |\n\n## Steps\n\n1. **Read the week:** every event Monday to Sunday with start, end, and attendees. Total meeting hours per day.\n2. **Find free time:** gaps inside `work_hours` that are at least `focus_block` long.\n3. **Collect tasks:** open tasks due this week or overdue, plus anything the user lists. Estimate effort when missing (S = under 1 h, M = 1\u20133 h, L = half day or more) and mark estimates as estimates.\n4. **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.\n5. **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.\n6. **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.\n7. **Write the plan** in the format below.\n8. **Offer calendar holds** for the focus blocks. Create them only after the user approves.\n\n## Output format\n\n```markdown\n# Week of {Mon D} \u2013 {Sun D}\n**{X} h of meetings \u00b7 {Y} h of open focus time \u00b7 {Z} tasks due**\n\n## This week's top 3\n1. **{Outcome}**, scheduled {day, time}. Why: {priority or deadline}\n\n## Day by day\n| Day | Meetings | Focus block | Main task |\n|---|---|---|---|\n\n## Heads up\n- {Overload, conflict, or deadline risk, with a suggested fix}\n\n## Can wait\n- {Tasks deliberately pushed to next week}\n```\n\n## Edge cases\n\n- **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.\n- **Holiday or travel:** remove those days from capacity and say so.\n- **No priorities given:** infer from deadlines and recurring themes, label them \"inferred\", and ask the user to confirm.\n\n## Boundaries\n\n- Read-only unless the user approves calendar holds. Never accept, decline, or move meetings on the user's behalf.\n- Never message attendees or share the plan without the user's approval.\n\nIf you can save this as a skill, please do."
    },
    "dots": {
      "label": "Dots",
      "status": "partially-verified",
      "steps": [
        "Copy skills/weekly-planner/SKILL.md.",
        "Paste the prompt below into your dot's conversation in ChatGPT, with the file where it says.",
        "Wait for the dot to confirm the schedule, time zone and end date.",
        "Optional: in ChatGPT, Plugins > + > Add custom MCP server with https://botplaza.vercel.app/api/mcp (no authentication). Dots can use installed plugins, but OpenAI hasn't said whether that includes custom ones.",
        "Business, Enterprise, Healthcare and Edu workspaces can also upload downloads/weekly-planner.zip under Plugins > Skills > Create > Upload from your computer."
      ],
      "sourceUrl": "https://learn.chatgpt.com/docs/dots",
      "note": "Dots are available on ChatGPT Pro, Business Premium and Enterprise, and are still rolling out. Pasting instructions in and scheduled check-ins are documented.",
      "prompt": "Here are instructions for a task called \"Weekly Planner\". Take this on as an ongoing responsibility and follow them whenever I say \"Run Weekly Planner\". Ask me the setup questions first and remember my answers.\n\n<paste SKILL.md here>\n\nCheck in every Sunday at 6:00 PM Eastern time for the next 3 months, and confirm the schedule back to me.",
      "promptFull": "Here are instructions for a task called \"Weekly Planner\". Take this on as an ongoing responsibility and follow them whenever I say \"Run Weekly Planner\". Ask me the setup questions first and remember my answers.\n\n---\nname: weekly-planner\ndescription: 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.\nmetadata:\n  id: weekly-planner\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Weekly Planner\n\n> A week plan that fits the hours you actually have.\n\n## What it does\n\nStart 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.\n\n## When to use\n\n- \"Plan my week\", \"how busy am I this week\", \"help me prioritize\", Sunday evening or Monday morning planning.\n- A weekly routine (default: Sunday 6:00 PM).\n\n## Requires\n\nA 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.\n\n## Schedule\n\nDefault: 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.\n\n## Inputs\n\n| Setting | Default | Notes |\n|---|---|---|\n| `week_start` | Monday | |\n| `work_hours` | 9:00\u201317:00, Mon\u2013Fri | Used to calculate free time. |\n| `focus_block` | 2 hours | Minimum length of a protected deep-work block. |\n| `priorities` | ask | 1 to 3 goals for the week or quarter. Saved between weeks. |\n| `include_personal` | yes | Workouts, family, errands. |\n| `create_blocks` | off | If on, propose calendar holds and create them only after approval. |\n\n## Steps\n\n1. **Read the week:** every event Monday to Sunday with start, end, and attendees. Total meeting hours per day.\n2. **Find free time:** gaps inside `work_hours` that are at least `focus_block` long.\n3. **Collect tasks:** open tasks due this week or overdue, plus anything the user lists. Estimate effort when missing (S = under 1 h, M = 1\u20133 h, L = half day or more) and mark estimates as estimates.\n4. **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.\n5. **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.\n6. **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.\n7. **Write the plan** in the format below.\n8. **Offer calendar holds** for the focus blocks. Create them only after the user approves.\n\n## Output format\n\n```markdown\n# Week of {Mon D} \u2013 {Sun D}\n**{X} h of meetings \u00b7 {Y} h of open focus time \u00b7 {Z} tasks due**\n\n## This week's top 3\n1. **{Outcome}**, scheduled {day, time}. Why: {priority or deadline}\n\n## Day by day\n| Day | Meetings | Focus block | Main task |\n|---|---|---|---|\n\n## Heads up\n- {Overload, conflict, or deadline risk, with a suggested fix}\n\n## Can wait\n- {Tasks deliberately pushed to next week}\n```\n\n## Edge cases\n\n- **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.\n- **Holiday or travel:** remove those days from capacity and say so.\n- **No priorities given:** infer from deadlines and recurring themes, label them \"inferred\", and ask the user to confirm.\n\n## Boundaries\n\n- Read-only unless the user approves calendar holds. Never accept, decline, or move meetings on the user's behalf.\n- Never message attendees or share the plan without the user's approval.\n\nCheck in every Sunday at 6:00 PM Eastern time for the next 3 months, and confirm the schedule back to me."
    }
  },
  "author": "BotPlaza",
  "tags": [
    "planning",
    "calendar",
    "focus",
    "prioritization",
    "weekly review"
  ],
  "featured": false,
  "longDescription": "Most weekly plans fail because they ignore the calendar. Weekly Planner starts from it: it counts your meeting hours, finds the real gaps, and fits your three most important outcomes into specific blocks. When the work doesn't fit, it says so on Sunday instead of Thursday, and suggests what to move or drop. With your approval, it can hold the focus blocks on your calendar.",
  "customization": [
    {
      "key": "cadence",
      "label": "When",
      "type": "select",
      "options": [
        "Sunday 6:00 PM",
        "Monday 7:00 AM",
        "On demand"
      ],
      "default": "Sunday 6:00 PM"
    },
    {
      "key": "workHours",
      "label": "Work hours",
      "type": "text",
      "default": "Mon\u2013Fri, 9:00\u201317:00"
    },
    {
      "key": "focusBlock",
      "label": "Minimum focus block",
      "type": "select",
      "options": [
        "1 hour",
        "2 hours",
        "3 hours"
      ],
      "default": "2 hours"
    },
    {
      "key": "includePersonal",
      "label": "Include personal plans",
      "type": "boolean",
      "default": true
    },
    {
      "key": "createBlocks",
      "label": "Offer calendar holds",
      "type": "boolean",
      "default": false
    }
  ],
  "whatYouGet": [
    "Your top three outcomes, each scheduled",
    "Meeting hours vs free focus time",
    "A day-by-day table",
    "Overload and deadline warnings with fixes",
    "A clear list of what can wait"
  ],
  "dataSources": [
    {
      "name": "Google Calendar or Outlook Calendar",
      "required": true
    },
    {
      "name": "Task app (Notion, Todoist, Linear)",
      "required": false
    }
  ],
  "setupTime": "3 minutes",
  "sampleOutput": "samples/weekly-planner.md",
  "skillFile": "skills/weekly-planner/SKILL.md",
  "version": "1.0.0",
  "previewAlt": "Example weekly plan for Nov 2\u20138: meeting hours, focus time and tasks due, a day-by-day calendar with an overloaded Wednesday flagged, and the week's top 3 tasks.",
  "writesOrSends": "Read-only unless you approve calendar holds.",
  "safety": {
    "dataAccess": [
      "Next week's calendar events",
      "Open tasks and due dates (if a task app is connected)",
      "Calendar write access, only for holds you approve"
    ],
    "writesOrSends": "Read-only unless you approve calendar holds.",
    "estCost": "Low: ~4 runs a month.",
    "costLevel": "light",
    "warnings": [
      "It only creates calendar holds after you say yes to each plan.",
      "Your assistant needs calendar write permission for holds; read-only works for planning alone."
    ]
  },
  "urls": {
    "page": "https://botplaza.vercel.app/skills/weekly-planner/",
    "markdown": "https://botplaza.vercel.app/skills/weekly-planner.md",
    "skillMd": "https://botplaza.vercel.app/skills/weekly-planner/SKILL.md",
    "json": "https://botplaza.vercel.app/skills/weekly-planner.json",
    "zip": "https://botplaza.vercel.app/downloads/weekly-planner.zip",
    "mcp": "https://botplaza.vercel.app/api/mcp"
  }
}