daily-digest — daily-digest AI agent skill daily-digest, knowledge-base, community, daily-digest AI agent skill, ide skills, daily-digest for Claude Code, Claude Code, Cursor, Windsurf

v1.0.0
GitHub

About this Skill

This is my attempt at building automated memory system

# Core Topics

johncarpenter johncarpenter
[0]
[0]
Updated: 2/12/2026
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

daily-digest

Install daily-digest, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

Daily Digest — Email, Slack, Meetings, Calendar & Weekly Plan Integration

Generate a comprehensive daily digest combining:

  • Weekly Plan — current Epic focus and tasks from operations/pmo/weekly-plan.md
  • Emails (last 2 days) — categorized by action type
  • Slack (today) — key messages and action items from channels
  • Meetings (previous day) — action items, decisions, and summaries
  • Calendar (today + tomorrow) — upcoming events

Output saved to operations/YYYY-MM-DD-daily-digest.md.

Available MCP Tools

Email Tools

Gmail

ToolPurpose
mcp__gmail__gmail_list_accountsList configured Gmail accounts
mcp__gmail__gmail_searchSearch emails with Gmail query syntax

Exchange

ToolPurpose
mcp__exchange__exchange_list_accountsList configured Exchange accounts
mcp__exchange__exchange_searchSearch emails with KQL syntax

Slack Tools

ToolPurpose
mcp__slack__conversations_search_messagesSearch messages with date/channel/user filters
mcp__slack__channels_listList available channels
mcp__slack__conversations_historyGet recent messages from a specific channel

Meeting Tools (Granola — Local Cache)

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.

ToolPurpose
mcp__granola__search_meetingsSearch meetings by keyword, participant, or content
mcp__granola__get_meeting_detailsGet meeting metadata with local timezone
mcp__granola__get_meeting_documentsGet meeting notes, summaries, structured content
mcp__granola__get_meeting_transcriptGet full transcript with speaker IDs (recent only)

Calendar Tools

ToolPurpose
mcp__calendar__calendar_todayGet today's calendar events
mcp__calendar__calendar_tomorrowGet tomorrow's calendar events
mcp__calendar__calendar_listList all synced calendars

Weekly Plan (Local File)

FilePurpose
operations/pmo/weekly-plan.mdCurrent week's Epic focus and selected tasks

Workflow

1. Gather Data (Run in Parallel)

Execute these data gathering operations concurrently:

Weekly Plan (Local)

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

Emails (Last 2 Days)

# 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)

Slack (Today)

# 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.

Meetings (Previous Day)

# 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.

Calendar (Today + Tomorrow)

mcp__calendar__calendar_today(include_details=true)
mcp__calendar__calendar_tomorrow(include_details=true)

2. Process & Categorize

Email Categories

CategoryCriteria
Action RequiredTasks, deadlines, explicit requests
Response NeededQuestions, meeting requests, approvals
FYIUpdates, newsletters, notifications

Focus on emails from the current day for actions, but include previous day for context.

Slack Message Processing

CategoryCriteria
Action ItemsDirect requests, tasks assigned to you, urgent items
MentionsMessages where you were @mentioned
Key DiscussionsImportant conversations in project channels
SkipBot messages (ClickUp, GitHub, Jira), automated notifications

Group messages by channel and highlight threads that need your response.

Meeting Extraction

For each meeting, extract:

  • Summary — 2-3 sentence overview
  • Key Decisions — What was decided
  • Action Items — Tasks with owners if available
  • Follow-ups — Next steps or scheduled follow-ups

Calendar Preparation

For each event, note:

  • Time — Start time and duration
  • Title — Event name
  • Location/Link — Physical location or meeting URL
  • Attendees — Key participants (if included)
  • Prep needed — Flag if meeting needs preparation

3. Generate Digest Document

Filename: YYYY-MM-DD-daily-digest.md (use current date) Location: operations/

Markdown Structure:

markdown
1# Daily Digest: [Day of Week], [Month Day, Year] 2 3**Generated:** YYYY-MM-DD HH:MM 4**Week:** W06 (Feb 3-9, 2026) 5**Coverage:** Weekly plan, emails (2 days), Slack (today), meetings (yesterday), calendar (today + tomorrow) 6 7--- 8 9## This Week's Focus 10 11### Epic Priorities 12 13| # | Epic | Project | Status | 14|---|------|---------|--------| 15| 1 | [CIR-13](https://2linessoftware.atlassian.net/browse/CIR-13): AI & Chat Features | Circuit | In Progress | 16| 2 | [PAC-8](https://2linessoftware.atlassian.net/browse/PAC-8): Data Warehouse | Pacwest | In Progress | 17 18### Tasks This Week 19 20- [ ] CIR-50: Implement chat UI 21- [x] CIR-51: Add AI response handling _(completed)_ 22- [ ] PAC-20: Schema design 23- [ ] PAC-21: ETL pipeline 24 25### Commitments 26 27- [ ] Complete chat UI implementation (CIR-50) 28- [x] Finish schema design for data warehouse 29- [ ] Start AI response handling 30 31> _From `operations/pmo/weekly-plan.md`. Run `/weekly-plan review` to update._ 32 33--- 34 35## Today's Schedule 36 37### [Today's Date] 38 39| Time | Event | Location | Notes | 40|------|-------|----------|-------| 41| 9:00 AM | Team Standup | Zoom | Weekly sync | 42| 2:00 PM | Client Call | Teams | Prep: review proposal | 43 44### [Tomorrow's Date] 45 46| Time | Event | Location | Notes | 47|------|-------|----------|-------| 48| 10:00 AM | Planning Session | Conference Room | Bring laptop | 49 50--- 51 52## Slack Highlights (Today) 53 54### Action Items 55 56| Channel | From | Message | Time | 57|---------|------|---------|------| 58| #zane-product | @alexey | Review ZANE-127 contract/field names | 1:44 PM | 59| #daily | @bryce | URGENT: Dan prioritization re: modules | 4:18 PM | 60 61### Key Discussions 62 63**#zane-product** 64- MVP philosophy discussion (Bryce): build fast, reworks expected at this stage 65- Transactions module backend changes ready for review 66 67**#yodlee (DM)** 68- Staging credentials working, production credentials issue under investigation 69 70### Awaiting Your Response 71 72| Channel | Thread | From | Question | 73|---------|--------|------|----------| 74| #zane-product | ZANE-127 | @alexey | Need contract confirmation for frontend | 75 76--- 77 78## Yesterday's Meetings 79 80### [Meeting Title 1] 81**Date:** YYYY-MM-DD | **Attendees:** Name1, Name2 82 83**Summary:** 84[2-3 sentence overview] 85 86**Decisions:** 87- [Decision 1] 88- [Decision 2] 89 90**Action Items:** 91- [ ] [Action item with owner] 92- [ ] [Action item with owner] 93 94### [Meeting Title 2] 95... 96 97--- 98 99## Email Highlights (Last 2 Days) 100 101### Action Required 102 103| From | Subject | Date | Action | 104|------|---------|------|--------| 105| sender@example.com | Subject line | YYYY-MM-DD | Brief action description | 106 107### Response Needed 108 109| From | Subject | Date | Question/Request | 110|------|---------|------|------------------| 111| sender@example.com | Subject line | YYYY-MM-DD | What they need | 112 113### FYI / Updates 114 115| From | Subject | Date | Summary | 116|------|---------|------|---------| 117| sender@example.com | Subject line | YYYY-MM-DD | One-line summary | 118 119--- 120 121## Priority Actions for Today 122 123Synthesize from weekly plan, meetings, and emails: 124 1251. **[Task from weekly plan that aligns with today's calendar]** — Source: weekly-plan + calendar 1262. **[Urgent email or meeting follow-up]** — Source: email/meeting 1273. **[Next task from weekly commitments]** — Source: weekly-plan 128 129--- 130 131## Statistics 132 133- **Weekly Epics in focus:** N 134- **Weekly tasks remaining:** N of M 135- **Meetings yesterday:** N 136- **Action items from meetings:** N 137- **Emails received (2 days):** N 138- **Requiring action:** N 139- **Slack messages (today):** N (excluding bots) 140- **Slack threads awaiting response:** N 141- **Calendar events today:** N 142- **Calendar events tomorrow:** N

4. Save and Confirm

Write to operations/YYYY-MM-DD-daily-digest.md and confirm the path to the user.

Date Calculations

For a digest run on February 7, 2026:

  • Today: 2026-02-07
  • Tomorrow: 2026-02-08
  • Yesterday (meetings): 2026-02-06
  • Email range: 2026-02-05 to 2026-02-07

Gmail Date Queries

newer_than:2d
# OR
after:2026/02/05 before:2026/02/08

Exchange Date Queries

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.

Tips

  • Weekly plan first: The weekly focus section anchors the day — what Epics matter this week?
  • Cross-reference: Link emails and meetings to weekly Epics when relevant (e.g., "relates to CIR-13")
  • Parallel fetching: Fetch emails, meetings, and calendar simultaneously for speed
  • Email volume: If >100 emails, focus on non-newsletter, non-promotional content
  • Meeting priority: Prioritize meetings with action items in the summary
  • Calendar prep: Flag events happening in the next 2 hours as needing immediate attention
  • No weekly plan? If operations/pmo/weekly-plan.md is empty, suggest running /weekly-plan

Error Handling

  • Weekly plan missing/empty → Show "No weekly plan set. Run /weekly-plan to prioritize your Epics."
  • MCP not connected → Skip that section, note in output
  • No meetings found → State "No meetings recorded for [date]"
  • No transcript available → Note "Transcript not in local cache (older meeting)"
  • No emails found → State "No new emails in the past 2 days"
  • Slack MCP not connected → Skip section, note in output
  • No Slack messages → State "No Slack messages today"
  • Calendar empty → State "No scheduled events"

Granola Local Cache Limitations

The proofgeist Granola MCP reads from local cache only:

  • All meeting metadata is available (~300+ meetings)
  • Only ~15 recent meetings have transcripts cached
  • Older transcripts are stored in AWS and not accessible via this MCP
  • For older meetings, use get_meeting_documents instead of get_meeting_transcript

Optional Enhancements

If user requests, also include:

  • Weather — Current conditions and forecast
  • Task list — Open tasks from project management tools
  • News — Industry-relevant headlines

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is daily-digest?

This is my attempt at building automated memory system

How do I install daily-digest?

Run the command: npx killer-skills add johncarpenter/knowledge-base. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

Which IDEs are compatible with daily-digest?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add johncarpenter/knowledge-base. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use daily-digest immediately in the current project.

Related Skills

Looking for an alternative to daily-digest or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI