npx claudepluginhub gpsandhu23/daily_productivity_pluginWant just this skill?
Add to a custom plugin, then install with one command.
Gather cross-tool context for upcoming meetings — attendee profiles, recent conversations, related issues, and suggested topics. Trigger on "prep me for my meeting", "what's my next meeting about", "get me ready for the call", "brief me on my next meeting".
This skill uses the workspace's default tool permissions.
Meeting Prep from Calendar
Automatically prep for meetings by gathering context about attendees from email, Slack, and issue trackers. Triggers when the user asks about upcoming meetings in a conversational way.
When to Use
Apply this skill when the user asks about meeting preparation:
- "Prep me for my meeting"
- "What's my next meeting about?"
- "Get me ready for the call with Sarah"
- "Brief me on my next meeting"
- "What should I know before my 2pm?"
For full schedule management (timeline, free blocks, multi-day view), suggest /calendar instead.
How It Works
┌─────────────────────────────────────────────────────────────────┐
│ MEETING PREP FROM CALENDAR │
├─────────────────────────────────────────────────────────────────┤
│ STANDALONE (always works) │
│ ✓ User describes the meeting and attendees │
│ ✓ I organize context and suggest topics │
│ ✓ Generate prep checklist │
├─────────────────────────────────────────────────────────────────┤
│ SUPERCHARGED (when you connect your tools) │
│ + Calendar: auto-identify meeting, pull attendees │
│ + Email: recent threads with each attendee │
│ + Chat: recent Slack discussions with/about attendees │
│ + Issue tracker: related issues and shared projects │
└─────────────────────────────────────────────────────────────────┘
Execution Flow
Step 1: Identify the Meeting
If ~~calendar connected:
- Fetch upcoming events
- If user specified a meeting name, match it
- If user said "my next meeting", pick the next upcoming event
- If ambiguous, ask: "Which meeting? I see: [list of upcoming meetings]"
If no ~~calendar:
"Tell me about the meeting — who's attending, what it's about, and when it is."
Step 2: Gather Attendee Context (in parallel)
For each attendee, gather context from all available tools:
From ~~email (if connected):
gmail_search_messageswithfrom:<attendee>— recent emails from themgmail_search_messageswithto:<attendee>— recent emails to themgmail_read_message/gmail_read_threadfor the most relevant threads
From ~~chat (if connected):
slack_search_public_and_privatewithfrom:<attendee name>— their recent messagesslack_search_public_and_privatewith<attendee name>— mentions of them
From ~~issue tracker (if connected):
- Issues assigned to or created by the attendee
- Issues related to the meeting topic (search by keywords from meeting title/description)
Step 3: Generate Prep
## Meeting Prep | [Meeting Title]
**[Time, Date]** | [Duration]
**Location:** [If specified]
---
### Attendees
#### [Name] — [Title/Role if known]
**Recent email:**
- [Date]: [Subject] — [One-line summary of thread]
- [Date]: [Subject] — [One-line summary]
**Recent Slack:**
- [Channel/DM]: [Summary of recent relevant discussion]
**Related issues:**
- [Issue title] — [Status]
#### [Name] — [Title/Role if known]
**Recent email:**
- [Summary]
**Recent Slack:**
- [Summary]
**Related issues:**
- [Issues]
---
### Meeting Context
[Synthesized context from calendar description, recent threads, and issues. What is this meeting about? What's the current state of the topic?]
---
### Suggested Topics
1. **[Topic]** — [Why: based on recent email/Slack/issue activity]
2. **[Topic]** — [Why: open question from a thread, unresolved issue]
3. **[Topic]** — [Why: recent development worth discussing]
---
### Open Questions
- [Question from email that wasn't resolved]
- [Question raised in Slack without clear answer]
- [Issue that needs discussion]
---
### Your Prep Actions
- [ ] [Quick action, e.g., "Review the design doc Sarah shared on Tuesday"]
- [ ] [Quick action, e.g., "Check status of the blocked API issue"]
- [ ] [Quick action, e.g., "Read Mike's proposal email from yesterday"]
Assemble sections based on available data:
- Attendees — Always include (even if just names from calendar)
- Meeting Context — From calendar description + gathered context
- Suggested Topics — Based on recent activity across tools
- Open Questions — From unresolved threads/issues
- Prep Actions — Concrete actions to take before the meeting
Graceful Degradation
| Tool Missing | Impact |
|---|---|
| ~~calendar | Cannot auto-identify meeting — ask user to describe it |
| Skip email context for attendees | |
| ~~chat | Skip Slack context for attendees |
| ~~issue tracker | Skip related issues |
When tools are missing, note what's available:
"I gathered context from email and Slack. Connect your issue tracker for related project context."
Related
/calendar prep <meeting>— Full calendar command with prep mode (same functionality, invoked explicitly)/morning-briefing— Includes today's meetings with brief context/end-of-day— Offers follow-up drafts after meetings