KS
Killer-Skills

email-summary — Categories.community

v1.0.0
GitHub

About this Skill

Ideal for Email Analysis Agents requiring automated email summarization and categorization capabilities for Gmail and Exchange accounts This is my attempt at building automated memory system

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

Quality Score

Top 5%
34
Excellent
Based on code quality & docs
Installation
SYS Universal Install (Auto-Detect)
Cursor IDE Windsurf IDE VS Code IDE
> npx killer-skills add johncarpenter/knowledge-base/email-summary

Agent Capability Analysis

The email-summary MCP Server by johncarpenter is an open-source Categories.community integration for Claude and other AI agents, enabling seamless task automation and capability expansion.

Ideal Agent Persona

Ideal for Email Analysis Agents requiring automated email summarization and categorization capabilities for Gmail and Exchange accounts

Core Value

Empowers agents to summarize emails using Gmail query syntax, categorize them by action type, and save to local markdown files, leveraging tools like `mcp__gmail__gmail_search` and `mcp__gmail__gmail_get_thread` for advanced email analysis

Capabilities Granted for email-summary MCP Server

Automating email summaries for multiple Gmail accounts
Categorizing emails by action type for prioritized responses
Generating local markdown files for email archives

! Prerequisites & Limits

  • Requires configured Gmail and Exchange accounts
  • Limited to Gmail and Exchange email services
  • Needs local file system access for saving markdown files
Project
SKILL.md
5.1 KB
.cursorrules
1.2 KB
package.json
240 B
Ready
UTF-8

# Tags

[No tags]
SKILL.md
Readonly

Email Summary — Gmail & Exchange Integration

Summarize emails from configured Gmail and Exchange accounts, categorize them by action type, and save to a local markdown file in operations/emails/.

Available MCP Tools

Gmail Tools

ToolPurpose
mcp__gmail__gmail_list_accountsList configured Gmail accounts
mcp__gmail__gmail_searchSearch emails with Gmail query syntax
mcp__gmail__gmail_get_threadGet full email thread by ID
mcp__gmail__gmail_summarizeGet thread content formatted for summarization

Exchange Tools

ToolPurpose
mcp__exchange__exchange_list_accountsList configured Exchange accounts
mcp__exchange__exchange_searchSearch emails with KQL syntax
mcp__exchange__exchange_get_messageGet full message details
mcp__exchange__exchange_get_threadGet conversation thread

Workflow

1. Determine Time Period

Ask the user for the date range if not specified. Common patterns:

  • "today" → current date
  • "yesterday" → previous day
  • "this week" → Monday to today
  • "last week" → previous Monday to Sunday
  • "last 7 days" → rolling 7 days
  • Custom range: "from YYYY-MM-DD to YYYY-MM-DD"

2. List Available Accounts

mcp__gmail__gmail_list_accounts()
mcp__exchange__exchange_list_accounts()

Present the list and confirm which accounts to include (default: all).

3. Fetch Emails

Gmail (use date query syntax):

mcp__gmail__gmail_search(account="<name>", query="after:2026/01/01 before:2026/01/08", max_results=50, include_body=true)

Exchange (use KQL syntax):

mcp__exchange__exchange_search(account="<name>", query="received:2026-01-01..2026-01-07", max_results=50, include_body=true)

4. Categorize Each Email

Review each email and assign to ONE category:

CategoryCriteriaExamples
TasksExplicit action required, assignments, deadlines"Please complete by Friday", "Action required", task assignments
Response NeededAwaiting your reply, questions directed at youDirect questions, meeting requests pending response, approval requests
InformationalFYI, newsletters, updates, notificationsStatus updates, automated notifications, newsletters, announcements
OtherDoesn't fit above categoriesSpam, promotional, unclear intent

5. Generate Summary Document

Filename convention: YYYY-MM-DD-email-summary.md (use end date of range)

Output location: operations/emails/

Markdown format:

markdown
1# Email Summary: [Start Date] to [End Date] 2 3**Generated:** YYYY-MM-DD HH:MM 4**Accounts:** account1, account2, account3 5**Total Emails:** N 6 7--- 8 9## Tasks That Need To Be Done 10 11| Source | From | Subject | Date | Details | 12|--------|------|---------|------|---------| 13| Gmail/Exchange | sender@example.com | Subject line | YYYY-MM-DD | Brief description of task required | 14 15### Task Details 16 17#### [Subject Line] 18- **From:** sender@example.com 19- **Date:** YYYY-MM-DD 20- **Account:** Gmail (account-name) / Exchange (account-name) 21- **Action Required:** [Clear description of what needs to be done] 22- **Deadline:** [If mentioned] 23 24--- 25 26## Response Needed 27 28| Source | From | Subject | Date | Details | 29|--------|------|---------|------|---------| 30| Gmail/Exchange | sender@example.com | Subject line | YYYY-MM-DD | What response is needed | 31 32### Response Details 33 34#### [Subject Line] 35- **From:** sender@example.com 36- **Date:** YYYY-MM-DD 37- **Account:** Gmail (account-name) / Exchange (account-name) 38- **Question/Request:** [What they're asking] 39 40--- 41 42## Informational 43 44| Source | From | Subject | Date | Summary | 45|--------|------|---------|------|---------| 46| Gmail/Exchange | sender@example.com | Subject line | YYYY-MM-DD | One-line summary | 47 48--- 49 50## Other 51 52| Source | From | Subject | Date | Notes | 53|--------|------|---------|------|-------| 54| Gmail/Exchange | sender@example.com | Subject line | YYYY-MM-DD | Why categorized here | 55 56--- 57 58## Statistics 59 60- **Tasks:** N emails 61- **Response Needed:** N emails 62- **Informational:** N emails 63- **Other:** N emails

6. Save and Confirm

Write the file to operations/emails/YYYY-MM-DD-email-summary.md and confirm the path to the user.

Date Query Reference

Gmail Query Syntax

  • after:YYYY/MM/DD — emails after date
  • before:YYYY/MM/DD — emails before date
  • newer_than:7d — last 7 days
  • older_than:1d — older than 1 day

Exchange KQL Syntax

  • received:YYYY-MM-DD — specific date
  • received:YYYY-MM-DD..YYYY-MM-DD — date range
  • received>=YYYY-MM-DD — on or after date

Tips

  • Large volumes: If >50 emails, summarize in batches and combine.
  • Priority emails: Check importance:high (Exchange) or is:important (Gmail) first.
  • Thread context: Use gmail_get_thread or exchange_get_thread for full conversation context when categorization is unclear.
  • Deduplication: Emails may appear in multiple searches; dedupe by message ID.

Error Handling

  • Account not found → Run list accounts and verify configuration.
  • No emails in range → Confirm date format and expand range.
  • MCP not connected → Check MCP server configuration.

Related Skills

Looking for an alternative to email-summary or building a Categories.community AI Agent? Explore these related open-source MCP Servers.

View All

widget-generator

Logo of f
f

widget-generator is an open-source AI agent skill for creating widget plugins that are injected into prompt feeds on prompts.chat. It supports two rendering modes: standard prompt widgets using default PromptCard styling and custom render widgets built as full React components.

149.6k
0
Design

chat-sdk

Logo of lobehub
lobehub

chat-sdk is a unified TypeScript SDK for building chat bots across multiple platforms, providing a single interface for deploying bot logic.

73.0k
0
Communication

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
Communication

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
Communication