mcpField
E
email-check

email-check

github.com/agricidaniel生産性13282 回インストール29 週間前に更新
リポジトリ

email-check について

email-checkは、GmailまたはOutlookの受信トレイを整理するスキルです。未読メールを採点して優先度別に分類し、選択したメールには文脈に沿った返信案を作成します。

主な機能

  1. 01MCP経由でGmailまたはOutlookに接続
  2. 02未読メールを取得して分析
  3. 03メールの優先度を採点・分類
  4. 04簡潔な返信案と詳細な返信案を作成
  5. 05任意のemail-profile.mdを文脈に利用

活用シーン

  1. 01緊急度順に未読メールを確認
  2. 02期限が迫ったメールを特定
  3. 03優先度の高いメールの返信案を準備

MCP 対応

利用可能なGmailまたはOutlookのMCPツールで未読メールとスレッドの文脈を取得します。両方が使える場合はGmailを優先します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/agricidaniel/claude-email --skill email-check

インストール後、Claude Code で/email-checkを入力して読み込まれたか確認します。

詳細

メールチェックサブスキル

目的

このサブスキルは、MCP 経由で Gmail または Outlook に接続し、未読メールを分析して重要度を採点・分類し、優先度の高いメールへの返信候補を生成することで、受信トレイのインテリジェントなトリアージを行います。

ワークフロー

1. 利用可能なメールプロバイダーを検出する

利用可能な MCP ツールを確認します。

  • Gmail:search_gmail_messages、get_gmail_messages_content_batch、get_gmail_thread_content、list_gmail_labels
  • Outlook:list-mail-messages、list-mail-folder-messages、get-mail-message

両方が利用可能な場合は、バッチ操作に優れている Gmail を優先します。

2. 未読メールを取得する

Gmail の場合:

search_gmail_messages(query="is:unread", max_results=50)

Outlook の場合:

list-mail-messages (defaults to recent messages, filter for unread)
3. メール本文をまとめて取得する

Gmail の場合:

get_gmail_messages_content_batch(message_ids=[...])  # Up to 25 at a time

未読メールが25件を超える場合は、最新のものから優先します。

Outlook の場合:

get-mail-message for each message (sequential)

分析が過剰にならないよう、メールは最大25件に制限します。

4. 各メールを採点する(0~100)

以下の採点アルゴリズムを適用します。

基本スコア:50
送信者の認識(+20~-20)
  • +20:VIP/既知の連絡先(ドメインがユーザーの会社と一致する、送信済みフォルダーに頻繁に登場する)
  • +10:認識済みの送信者(以前のスレッド履歴がある)
  • 0:正当なドメインを持つ不明な送信者
  • -15:ニュースレター/自動送信者(一斉送信メールのヘッダー、配信停止リンクがある)
  • -20:通知送信者(no-reply@、noreply@、automated@)
直接の宛先(+15~-10)
  • +15:主な宛先(To: フィールド)
  • 0:CC の宛先(CC: フィールド)
  • -10:BCC または一斉送信(宛先が多数)
スレッドの深さ(+10)
  • +10:進行中のスレッドへの返信(件名に Re: がある、スレッド内に複数のメッセージがある)
  • 0:新着メール(スレッド履歴がない)
緊急性を示すキーワード(+15)

件名と冒頭200文字を確認します。

  • urgent、ASAP、deadline、action required、immediate、time-sensitive、expiring、expires、due
  • 緊急性を示すキーワードが見つかった場合は +15
カレンダー/会議(+20)
  • +20:カレンダー招待、会議依頼、イベント通知
  • 添付ファイル(ics ファイル)または件名のパターン(Invitation:、Meeting:)から検出します。
期限の検出(+25)

メール本文から日付や期限を解析します。

  • +25:期限が48時間以内
  • +10:期限が7日以内
  • 0:期限がない、または期限が7日を超える
ビジネスとの関連性(+15~-10)

親ディレクトリに email-profile.md がある場合:

  • +15:ユーザーの主要なトピック、顧客、プロジェクトに言及している
  • +5:業界に関連するキーワードがある
  • -10:話題から外れている、または個人的な内容(ビジネス用受信トレイの場合)
最終スコアの計算

基本スコアの50にすべての調整値を加算します。 0~100の範囲に収めます。

5. メールを分類する

最終スコアに基づいて分類します。

スコア範囲カテゴリーアクション
85-100緊急すぐに確認し、返信候補を生成します
65-84重要早めに確認し、対応が必要か判断します
40-64通常通常の優先度で、確認できるときに確認します
20-39優先度低ざっと確認するか、後回しにします
0-19アーカイブノイズまたは自動送信の可能性が高い
6. 返信候補を生成する

スコアが85以上(緊急カテゴリー)のメールについて:

  1. get_gmail_thread_content または同等のツールを使って、スレッドの全体的な文脈を確認します
  2. 親ディレクトリに email-profile.md があるか確認し、ユーザーの以下の情報を確認します。
    • ブランドのトーン(プロフェッショナル、カジュアル、率直、親しみやすい)
    • よく使う結びの言葉
    • 業界/役割の背景
  3. 返信案を2つ作成します。
    • 簡潔:1~2文で直接回答します
    • 詳細:背景を含む1段落にします

以下の場合は返信案を作成しないでください。

  • 利用可能な文脈を超える調査が必要なメール
  • ユーザーの判断が必要なメール(承認/拒否、選択肢の選択)
  • FYI/情報提供のみのメール
  • カレンダー招待のメール(代わりに承諾/辞退/仮承諾を提案します)

この場合は、次のように出力します:「このメールにはご自身での対応が必要です:[理由]」

7. 出力形式
## Inbox Summary

**X unread emails** | Y Urgent | Z Important | W Routine | V Low Priority

### Urgent (Action Required)

| # | From | Subject | Score | Suggested Action |
|---|------|---------|-------|------------------|
| 1 | [email protected] | Subject line | 95 | [Reply/Review/Respond] |
| 2 | ... | ... | 88 | ... |

---

### Important

| # | From | Subject | Score | Category |
|---|------|---------|-------|----------|
| 3 | ... | ... | 78 | Meeting follow-up |
| 4 | ... | ... | 70 | Client inquiry |

---

### Routine & Low Priority

- **Routine (40-64)**: X emails - [grouped summary by sender/topic]
- **Low Priority (20-39)**: Y emails - newsletters, notifications
- **Archive (<20)**: Z emails - automated/noise

---

### Suggested Replies

#### 1. Re: [Subject] (to: [email protected])

**Context:** [Why this email scored high, key points]

**Brief Option:**
> [1-2 sentence reply]
>
> [Sign-off]

**Detailed Option:**
> [Paragraph with more context/explanation]
>
> [Sign-off]

#### 2. Re: [Next urgent email]

[Repeat format]

---

### Emails Requiring Personal Attention

- **#X - [Subject]**: Needs decision on [topic]
- **#Y - [Subject]**: Requires research before responding

スコアリングシグナルのリファレンス

シグナルスコアへの影響検出方法
To: アドレスに直接指定+15To: フィールドを確認
VIP/既知の送信者+20ドメインの一致、送信済みフォルダーの履歴
アクティブなスレッド+10スレッド ID、件名の Re:
緊急性を示すキーワード+15件名/本文をスキャン
カレンダーの招待+20.ics 添付ファイル、招待ヘッダー
期限まで48時間未満+25本文の日付を解析
期限まで7日未満+10本文の日付を解析
業務との関連性+15email-profile.md のトピックと照合
CC(主な宛先ではない)-10CC: フィールド
ニュースレター-20配信停止リンク、一括送信ヘッダー
通知-15no-reply@ の送信者
不明な送信者-10スレッド履歴なし

返信案のガイドライン

トーンの調整

email-profile.md がある場合は、返信のトーンを次のように合わせます。

  • Professional:フォーマルで、構成が整っており、明確
  • Casual:親しみやすく、会話調
  • Direct:簡潔で、行動を促す
  • Warm:親しみがあり、関係性を重視

プロフィールがない場合は、プロフェッショナルで親しみやすいトーンを標準とします。

返信の構成

簡潔な返信:

  • 中心となる質問/依頼に回答する
  • 最大1~2文
  • 必要に応じて、次のステップを明確に示す

詳細な返信:

  • 提起されたすべての点に対応する
  • 背景や説明を加える
  • 1段落(3~5文)
  • 次のステップやスケジュールを提案する
返信案を作成しない場合
  • メールで承認/判断を求められている → 次のように提案:「X を確認して承認/却下する」
  • メールで、手元にないデータを求められている → 「このメールには個人的な対応が必要です:[データ/情報] が必要です」
  • メールの内容が複雑で複数の要素を含む → 「このメールには個人的な対応が必要です:複数の判断が必要です」
  • メールが情報共有のみ → 推奨アクション:「確認(返信不要)」

エラー処理

MCP 接続がない

Gmail と Outlook のどちらの MCP も利用できない場合:

Error: No email provider connected. Please ensure Gmail MCP or Outlook MCP is configured.
受信トレイが空
## Inbox Summary
**0 unread emails** - Your inbox is clear!
MCP のレート制限

一括取得に失敗した場合は、個別のメッセージ取得に切り替えます(時間はかかりますが、確実です)。

スレッドのコンテキストを取得できない

get_gmail_thread_content が失敗した場合は、単一のメッセージのみをもとに返信案を作成します(注:「コンテキストが限定されています - 単一メッセージ表示」)。

統合ポイント

email-profile.md(任意)

親ディレクトリ(../email-profile.md)に存在する場合は、次の目的で使用します。

  • ブランドの声の検出
  • 業務との関連性のスコアリング
  • 返信のトーン/スタイルの調整
  • よくあるトピック/クライアントの一覧
Gmail 固有の機能
  • ラベルを使って分類を絞り込む(例:「プロモーション」ラベルのメールを除外)
  • 送信者を識別するために送信済みフォルダーを確認する
Outlook 固有の機能
  • フォルダー構成をコンテキストとして使用する(受信トレイと優先受信トレイなど)
  • 利用可能な場合は分類項目を活用する

パフォーマンスの最適化

  • メールを一度に25件取得する(Gmail)
  • 未読メールのうち、直近の50件までに分析を限定する
  • セッション中に送信者の識別データをキャッシュする
  • 未読メールが50件を超える場合は、直近のメールを優先する

出力の制約

  • 出力全体を2000行未満にする
  • 通常/優先度の低いメールは、トピック/送信者ごとにまとめる
  • 緊急および重要カテゴリのみ、詳細をすべて表示する
  • アーカイブ済みメールは件数の要約にまとめる

品質ゲート

ダイジェストを出力する前に:

  1. すべての緊急度スコアが、シグナルの内訳によって正当化されていることを確認する
  2. 返信案が実行可能であり、ありきたりな内容ではないことを確認する
  3. 「個人的な対応が必要」という注記に理由が記載されていることを確認する
  4. カテゴリがスコア範囲と一致していることを確認する
  5. 一括処理が正常に完了したことを検証する

成功基準

メール確認セッションが成功したと判断できる条件:

  • 真に緊急性の高いメールをすべて特定する(見逃しなし)
  • 緊急カテゴリの誤検出を最小限に抑える(適合率 > 80%)
  • 上位3~5件のメールに対して、実行可能な返信案を提示する
  • 25件のメールの分析を30秒未満で完了する
  • 各カテゴリについて、明確な次のアクションを出力する

コメント