{
  "id": "meeting-prep-brief",
  "slug": "meeting-prep-brief",
  "name": "Meeting Prep Brief",
  "tagline": "Walk into every meeting knowing who's there and what you want.",
  "description": "A one-page brief for each meeting: who's attending, your history with them, recent news, talking points, and questions to ask.",
  "category": "Productivity",
  "platforms": [
    "Grok Bot",
    "Muse",
    "Dots"
  ],
  "schedule": "Weekdays, 7:30 AM",
  "outputType": "brief",
  "previewImage": "previews/meeting-prep-brief.png",
  "installSteps": {
    "grokBot": {
      "label": "Grok Bot",
      "status": "verified",
      "steps": [
        "Copy skills/meeting-prep-brief/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), Gmail or Outlook (optional), Google Drive or Notion (optional). It shows a connect card right in the chat.",
        "Try it once now: \"Run Meeting Prep Brief.\"",
        "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 \"Meeting Prep Brief\". Then create a routine that runs it every weekday at 7:30 AM 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 \"Meeting Prep Brief\". Then create a routine that runs it every weekday at 7:30 AM and posts the result here. Before the first run, ask me the setup questions in the skill and remember my answers.\n\n---\nname: meeting-prep-brief\ndescription: Use when the user asks to prep for a meeting, call, or interview, asks \"who am I meeting today\", or when a routine runs before calendar events. Builds a one-page brief per meeting with attendee backgrounds, shared history from email and docs, the goal, talking points, and questions to ask, all sourced.\nmetadata:\n  id: meeting-prep-brief\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Meeting Prep Brief\n\n> Walk into every meeting knowing who's there and what you want.\n\n## What it does\n\nWalk into every meeting knowing who's in the room, what happened last time, and what you want out of it.\n\n## When to use\n\n- \"Prep me for my 2 PM\", \"who's on my calendar today\", \"brief me before the call with {name}\".\n- A routine that runs each morning for the day's meetings, or 30 minutes before each external meeting.\n\n## Requires\n\nA calendar connector. Email and document connectors make the brief much better but are optional. Web search for public background.\n\n## Schedule\n\nDefault: Weekdays, 7:30 AM. 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| `which_meetings` | today's meetings with external attendees | Or a named meeting, \"all of today\", or \"next 3 days\". |\n| `skip` | 1:1s with direct reports, focus blocks, all-hands | Patterns to ignore. |\n| `depth` | standard | `quick` (5 bullets), `standard` (1 page), `deep` (adds company research and recent news). |\n| `my_goal` | infer, then confirm | What the user wants out of the meeting. |\n\n## Steps\n\n1. **Read the event:** title, time (user's timezone), duration, attendees, location or link, agenda, and attachments.\n2. **Identify attendees.** For each person outside the user's organization, find their role and company from the invite, email signatures, and public professional profiles or company pages. Don't guess; if unknown, say \"Role unknown\".\n3. **Pull shared history.** Search email and docs for the last 3 to 5 interactions with these attendees or their company. Note open commitments on both sides (\"You promised pricing by Friday\").\n4. **Check the news.** For external companies, find anything material in the last 30 days (funding, launches, leadership changes, layoffs) with links.\n5. **Set the goal.** State the user's likely goal in one line. If it's unclear, write two options and ask.\n6. **Write talking points and questions:** 3 points the user should make and 3 questions to ask, each grounded in the history or news above.\n7. **Flag risks:** conflicts, back-to-back meetings with no travel time, missing dial-in, attendees added at the last minute.\n\n## Output format\n\n```markdown\n# {Meeting title}\n**{Day, time\u2013time tz}** \u00b7 {Location / link} \u00b7 {Duration}\n\n**Goal:** {one line}\n\n## Who's in the room\n- **{Name}**, {Role}, {Company}. {One relevant fact.} [source]({url})\n\n## Where things stand\n- {Last interaction, date, outcome}\n- **Open:** {commitment, owner, due}\n\n## Worth knowing\n- {Recent company news.} [source]({url})\n\n## Say\n1. {Talking point}\n\n## Ask\n1. {Question}\n\n## Watch out\n- {Risk or logistics flag}\n```\n\n## Edge cases\n\n- **No external attendees:** give a 3-line brief (purpose, open items, what to bring).\n- **Recurring meeting:** focus on what changed since the last occurrence.\n- **Common name, uncertain match:** say the match is uncertain and don't include background.\n- **Private or personal events:** skip them unless the user asks.\n\n## Boundaries\n\nRead-only. Don't email attendees, accept or decline invites, or edit events without approval. Use only professional, public information about people."
    },
    "muse": {
      "label": "Muse",
      "status": "partially-verified",
      "steps": [
        "Copy skills/meeting-prep-brief/SKILL.md.",
        "Open Muse and paste the prompt below with the file where it says.",
        "Try it: \"Run Meeting Prep Brief.\" Muse has no skill install for outside skills, so it follows the pasted instructions.",
        "Ask Muse to make it a recurring task every weekday at 7:30 AM. It then shows under the Assistant icon > Upcoming.",
        "Muse Code (developer CLI): unzip downloads/meeting-prep-brief.zip, run `muse skills validate ./meeting-prep-brief` then `muse skills install ./meeting-prep-brief --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 \"Meeting Prep Brief\". Follow them whenever I say \"Run Meeting Prep Brief\". 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 \"Meeting Prep Brief\". Follow them whenever I say \"Run Meeting Prep Brief\". Ask me the setup questions first and remember my answers.\n\n---\nname: meeting-prep-brief\ndescription: Use when the user asks to prep for a meeting, call, or interview, asks \"who am I meeting today\", or when a routine runs before calendar events. Builds a one-page brief per meeting with attendee backgrounds, shared history from email and docs, the goal, talking points, and questions to ask, all sourced.\nmetadata:\n  id: meeting-prep-brief\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Meeting Prep Brief\n\n> Walk into every meeting knowing who's there and what you want.\n\n## What it does\n\nWalk into every meeting knowing who's in the room, what happened last time, and what you want out of it.\n\n## When to use\n\n- \"Prep me for my 2 PM\", \"who's on my calendar today\", \"brief me before the call with {name}\".\n- A routine that runs each morning for the day's meetings, or 30 minutes before each external meeting.\n\n## Requires\n\nA calendar connector. Email and document connectors make the brief much better but are optional. Web search for public background.\n\n## Schedule\n\nDefault: Weekdays, 7:30 AM. 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| `which_meetings` | today's meetings with external attendees | Or a named meeting, \"all of today\", or \"next 3 days\". |\n| `skip` | 1:1s with direct reports, focus blocks, all-hands | Patterns to ignore. |\n| `depth` | standard | `quick` (5 bullets), `standard` (1 page), `deep` (adds company research and recent news). |\n| `my_goal` | infer, then confirm | What the user wants out of the meeting. |\n\n## Steps\n\n1. **Read the event:** title, time (user's timezone), duration, attendees, location or link, agenda, and attachments.\n2. **Identify attendees.** For each person outside the user's organization, find their role and company from the invite, email signatures, and public professional profiles or company pages. Don't guess; if unknown, say \"Role unknown\".\n3. **Pull shared history.** Search email and docs for the last 3 to 5 interactions with these attendees or their company. Note open commitments on both sides (\"You promised pricing by Friday\").\n4. **Check the news.** For external companies, find anything material in the last 30 days (funding, launches, leadership changes, layoffs) with links.\n5. **Set the goal.** State the user's likely goal in one line. If it's unclear, write two options and ask.\n6. **Write talking points and questions:** 3 points the user should make and 3 questions to ask, each grounded in the history or news above.\n7. **Flag risks:** conflicts, back-to-back meetings with no travel time, missing dial-in, attendees added at the last minute.\n\n## Output format\n\n```markdown\n# {Meeting title}\n**{Day, time\u2013time tz}** \u00b7 {Location / link} \u00b7 {Duration}\n\n**Goal:** {one line}\n\n## Who's in the room\n- **{Name}**, {Role}, {Company}. {One relevant fact.} [source]({url})\n\n## Where things stand\n- {Last interaction, date, outcome}\n- **Open:** {commitment, owner, due}\n\n## Worth knowing\n- {Recent company news.} [source]({url})\n\n## Say\n1. {Talking point}\n\n## Ask\n1. {Question}\n\n## Watch out\n- {Risk or logistics flag}\n```\n\n## Edge cases\n\n- **No external attendees:** give a 3-line brief (purpose, open items, what to bring).\n- **Recurring meeting:** focus on what changed since the last occurrence.\n- **Common name, uncertain match:** say the match is uncertain and don't include background.\n- **Private or personal events:** skip them unless the user asks.\n\n## Boundaries\n\nRead-only. Don't email attendees, accept or decline invites, or edit events without approval. Use only professional, public information about people.\n\nIf you can save this as a skill, please do."
    },
    "dots": {
      "label": "Dots",
      "status": "partially-verified",
      "steps": [
        "Copy skills/meeting-prep-brief/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/meeting-prep-brief.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 \"Meeting Prep Brief\". Take this on as an ongoing responsibility and follow them whenever I say \"Run Meeting Prep Brief\". Ask me the setup questions first and remember my answers.\n\n<paste SKILL.md here>\n\nCheck in every weekday at 7:30 AM Eastern time for the next 3 months, and confirm the schedule back to me.",
      "promptFull": "Here are instructions for a task called \"Meeting Prep Brief\". Take this on as an ongoing responsibility and follow them whenever I say \"Run Meeting Prep Brief\". Ask me the setup questions first and remember my answers.\n\n---\nname: meeting-prep-brief\ndescription: Use when the user asks to prep for a meeting, call, or interview, asks \"who am I meeting today\", or when a routine runs before calendar events. Builds a one-page brief per meeting with attendee backgrounds, shared history from email and docs, the goal, talking points, and questions to ask, all sourced.\nmetadata:\n  id: meeting-prep-brief\n  version: \"1.0.0\"\n  author: BotPlaza\n---\n\n# Meeting Prep Brief\n\n> Walk into every meeting knowing who's there and what you want.\n\n## What it does\n\nWalk into every meeting knowing who's in the room, what happened last time, and what you want out of it.\n\n## When to use\n\n- \"Prep me for my 2 PM\", \"who's on my calendar today\", \"brief me before the call with {name}\".\n- A routine that runs each morning for the day's meetings, or 30 minutes before each external meeting.\n\n## Requires\n\nA calendar connector. Email and document connectors make the brief much better but are optional. Web search for public background.\n\n## Schedule\n\nDefault: Weekdays, 7:30 AM. 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| `which_meetings` | today's meetings with external attendees | Or a named meeting, \"all of today\", or \"next 3 days\". |\n| `skip` | 1:1s with direct reports, focus blocks, all-hands | Patterns to ignore. |\n| `depth` | standard | `quick` (5 bullets), `standard` (1 page), `deep` (adds company research and recent news). |\n| `my_goal` | infer, then confirm | What the user wants out of the meeting. |\n\n## Steps\n\n1. **Read the event:** title, time (user's timezone), duration, attendees, location or link, agenda, and attachments.\n2. **Identify attendees.** For each person outside the user's organization, find their role and company from the invite, email signatures, and public professional profiles or company pages. Don't guess; if unknown, say \"Role unknown\".\n3. **Pull shared history.** Search email and docs for the last 3 to 5 interactions with these attendees or their company. Note open commitments on both sides (\"You promised pricing by Friday\").\n4. **Check the news.** For external companies, find anything material in the last 30 days (funding, launches, leadership changes, layoffs) with links.\n5. **Set the goal.** State the user's likely goal in one line. If it's unclear, write two options and ask.\n6. **Write talking points and questions:** 3 points the user should make and 3 questions to ask, each grounded in the history or news above.\n7. **Flag risks:** conflicts, back-to-back meetings with no travel time, missing dial-in, attendees added at the last minute.\n\n## Output format\n\n```markdown\n# {Meeting title}\n**{Day, time\u2013time tz}** \u00b7 {Location / link} \u00b7 {Duration}\n\n**Goal:** {one line}\n\n## Who's in the room\n- **{Name}**, {Role}, {Company}. {One relevant fact.} [source]({url})\n\n## Where things stand\n- {Last interaction, date, outcome}\n- **Open:** {commitment, owner, due}\n\n## Worth knowing\n- {Recent company news.} [source]({url})\n\n## Say\n1. {Talking point}\n\n## Ask\n1. {Question}\n\n## Watch out\n- {Risk or logistics flag}\n```\n\n## Edge cases\n\n- **No external attendees:** give a 3-line brief (purpose, open items, what to bring).\n- **Recurring meeting:** focus on what changed since the last occurrence.\n- **Common name, uncertain match:** say the match is uncertain and don't include background.\n- **Private or personal events:** skip them unless the user asks.\n\n## Boundaries\n\nRead-only. Don't email attendees, accept or decline invites, or edit events without approval. Use only professional, public information about people.\n\nCheck in every weekday at 7:30 AM Eastern time for the next 3 months, and confirm the schedule back to me."
    }
  },
  "author": "BotPlaza",
  "tags": [
    "meetings",
    "calendar",
    "sales",
    "interviews",
    "prep",
    "CRM"
  ],
  "featured": false,
  "longDescription": "Meeting Prep Brief reads your calendar, looks up the people you're meeting, and pulls your last few emails and docs with them so you remember what was promised. It checks for recent news about their company and turns all of it into a page you can read in the two minutes before you join: the goal, three things to say, three questions to ask, and anything that could go wrong.",
  "customization": [
    {
      "key": "whichMeetings",
      "label": "Which meetings",
      "type": "select",
      "options": [
        "External attendees only",
        "All meetings",
        "Only ones I ask for"
      ],
      "default": "External attendees only"
    },
    {
      "key": "depth",
      "label": "Depth",
      "type": "select",
      "options": [
        "Quick (5 bullets)",
        "Standard (1 page)",
        "Deep (adds company research)"
      ],
      "default": "Standard (1 page)"
    },
    {
      "key": "timing",
      "label": "When to deliver",
      "type": "select",
      "options": [
        "Morning, for the whole day",
        "30 minutes before each meeting"
      ],
      "default": "Morning, for the whole day"
    },
    {
      "key": "skip",
      "label": "Skip",
      "type": "multi-toggle",
      "options": [
        "1:1s",
        "Focus blocks",
        "All-hands",
        "Personal events"
      ],
      "default": [
        "Focus blocks",
        "All-hands",
        "Personal events"
      ]
    }
  ],
  "whatYouGet": [
    "Who's attending, with role and one relevant fact",
    "Your last interactions and open commitments",
    "Recent company news with links",
    "Three talking points and three questions",
    "Logistics and conflict warnings"
  ],
  "dataSources": [
    {
      "name": "Google Calendar or Outlook Calendar",
      "required": true
    },
    {
      "name": "Gmail or Outlook",
      "required": false
    },
    {
      "name": "Google Drive or Notion",
      "required": false
    },
    {
      "name": "Web search",
      "required": true
    }
  ],
  "setupTime": "2 minutes",
  "sampleOutput": "samples/meeting-prep-brief.md",
  "skillFile": "skills/meeting-prep-brief/SKILL.md",
  "version": "1.0.0",
  "previewAlt": "Example meeting prep brief for a partnership call: the goal, a note on each attendee, what to say, what to ask, and a scheduling warning.",
  "writesOrSends": "Read-only.",
  "safety": {
    "dataAccess": [
      "Today's calendar events and attendee names and emails",
      "Recent email threads with attendees (if connected)",
      "Linked docs in Drive or Notion (if connected)",
      "Public web info about external attendees and their companies"
    ],
    "writesOrSends": "Read-only.",
    "estCost": "Medium: ~22 runs a month. Busier calendars mean more lookups per run.",
    "costLevel": "medium",
    "warnings": [
      "It looks up attendees on the public web; keep it to professional info.",
      "Briefs can include private email and doc content, so keep them in your private chat."
    ]
  },
  "urls": {
    "page": "https://botplaza.vercel.app/skills/meeting-prep-brief/",
    "markdown": "https://botplaza.vercel.app/skills/meeting-prep-brief.md",
    "skillMd": "https://botplaza.vercel.app/skills/meeting-prep-brief/SKILL.md",
    "json": "https://botplaza.vercel.app/skills/meeting-prep-brief.json",
    "zip": "https://botplaza.vercel.app/downloads/meeting-prep-brief.zip",
    "mcp": "https://botplaza.vercel.app/api/mcp"
  }
}