p-activity-digest
Activity Digest
Aggregate and summarize recent communication activity from Slack messages and meeting recordings (Fireflies). Produces a structured summary with action items, mentions, and key decisions.
When to Use
- User asks for Slack activity summary
- User wants meeting highlights or action items
- User asks "what was discussed" or "what happened on Slack"
- User wants to find messages where they were mentioned
- Producing communication portions of a daily/weekly report
Prerequisites
- Slack MCP server configured and authenticated
- Fireflies MCP server configured (optional, for meeting transcripts)
Workflow
Step 1: Determine Scope
Ask the user if not clear:
- Time range: today, yesterday, past N days, specific date
- Sources: Slack only, Fireflies only, or both
- Focus: all activity, mentions only, action items only, specific channels/topics
Shared context (resolved before dispatch):
DATE_START: start date (YYYY-MM-DD)DATE_END: end date (YYYY-MM-DD)SOURCES: which sources to queryFOCUS: filter mode
Steps 2 and 3 are independent data sources. Dispatch both concurrently (parallelize if possible). If your platform supports parallel subagents, launch one per source. Otherwise, query each sequentially.
Step 2: Gather Slack Activity (parallelize if possible)
Use the Slack MCP tools in this order:
- Identify user: Call
slack_read_user_profile()(no args) to get the current user's ID. - Dispatch all Slack searches in parallel.
- Search for mentions: Call
slack_search_public_and_privatewith query"from:me"and date-scoped query for the target period to find the user's own messages - Search for mentions of user: Call
slack_search_public_and_privatewith the user's name or handle to find where others mentioned them - Channel context (optional): If a specific channel is requested, use
slack_read_channelon that channel for the time period
Combine results and deduplicate.
Step 3: Gather Meeting Activity
If Fireflies is available and in scope:
- Search meetings: Call
fireflies_get_transcriptswith date filters for the target period - For each meeting returned, call
fireflies_get_summaryin parallel (parallelize if possible) — each call is independent. - Get summaries: For each relevant meeting, call
fireflies_get_summaryto retrieve action items, keywords, and overview - Deep dive (optional): If the user asks about a specific meeting, call
fireflies_get_transcriptfor full conversation content
If Fireflies is unavailable, proceed with Slack data only and note the omission in the output.
SYNC: After all data sources return, merge results into a unified collection before synthesis. If a source was unavailable, proceed with available data.
Deduplicate: Before synthesis, deduplicate across sources — the same discussion may appear in both Slack threads and Fireflies meeting notes. Use thread timestamps and meeting IDs as primary keys to merge overlapping records.
Step 4: Synthesize and Format
Produce a structured summary organized by priority:
## Activity Digest - [Date Range]
### Action Items
- [action item from meeting or Slack thread]
- [action item with @assignee if identifiable]
### Key Decisions
- [decision made in meeting or Slack discussion]
### Mentions & Requests
- [someone asked/mentioned you about X in #channel]
### Meeting Highlights
- **[Meeting Title]** — [1-2 sentence summary]
- Key topics: [topic1], [topic2]
### Slack Activity Summary
- Participated in N threads across [channels]
- [Notable thread summary]
Adapt the format:
- If only Slack: omit Meeting Highlights section
- If only Fireflies: omit Slack Activity section
- If action-items-only: show only the Action Items section
Step 5: Output
- If the user specifies a file path, write to that file
- If the user is composing a daily report, provide the content for insertion
- Otherwise, display directly in the conversation
Tips
- When searching Slack, use date qualifiers in the query:
"after:2026-02-16 before:2026-02-17" - For meeting summaries, the
fireflies_get_summarytool is much faster thanfireflies_get_transcript— use summary first, transcript only when needed - If Slack search returns too many results, narrow by channel or conversation type
- Deduplicate between Slack and meeting notes — the same discussion may appear in both
Examples
Example 1: Yesterday's activity
User: "summarize my Slack activity yesterday"
Action: Search Slack messages for yesterday, find mentions, format as digest
Example 2: Meeting action items
User: "what are action items from today's meetings?"
Action: Query Fireflies for today, get summaries, extract action items
Example 3: Full digest for daily report
User: "give me activity digest for today to add to my daily report"
Action: Query both Slack and Fireflies, produce combined summary, write to daily report file
Example 4: Specific mention search
User: "search Slack for messages about me this week"
Action: Search with user's name/handle for past 7 days, summarize findings
More from jackchuka/skills
restaurant-search
Search for Japanese restaurants using the `hpp` CLI (HotPepper Gourmet API). Use when the user wants to find a restaurant, plan a dinner, search for izakayas, or book a group meal in Japan. Triggers on requests like "find a restaurant near Shibuya", "search for izakayas in 新宿", "restaurant for 10 people in 浜松町", "dinner spot near Tokyo station".
62claude-skill-prereq-audit
>
11software-design
Opinionated guide to software design principles and architectural patterns. Use when reviewing code design, planning feature architecture, asking "is this the right design?", "how should I structure this?", or requesting design philosophy guidance. Triggers on questions about SOLID, DRY, KISS, YAGNI, Clean Architecture, DDD, hexagonal architecture, composition vs inheritance, coupling, cohesion, or any software design trade-off discussion.
11claude-skill-spec-audit
>
11gh-oss-release-prep
>
11gh-oss-release
>
10