Claude Code Plugins

Community-maintained marketplace

Feedback

Analyze complete email thread with conversation context, timeline, participants, and attachments tracking.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name analyze-thread
description Analyze complete email thread with conversation context, timeline, participants, and attachments tracking.

Analyze Email Thread

Comprehensive analysis of an email thread including conversation flow, participant interactions, timeline, key points, and attachment evolution.

When to Use

Use this skill when you need to:

  • Understand complete conversation context
  • Track discussion progression over time
  • Identify key decisions and action items
  • See how attachments evolved through the thread
  • Get overview of multi-email conversations

Triggers:

English:

  • "Analyze this email thread <message-id>"
  • "Show me the conversation <message-id>"
  • "What's the thread about <message-id>"
  • "Thread analysis for <message-id>"
  • "Summarize this thread <message-id>"

Chinese:

  • "分析这个邮件线索 <message-id>"
  • "看看这个对话 <message-id>"
  • "整理一下这个线索 <message-id>"
  • "线索内容总结 <message-id>"
  • "这个讨论的脉络 <message-id>"

Invocation Methods

Method 1: Natural Language (Recommended)

User: Analyze this email thread <E42FF77C-C563-466D-8544-3E0C16EA24EC@taler.net>
AI: [Proceeds to analyze immediately]

Method 2: Slash Command

User: /analyze-thread
AI: 请提供线索中任意一封邮件的 Message-ID
User: <E42FF77C-C563-466D-8544-3E0C16EA24EC@taler.net>
AI: [Proceeds to analyze]

Note: Any message-id from the thread works. The system will find all related emails.

Execution Steps

  1. Get message-id (if not provided)

    Please provide any Message-ID from the thread
    
    💡 Quick method (recommended):
    In Mail.app: Select email → Press shortcut (⌘⇧C) → Message-ID copied
    See README "Setup Mail Quick Action" section if not configured
    
  2. Read thread using MCP

    thread_data = mcp__mail__read_thread(message_id)
    
  3. Handle truncation checks

    Check 1: Thread Result Oversized

    • If result indicates size overflow (>80KB):
      • Warn user about thread size
      • Suggest reducing max_body_length
      • Ask if user wants to retry with tighter limits

    Check 2: Individual Email Truncation

    • After successful load, check for truncated emails
    • Classify by importance:
      • ⚠️ Critical: Truncated + has attachments
      • ⚠️ High: Lost 60%+ content
      • ℹ️ Medium: Only quote-stripped
    • Suggest reading important emails individually if needed
  4. Analyze thread structure

    • Count total emails
    • Identify all participants
    • Extract date range
    • Track subject evolution
  5. Extract key information

    • Main discussion topics
    • Decisions made
    • Action items with owners
    • Attachments and their evolution
    • Important dates/deadlines
  6. Present structured output

Output Format

🧵 Email Thread Analysis

### Thread Overview
- Total emails: [N]
- Time span: [start date] to [end date]
- Duration: [X days/weeks/months]
- Participants: [list of unique senders]

### Conversation Timeline
[Chronological summary of key emails]

1. [Date] - [Sender] - [Brief description]
2. [Date] - [Sender] - [Brief description]
...

### 💬 Main Topics
1. [Topic 1]
   - [Brief summary]
2. [Topic 2]
   - [Brief summary]

### ✅ Decisions Made
- [Decision 1]
- [Decision 2]

### ⚠️ Action Items
- [ ] [Action item] - [Owner] - [Deadline if any]

### 📎 Attachments Summary
[Total] attachments across thread:
- [filename] - [context/importance]
- [filename] - [context/importance]

### 📅 Important Dates
- [Date]: [Event/Deadline]

### ⚠️ Truncation Notice
[If applicable, warn about truncated emails]

Thread Content Truncation Handling ⚠️

CRITICAL: Thread reading has smart limits to prevent token overflow (1200 chars/email with quote stripping).

Check 1: Thread Result Oversized

If thread is too large:

⚠️ **Thread Too Large** (estimated XXX KB)

This email thread is too large to load with current settings.

**Options:**
1. 🔄 **[Recommended]** Reduce limit and retry
   - Current: 1200 chars/email
   - Suggested: 800 chars/email

2. 📧 **Read individual emails**
   - Use /analyze-email for specific messages

**Shall I automatically reduce the limit and retry?**

Implementation:

  • NEVER try to process oversized results
  • ALWAYS ask user first before retrying

Check 2: Individual Email Truncation

After loading, check for truncated emails:

truncated_emails = []
for email in thread['emails']:
    if email.get('truncated'):
        importance = assess_truncation_importance(email)
        if importance in ['Critical', 'High']:
            truncated_emails.append({
                'message_id': email['message_id'],
                'subject': email['subject'],
                'original_length': email.get('original_length'),
                'importance': importance
            })

User Prompt (only if critical/high truncations found):

⚠️ **Detected Truncated Emails**

[Number] emails were truncated. Important ones:

1. [Subject] ([Importance])
   - Original: [X] chars → Current: 1200 chars
   - Has attachments: Yes/No

**Recommendation**: Read important emails individually using /analyze-email

Example Scenarios

Scenario 1: Technical Discussion Thread

User: /analyze-thread AI: 请提供线索中任意一封邮件的 Message-ID User: E42FF77C-C563-466D-8544-3E0C16EA24EC@taler.net AI: 🧵 Email Thread Analysis

Thread Overview

  • Total emails: 37
  • Time span: Jul 2, 2025 to Dec 10, 2025
  • Duration: ~5 months
  • Participants:

Conversation Timeline

Phase 1: Problem Identification (Jul 2-3)

  • Marc asks about SwiftUI Text layout sizing issue
  • Yang explains SwiftUI layout behavior
  • Marc provides screenshots and code examples

Phase 2: Solution Development (Jul 3-4)

  • Yang implements TruncationDetectingText component
  • Solution tested and working
  • Marc extends to support two text components

Phase 3: Business Completion (Jul 4-8)

  • MIT license agreed
  • Payment: 150€ via Wise
  • Invoice provided

Phase 4: Bug Discovery (Jul 8 - Dec 10)

  • Layout flickering issue on iPhone XS (iOS 17)
  • Multiple debugging attempts
  • Issue still under investigation

💬 Main Topics

  1. SwiftUI Layout Problem

    • Text component not returning correct size with lineLimit
    • Need for adaptive layout selection
  2. Solution Implementation

    • TruncationDetectingText component
    • PreferenceKey-based truncation detection
    • ZStack + LayoutPriority approach
  3. Ongoing Issue

    • Layout flickering on specific devices
    • Related to text width and timing

✅ Decisions Made

  • Use MIT license for the solution code
  • Payment amount: 150€
  • Payment method: Wise transfer

⚠️ Action Items

  • Resolve layout flickering on iPhone XS (Marc)
  • Consider writing blog post about solution (Yang)

📎 Attachments Summary

9 attachments across thread:

  • AdaptiveAmountRow.swift - Final solution code
  • TruncationDetectingText.swift - Core component
  • Invoice - SwiftUI Consultation.pdf - Paid invoice
  • Various screenshots showing flickering issue

💡 Key Insights

  • Solution works well for main use case
  • Edge case issue on specific hardware/iOS version
  • Successful commercial collaboration

Scenario 2: Short Thread (No Truncation)

User: Analyze this thread short@example.com AI: 🧵 Email Thread Analysis

Thread Overview

  • Total emails: 3
  • Time span: Jan 10, 2025
  • Duration: 1 day
  • Participants: Alice, Bob

Conversation Timeline

  1. Alice asks about project timeline
  2. Bob provides estimate
  3. Alice confirms and schedules meeting

⚠️ Action Items

  • Meeting on Jan 15 at 2 PM

📎 Attachments Summary

1 attachment: project_timeline.pdf

Related Skills

  • /analyze-email - For single email analysis
  • /analyze-attachments - For deep attachment analysis

Technical Notes

Quote Stripping: Thread reading automatically removes redundant quoted content while preserving context (first 10 lines of each quote block). This reduces token usage by ~80%.

Token Safety: Default 1200 chars/email limit ensures threads of up to ~50 emails can be analyzed safely within Claude Code's token limits.