Skip to content
cccskills
FreePublished on GitHub

inbox-triage-summarizer

Periodic inbox scan that categorizes new emails by project/client, identifies action-required items, and generates prioritized summary with FYI/requires-response/requires-action/blocked-waiting classifications. Use for inbox overview, project-based email grouping, or action item extraction.

The English summary is being prepared. Showing the original description.

Works withGmailOutlook

Run score Not tested

See how to install

Files included (6)

  • SKILL.md7.4 KB
  • references/email-categorization-guide.md6.5 KB
  • references/project-mapping.yaml3.1 KB
  • scripts/tests/conftest.py236 B
  • scripts/tests/test_triage_inbox.py15.8 KB
  • scripts/triage_inbox.py22.6 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Inbox Triage Summarizer

Overview

Perform periodic inbox scans to categorize incoming emails by project, client, or topic, then generate a prioritized summary report. Unlike email-triage-responder (which focuses on individual email analysis and draft generation), this skill provides a high-level overview of inbox state with actionable groupings and status classifications (FYI, requires-response, requires-action, blocked-waiting-on-others).

When to Use

  • Running a periodic inbox review (daily, weekly) to understand backlog
  • Grouping emails by project or client for focused processing
  • Identifying blocked items waiting on external responses
  • Generating an executive summary of inbox state for team standup
  • Feeding action-required emails to email-triage-responder for response drafting
  • Tracking email conversation threads across multiple messages

Prerequisites

  • Python 3.9+
  • gogcli configured with Gmail OAuth (for Gmail integration)
  • Or Outlook MCP server configured (for Outlook integration)
  • No additional API keys required beyond email access

Workflow

Step 1: Fetch New Emails Since Last Scan

Use gogcli or MCP tools to retrieve emails since the last triage scan.

# Gmail via gogcli - last 7 days
gogcli gmail messages list \
  --query "is:inbox after:$(date -v-7d +%Y/%m/%d)" \
  --format json --max-results 200

# Or filter by unread only
gogcli gmail messages list \
  --query "is:unread" \
  --format json --max-results 100

Step 2: Parse and Categorize Emails

Run the triage summarizer script to categorize emails by project/client.

python3 scripts/triage_inbox.py \
  --input emails.json \
  --output triage_summary.json \
  --project-rules references/project-mapping.yaml

The script performs:

  1. Project/Client Detection: Match sender domain, subject keywords, or thread ID to known projects
  2. Action Classification: Assign each email to FYI, requires-response, requires-action, or blocked-waiting
  3. Thread Correlation: Group related emails by conversation thread
  4. Staleness Detection: Flag threads with no activity for N days

Step 3: Generate Prioritized Summary

Create the summary report with grouped action items.

python3 scripts/triage_inbox.py \
  --input emails.json \
  --output summary_report.md \
  --format markdown \
  --group-by project

Grouping options (the report is currently grouped by project; the other values are accepted but not yet applied to the output):

  • project -- Group by detected project/client
  • action -- Group by action classification
  • sender -- Group by sender domain
  • date -- Group by received date

Step 4: Export Action Items for Response Drafting

Extract action-required emails for downstream processing with email-triage-responder.

python3 scripts/triage_inbox.py \
  --input emails.json \
  --output action_items.json \
  --export-action-items \
  --classifications requires-response,requires-action

Output Format

JSON Summary

{
  "schema_version": "1.0",
  "scan_timestamp": "2024-01-15T09:00:00Z",
  "scan_period": {
    "start": "2024-01-08T00:00:00Z",
    "end": "2024-01-15T09:00:00Z"
  },
  "summary": {
    "total_emails": 87,
    "by_classification": {
      "fyi": 45,
      "requires_response": 18,
      "requires_action": 12,
      "blocked_waiting": 8,
      "unknown": 4
    },
    "by_project": {
      "client-alpha": 15,
      "internal-ops": 22,
      "vendor-acme": 8,
      "unassigned": 42
    }
  },
  "projects": [
    {
      "project_id": "client-alpha",
      "display_name": "Alpha Corp Project",
      "email_count": 15,
      "action_required_count": 5,
      "blocked_count": 2,
      "oldest_unanswered": "2024-01-10T14:30:00Z",
      "threads": []
    }
  ],
  "action_items": [
    {
      "email_id": "msg_12345",
      "thread_id": "thread_abc123",
      "project_id": "client-alpha",
      "from": "alice@alpha.com",
      "subject": "Q1 Deliverables Review",
      "classification": "requires_response",
      "detected_deadline": "2024-01-17",
      "urgency_indicators": ["waiting for your feedback", "by EOW"],
      "recommended_action": "Reply with status update on deliverables"
    }
  ],
  "blocked_items": [
    {
      "email_id": "msg_67890",
      "thread_id": "thread_xyz789",
      "project_id": "vendor-acme",
      "waiting_on": "vendor@acme.com",
      "last_sent": "2024-01-12T10:00:00Z",
      "days_waiting": 3,
      "subject": "License Renewal Quote Request",
      "recommended_action": "Send follow-up if no response by Jan 16"
    }
  ]
}

Markdown Report

# Inbox Triage Summary

**Scan Period**: Jan 8 - Jan 15, 2024
**Total Emails**: 87 | **New Since Last Scan**: 32

## Action Summary

| Classification | Count | % |
|----------------|-------|---|
| FYI (no action) | 45 | 52% |
| Requires Response | 18 | 21% |
| Requires Action | 12 | 14% |
| Blocked (waiting) | 8 | 9% |
| Unknown | 4 | 4% |

## By Project

### Client Alpha (15 emails, 5 action required)

**Blocked**: 2 threads waiting on external response

| Subject | From | Classification | Staleness |
|---------|------|----------------|-----------|
| Q1 Deliverables Review | alice@alpha.com | Requires Response | 3 days |
| Contract Amendment | legal@alpha.com | Requires Action | 1 day |

### Internal Ops (22 emails, 3 action required)

...

## Recommended Actions

1. **Respond** to 5 client-alpha emails (oldest: 3 days)
2. **Follow up** on 2 blocked vendor threads (waiting 3+ days)
3. **Batch process** 12 FYI emails from internal-ops

## Integration with email-triage-responder

Action items exported to `action_items.json` for response drafting:
- 18 emails classified as requires-response
- 12 emails classified as requires-action

Run: `python3 ../email-triage-responder/scripts/triage_emails.py --input action_items.json --generate-drafts`

Project Mapping Configuration

Create references/project-mapping.yaml to define project detection rules:

projects:
  - id: client-alpha
    display_name: Alpha Corp Project
    match_rules:
      - type: sender_domain
        pattern: "@alpha.com"
      - type: subject_contains
        pattern: "Alpha|ALPHA-"
      - type: thread_label
        pattern: "client/alpha"

  - id: vendor-acme
    display_name: ACME Vendor
    match_rules:
      - type: sender_domain
        pattern: "@acme.com"
      - type: subject_contains
        pattern: "ACME|License"

default_project: unassigned

Resources

  • scripts/triage_inbox.py -- Main inbox triage and summarization script
  • references/email-categorization-guide.md -- Classification criteria and action detection rules
  • references/project-mapping.yaml -- Example project/client detection configuration

Key Principles

  1. Project-Centric View: Group emails by project/client for focused batch processing
  2. Clear Action Classification: Every email gets one of four action states (FYI/response/action/blocked)
  3. Thread Awareness: Track conversation threads, not just individual messages
  4. Staleness Tracking: Surface threads that need follow-up based on age
  5. Integration Ready: Export format compatible with email-triage-responder for response drafting

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

Track and update action item status from natural language updates like 'Seanのメールには返信しておいた' or 'Lu対応予定'. Integrates with daily-comms-ops workflow. Use when managing action items across communication channels.

The English summary is being prepared. Showing the original description.

takusaotome/claude-skills-library10Updated Oct 23, 2026

AI活用提案の専門コンサルタントスキル。LLM・AIエージェントの活用事例知識を基に、業界別、部門別、シーン別に最適なAI導入提案を行います。システム化、業務改善、効率化を得意とし、具体的な活用事例、期待効果、導入ステップを含む実践的な提案を提供します。Use when proposing AI/LLM adoption strategies for specific industries, departments, or business scenarios.

The English summary is being prepared. Showing the original description.

takusaotome/claude-skills-library10Updated Oct 23, 2026

Generate AI-powered BPO service proposals for Japanese companies in the US market. Use when creating outsourcing proposals with AI service menus, ROI estimation, implementation roadmaps, and bilingual (JA/EN) proposal documents for 在米日系企業向けAI実装.

The English summary is being prepared. Showing the original description.

takusaotome/claude-skills-library10Updated Oct 23, 2026

AI(LLM)が生成した日本語テキストの「AI臭」を検出・診断し、人間らしい文章にリライトするスキル。 Use when: 「AIっぽい文章を直して」「人間らしくリライトして」「AI臭を消して」「この文章をもっと自然にして」 「テキストのAI感を減らして」「機械っぽさを取りたい」 "make this sound more human", "remove AI tone", "humanize this text", "detect if this is AI-generated". 6つのAI特有パターン(視覚的マーカー、単調なリズム、マニュアル的構成、非コミット姿勢、抽象語の濫用、 定型メタファー)を正規表現ベースで検出し、0-100のAI臭スコアを算出。3つの人間化技法 (バランスを崩す・客観を崩す・論理を崩す)でリライトを実行する。 Note: 検出スクリプトは日本語テキスト専用。英語テキストの場合はClaude自身がreferences/を参照して分析・リライトする。

The English summary is being prepared. Showing the original description.

takusaotome/claude-skills-library10Updated Oct 23, 2026

Generate audit-ready internal control design documents from As-Is business process inventories. Produces control IDs, assertion mappings, procedures, SoD analysis, KPIs, materiality thresholds, and implementation roadmaps. Use when building internal controls for new audit engagements, SOX/J-SOX compliance, or process improvement initiatives.

The English summary is being prepared. Showing the original description.

takusaotome/claude-skills-library10Updated Oct 23, 2026

Review audit-related documents (control design documents, bottleneck analyses, requirements definitions, etc.) for quality, scoring them 0-100 with a severity-rated findings list. Use when reviewing audit documents, checking control design quality, or verifying cross-document consistency. Supports documents governed by US GAAP, IFRS, or J-GAAP.

The English summary is being prepared. Showing the original description.

takusaotome/claude-skills-library10Updated Oct 23, 2026

See all skills by takusaotome

Report a problem with this skill