.claude/skills/daily-digest/SKILL.md
Generate a comprehensive daily digest combining weekly plan (Epic focus and tasks), emails (last 2 days), Slack messages (today), meeting notes (previous day's action items, decisions, summaries), and upcoming calendar events (today and tomorrow). Saves to operations/ folder as markdown. Use this skill to start the day with a complete overview or to catch up after time away. Triggers: "daily digest", "morning briefing", "daily summary", "catch me up", "what do I need to know", "daily overview", "morning summary", "start my day", "briefing", "what's happening today".
npx skillsauth add johncarpenter/knowledge-base daily-digestInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Generate a comprehensive daily digest combining:
operations/pmo/weekly-plan.mdOutput saved to operations/YYYY-MM-DD-daily-digest.md.
| Tool | Purpose |
|---|---|
| mcp__gmail__gmail_list_accounts | List configured Gmail accounts |
| mcp__gmail__gmail_search | Search emails with Gmail query syntax |
| Tool | Purpose |
|---|---|
| mcp__exchange__exchange_list_accounts | List configured Exchange accounts |
| mcp__exchange__exchange_search | Search emails with KQL syntax |
| Tool | Purpose |
|---|---|
| mcp__slack__conversations_search_messages | Search messages with date/channel/user filters |
| mcp__slack__channels_list | List available channels |
| mcp__slack__conversations_history | Get recent messages from a specific channel |
Note: The proofgeist Granola MCP reads from local cache (~/Library/Application Support/Granola/cache-v3.json). Only ~15 recent meetings have transcripts; older meetings have metadata only.
| Tool | Purpose |
|---|---|
| mcp__granola__search_meetings | Search meetings by keyword, participant, or content |
| mcp__granola__get_meeting_details | Get meeting metadata with local timezone |
| mcp__granola__get_meeting_documents | Get meeting notes, summaries, structured content |
| mcp__granola__get_meeting_transcript | Get full transcript with speaker IDs (recent only) |
| Tool | Purpose |
|---|---|
| mcp__calendar__calendar_today | Get today's calendar events |
| mcp__calendar__calendar_tomorrow | Get tomorrow's calendar events |
| mcp__calendar__calendar_list | List all synced calendars |
| File | Purpose |
|---|---|
| operations/pmo/weekly-plan.md | Current week's Epic focus and selected tasks |
Execute these data gathering operations concurrently:
Read operations/pmo/weekly-plan.md
Extract from "Current Week" section:
- Week dates (e.g., "2026-02-03 to 2026-02-09")
- Epic Focus table (priority, key, title, project, status)
- Tasks This Week checklist
- Commitments list
# List all accounts first
mcp__gmail__gmail_list_accounts()
mcp__exchange__exchange_list_accounts()
# Then search each account (parallel)
# Gmail: use newer_than:2d or after:YYYY/MM/DD
mcp__gmail__gmail_search(account="<name>", query="newer_than:2d", max_results=50, include_body=true)
# Exchange: use date range
mcp__exchange__exchange_search(account="<name>", query="received>=YYYY-MM-DD", max_results=50, include_body=true)
# Search for today's messages across all channels
mcp__slack__conversations_search_messages(filter_date_on="Today", limit=50)
# Or filter by specific channel
mcp__slack__conversations_search_messages(filter_date_on="Today", filter_in_channel="#general", limit=50)
# Filter out automated/bot messages when processing results
# (e.g., ClickUp, Jira, GitHub integrations)
Note: Filter results to exclude high-volume bot notifications (ClickUp, GitHub, etc.) when summarizing. Focus on human messages.
# Search for yesterday's meetings by date
mcp__granola__search_meetings(query="YYYY-MM-DD", limit=20)
# Or search by keyword/participant
mcp__granola__search_meetings(query="standup", limit=10)
mcp__granola__search_meetings(query="Circuit", limit=10)
# Then get details and documents for each meeting
mcp__granola__get_meeting_details(meeting_id="<uuid>")
mcp__granola__get_meeting_documents(meeting_id="<uuid>")
# For recent meetings with transcripts available
mcp__granola__get_meeting_transcript(meeting_id="<uuid>")
Limitation: The local cache MCP doesn't support date-range filtering directly. Search by date string or filter results client-side.
mcp__calendar__calendar_today(include_details=true)
mcp__calendar__calendar_tomorrow(include_details=true)
| Category | Criteria | |---|---| | Action Required | Tasks, deadlines, explicit requests | | Response Needed | Questions, meeting requests, approvals | | FYI | Updates, newsletters, notifications |
Focus on emails from the current day for actions, but include previous day for context.
| Category | Criteria | |---|---| | Action Items | Direct requests, tasks assigned to you, urgent items | | Mentions | Messages where you were @mentioned | | Key Discussions | Important conversations in project channels | | Skip | Bot messages (ClickUp, GitHub, Jira), automated notifications |
Group messages by channel and highlight threads that need your response.
For each meeting, extract:
For each event, note:
Filename: YYYY-MM-DD-daily-digest.md (use current date)
Location: operations/
Markdown Structure:
# Daily Digest: [Day of Week], [Month Day, Year]
**Generated:** YYYY-MM-DD HH:MM
**Week:** W06 (Feb 3-9, 2026)
**Coverage:** Weekly plan, emails (2 days), Slack (today), meetings (yesterday), calendar (today + tomorrow)
---
## This Week's Focus
### Epic Priorities
| # | Epic | Project | Status |
|---|------|---------|--------|
| 1 | [CIR-13](https://2linessoftware.atlassian.net/browse/CIR-13): AI & Chat Features | Circuit | In Progress |
| 2 | [PAC-8](https://2linessoftware.atlassian.net/browse/PAC-8): Data Warehouse | Pacwest | In Progress |
### Tasks This Week
- [ ] CIR-50: Implement chat UI
- [x] CIR-51: Add AI response handling _(completed)_
- [ ] PAC-20: Schema design
- [ ] PAC-21: ETL pipeline
### Commitments
- [ ] Complete chat UI implementation (CIR-50)
- [x] Finish schema design for data warehouse
- [ ] Start AI response handling
> _From `operations/pmo/weekly-plan.md`. Run `/weekly-plan review` to update._
---
## Today's Schedule
### [Today's Date]
| Time | Event | Location | Notes |
|------|-------|----------|-------|
| 9:00 AM | Team Standup | Zoom | Weekly sync |
| 2:00 PM | Client Call | Teams | Prep: review proposal |
### [Tomorrow's Date]
| Time | Event | Location | Notes |
|------|-------|----------|-------|
| 10:00 AM | Planning Session | Conference Room | Bring laptop |
---
## Slack Highlights (Today)
### Action Items
| Channel | From | Message | Time |
|---------|------|---------|------|
| #zane-product | @alexey | Review ZANE-127 contract/field names | 1:44 PM |
| #daily | @bryce | URGENT: Dan prioritization re: modules | 4:18 PM |
### Key Discussions
**#zane-product**
- MVP philosophy discussion (Bryce): build fast, reworks expected at this stage
- Transactions module backend changes ready for review
**#yodlee (DM)**
- Staging credentials working, production credentials issue under investigation
### Awaiting Your Response
| Channel | Thread | From | Question |
|---------|--------|------|----------|
| #zane-product | ZANE-127 | @alexey | Need contract confirmation for frontend |
---
## Yesterday's Meetings
### [Meeting Title 1]
**Date:** YYYY-MM-DD | **Attendees:** Name1, Name2
**Summary:**
[2-3 sentence overview]
**Decisions:**
- [Decision 1]
- [Decision 2]
**Action Items:**
- [ ] [Action item with owner]
- [ ] [Action item with owner]
### [Meeting Title 2]
...
---
## Email Highlights (Last 2 Days)
### Action Required
| From | Subject | Date | Action |
|------|---------|------|--------|
| [email protected] | Subject line | YYYY-MM-DD | Brief action description |
### Response Needed
| From | Subject | Date | Question/Request |
|------|---------|------|------------------|
| [email protected] | Subject line | YYYY-MM-DD | What they need |
### FYI / Updates
| From | Subject | Date | Summary |
|------|---------|------|---------|
| [email protected] | Subject line | YYYY-MM-DD | One-line summary |
---
## Priority Actions for Today
Synthesize from weekly plan, meetings, and emails:
1. **[Task from weekly plan that aligns with today's calendar]** — Source: weekly-plan + calendar
2. **[Urgent email or meeting follow-up]** — Source: email/meeting
3. **[Next task from weekly commitments]** — Source: weekly-plan
---
## Statistics
- **Weekly Epics in focus:** N
- **Weekly tasks remaining:** N of M
- **Meetings yesterday:** N
- **Action items from meetings:** N
- **Emails received (2 days):** N
- **Requiring action:** N
- **Slack messages (today):** N (excluding bots)
- **Slack threads awaiting response:** N
- **Calendar events today:** N
- **Calendar events tomorrow:** N
Write to operations/YYYY-MM-DD-daily-digest.md and confirm the path to the user.
For a digest run on February 7, 2026:
newer_than:2d
# OR
after:2026/02/05 before:2026/02/08
received:2026-02-05..2026-02-07
# OR
received>=2026-02-05
# Search by date (returns meetings containing that date in title/content)
mcp__granola__search_meetings(query="2026-02-06", limit=20)
# Search by keyword
mcp__granola__search_meetings(query="standup", limit=10)
# Filter results by date in your code after retrieval
Note: The proofgeist MCP doesn't support native date-range filtering. Search broadly and filter results by checking meeting dates in the response.
operations/pmo/weekly-plan.md is empty, suggest running /weekly-plan/weekly-plan to prioritize your Epics."The proofgeist Granola MCP reads from local cache only:
get_meeting_documents instead of get_meeting_transcriptIf user requests, also include:
tools
Generate FinOps cost comparison report using cloud-doctor MCP for Suncorp Azure subscriptions
tools
Query, retrieve, and save Granola meeting notes and summaries locally using the proofgeist Granola MCP server (local cache-based). Use this skill whenever the user wants to: search or find past meetings, get meeting summaries or transcripts, copy meeting notes to local markdown files, review what was discussed in a meeting, look up action items or decisions from meetings, export meeting data, or analyze meeting patterns. Triggers: "meeting notes", "meeting summary", "what was discussed", "find the meeting", "copy meeting notes", "export meeting", "meeting transcript", "action items from meeting", "last meeting", "recent meetings", "meeting with [person]", "granola".
tools
Backup today's Granola meeting notes to local markdown files, organized by client folder. Uses Granola folder metadata to route meetings to appropriate client directories. Run this as part of an evening workflow to archive meeting notes, summaries, and action items. Triggers: "backup meetings", "save today's meetings", "archive meetings", "evening backup", "download meeting notes", "sync meetings", "meeting backup".
tools
Search, retrieve, and index local markdown knowledgebase files using the QMD CLI. Use this skill whenever the user wants to: search a local knowledgebase of markdown files, retrieve specific documents or passages from indexed collections, index or re-index a directory of .md files, check the status of the knowledge index, or perform any knowledge retrieval task against local documentation. Triggers: "search the knowledgebase", "find in docs", "index my files", "look up", "search notes", "retrieve document", "knowledge search", "what does the docs say about", "find information about", "re-index", "update the index".