mcpbeat

Weekly Status Mail

microsoft/weekly-status-mail

| Drafts a concise weekly status-update email to the user's team, covering open tasks, upcoming meetings, and action items, with light emoji formatting in the body. Use when the user asks to "draft my weekly status email", "write my weekly team update", "send my team the weekly status", "create my Monday status mail", "weekly status update for the team", or "recap this week for the team". Do NOT use for leadership or executive updates and cross-functional stakeholder communications — use stakeholder-comms instead. Do NOT use for one-off announcements or non-status emails — use the Outlook tools directly.

1k tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
646
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/microsoft/copilot-camp --skill weekly-status-mail

The instruction itself

12 sections, as written by the author

Overview

Produces a short, scannable weekly status email addressed to the user's team. It

gathers the user's open tasks, upcoming meetings, and outstanding action items

from Microsoft 365, then composes a friendly email with emoji section headers and

saves it as a draft for review — it never sends automatically.

When to Use

  • The user wants their recurring weekly status note to their team.
  • The user asks to "recap this week" or "write my Monday update" for the team.
  • The user wants open tasks, upcoming meetings, and action items rolled into one email.

When NOT to Use

  • Updates aimed at leadership, executives, or cross-functional stakeholders — use stakeholder-comms instead.
  • One-off announcements, replies, or any non-status email — use the Outlook tools directly.
  • A status *document* or spreadsheet rather than an email — use docx or xlsx.

Quick Start

User: "Draft my weekly status email for the team"
1. Resolve the week window (today → next 7 days) and the team recipients.
2. Gather: open tasks, upcoming meetings, action items from M365.
3. Compose the email body with emoji section headers (concise bullets).
4. Save as a draft with CreateDraftMessage and show it for review.

Core Instructions

Step 1: Resolve recipients and time window

  • Determine the week window: today through the next 7 days, in the user's local time zone.
  • Resolve "the team" with people tools — GetDirectReportsDetails for the user's reports, or a team distribution list the user names. Never guess email addresses.
  • If the team cannot be resolved, draft anyway with an empty To line and a clear [Add team recipients] note, and flag it for the user.

Step 2: Gather open tasks

  • Use SearchM365 (sources: email, teams) for open/pending work, and ListMessages with flagged_only=true for follow-up flags.
  • Include only items found in tool results. If none are found, write "Nothing outstanding to report."

Step 3: Gather upcoming meetings

  • Call ListCalendarView for the next 7 days; list notable meetings with day and time.
  • Respect privacy: render private/confidential events as "Busy" or a time block — do not echo their subject lines.

Step 4: Gather action items

  • Pull action items from recent meeting recaps and recent email/Teams threads (SearchM365, recent GetMeetingTranscript when a relevant meeting exists).
  • Attribute each item to an owner only when the source states it. Do not invent owners or due dates.

Step 5: Compose and draft

  • Build the body using the Output format below, with emoji section headers.
  • Save the draft with CreateDraftMessage (To = resolved team, Subject = "Weekly Status — week of {date}").
  • Present the draft to the user for review; do not send.

Output

  • Format: Email draft. Subject: Weekly Status — week of {Mon DD}.
  • Tone: Warm, professional, concise. Length: roughly 120-200 words — scannable bullets, not paragraphs.
  • Body structure (emoji headers, each section 2-5 bullets; omit a section's bullets and write "Nothing to report" when empty):
👋 Hi team — here's where things stand this week.

📋 Open Tasks
- {task} — {short status}

📅 Upcoming Meetings
- {Day, time} — {meeting}

✅ Action Items
- {action} — {owner, if known}

Thanks!
{User first name}

Guardrails

  • Draft only — never auto-send. Always use CreateDraftMessage and present the draft for the user to review and send themselves.
  • Ground every item in retrieved data. If a search returns nothing for a section, say "Nothing to report" — never fabricate tasks, meetings, owners, or dates.
  • Resolve recipients via people tools; never construct or guess email addresses. Confirm the team list with the user before they send.
  • Respect calendar privacy — show private/confidential events as a time block, not their subject.
  • Keep it concise. If a section has many items, surface the top few and note the rest exist rather than dumping everything.
  • Use a light touch with emojis — section headers and the greeting, not every bullet.

How to use it

Copy the folder

Take microsoft/weekly-status-mail from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.