Communitygithub.com

Gmail自動ラベリング

Gmailの受信メールを「アクションが必要」「返信待ち」「参照用」の3カテゴリに自動分類します。メールのラベリング、受信箱の整理、カテゴリ分けを依頼された時に使用します。

Gmail自動ラベリング とは?

このスキルは、Gmail APIを使用して受信トレイのメールを取得し、並列サブエージェント(Claude Sonnetモデル搭載)を用いて「アクションが必要」「返信待ち」「参照用」の3カテゴリに効率的に分類した後、ラベルを一括適用します。100件のメールを約30秒で処理可能で、並列処理により分類のボトルネックを1.8倍高速化します。サブエージェントはファイルに結果を書き出すため、コンテキストウィンドウの肥大化を防ぎ、大規模バッチでも「プロンプトが長すぎる」エラーを回避します。複数のGmailアカウントを管理するアカウントレジストリ機能や、新しいアカウントの追加を簡略化する認証スクリプトも備えており、開発者やパワーユーザーが日々のメール整理を自動化するのに最適です。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/aiagentwithdhruv/skills/tree/HEAD/gmail-label

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Gmail自動ラベリング は何をしますか?

目標

受信トレイのメールを取得し、並列サブエージェントで「アクションが必要」「返信待ち」「参照用」に分類し、Gmail APIでラベルを一括適用します。

スクリプト

  • ./scripts/gmail_label_fetch.py - メールの要約をコンパクトなJSONとして取得
  • ./scripts/gmail_label_split.py - メールをN個のチャンクに分割して並列分類
  • ./scripts/gmail_label_merge.py - 分類されたチャンクを単一のlabels.jsonにマージ
  • ./scripts/gmail_label_apply.py - ラベル分類を一括適用

サブエージェント

  • email-classifier — .claude/agents/email-classifier.mdで定義
  • モデル: Sonnet 4.5(高速でコスト効率の良い分類)
  • 各サブエージェントは1つのチャンクを読み取り、1つの分類済み出力ファイルを書き込みます

フロー(並列 — デフォルト)

ステップ 1: メールを取得

python3 .claude/skills/gmail-label/scripts/gmail_label_fetch.py \
  --account ACCOUNT --query "in:inbox" --limit 100 --output .tmp/emails.json

ステップ 2: チャンクに分割

python3 .claude/skills/gmail-label/scripts/gmail_label_split.py \
  --input .tmp/emails.json --chunks 10 --output-dir .tmp/chunks

ステップ 3: 並列分類(10個のサブエージェントを起動)

10個のemail-classifierサブエージェントをバックグラウンドで起動し、チャンクごとに1つずつ割り当てます。各サブエージェントは:

  • .tmp/chunks/chunk_N.jsonを読み取り
  • 各メールを分類
  • .tmp/chunks/classified_N.jsonに書き込み

Taskツールをrun_in_background: trueおよびmodel: "sonnet"で使用します。真の並列処理を実現するため、1つのメッセージですべての10個を起動してください:

チャンク0〜9のそれぞれに対して、以下の内容でTaskを起動:
  subagent_type: "email-classifier"
  model: "sonnet"
  run_in_background: true
  prompt: "/absolute/path/.tmp/chunks/chunk_N.jsonを読み取り、各メールを分類し、結果を/absolute/path/.tmp/chunks/classified_N.jsonに書き込んでください"

重要: サブエージェントの結果を読み取るためにTaskOutputを使用しないでください。 サブエージェントは結果をファイルに書き込みます。メインエージェントが分類データを見る必要はありません。TaskOutputを読み取るとコンテキストウィンドウが肥大化し、大規模バッチ(500件以上のメール)では「プロンプトが長すぎる」エラーが発生します。

代わりに、ファイルの存在をポーリングしてください:

# すべての分類済みファイルが存在するまで待機(タイムアウト120秒)
for i in $(seq 0 9); do
  while [ ! -f ".tmp/chunks/classified_$i.json" ]; do sleep 2; done
done

その後、ステップ4(マージ)に直接進みます。

ステップ 4: 分類結果をマージ

python3 .claude/skills/gmail-label/scripts/gmail_label_merge.py \
  --input-dir .tmp/chunks --output .tmp/labels.json

ステップ 5: ラベルを適用

python3 .claude/skills/gmail-label/scripts/gmail_label_apply.py \
  --account ACCOUNT --input .tmp/labels.json

分類ガイドライン

アクションが必要:

  • 確認が必要なセキュリティアラート
  • 期限のあるクレジットカード/ドメイン更新の通知
  • 質問を含むSlack @メンション
  • 歓迎すべき新しいチームメンバー(Slack参加通知)
  • 返信が必要なクライアントメール
  • ビジネスリスティングの更新(Googleビジネスプロフィール、Bing Places)
  • Stripeのアクションが必要な通知

返信待ち:

  • 返信を待っている営業メール
  • 解決を待っているサポートチケット
  • 送信済みで返答待ちの提案書

参照用:

  • マーケティングニュースレター(DigitalMarketerなど)
  • 慈善団体/非営利団体のニュースレター(RAPSなど)
  • Googleビジネスプロフィールのパフォーマンスレポート
  • プロモーションオファー(Blinkist、セールなど)
  • プラットフォーム更新通知(Google Play、Apifyなど)
  • 確認コード(既に使用済み)
  • 不動産ニュースレター(Westbankなど)
  • ゲームアカウントメール(Riot Gamesなど)
  • 情報提供セキュリティアラート(2FA有効化など)
  • 健康勧告
  • 法務/ポリシー更新通知

アカウントレジストリ

アカウントはワークスペースルートのgmail_accounts.jsonに保存されます。各アカウントには以下が必要です:

  • email - Gmailアドレス
  • token_file - OAuthトークンへのパス

新しいアカウントの追加

python3 .claude/skills/gmail-inbox/scripts/gmail_multi_auth.py --account ACCOUNT_NAME --email EMAIL

パフォーマンス

  • シリアルフロー: 100件のメールで約36秒(取得1秒+分類34秒+適用1秒)
  • 並列フロー: 100件のメールで約30秒(分類19秒+マージ1秒未満+適用約10秒)
  • 分類がボトルネック。10個の並列サブエージェントにより34秒から19秒に短縮(約1.8倍の高速化)
  • エージェント起動のオーバーヘッド(約4秒のずれ)により理論上の向上幅は限定的
  • 適用ステップはGmail APIのスロットリングにより変動する可能性があります

スキーマ

入力

名前型必須説明
accountstringはいレジストリ内のGmailアカウント名
querystringいいえGmail検索クエリ(デフォルト: 'in:inbox')
limitintegerいいえ分類する最大メール数(デフォルト: 100)
chunksintegerいいえ並列分類チャンク数(デフォルト: 10)

出力

名前型説明
labels_appliedobjectカテゴリごとの件数: アクションが必要、返信待ち、参照用

認証情報

名前ソース
credentials.jsonファイル
token_*.jsonファイル(自動生成)

連携可能なスキル

このスキルと連携してチェーンにできるスキル: gmail-inbox

コスト

分類にClaude Sonnet APIを使用

Individual skills in this repo

This repo contains 10 individual skills — each has its own dedicated page.

aiagentwithdhruv/skills

Add new Modal webhooks for event-driven execution. Use when user asks to create a webhook, add an endpoint, or set up event triggers.

aiagentwithdhruv/skills

Answer Euron Gen AI Bootcamp doubts instantly. Covers Euri API setup across all frameworks (Python, LangChain, OpenAI SDK, TypeScript, n8n, curl), MCP server setup, common errors, model recommendations, and token limits. Use when someone in the bootcamp asks a question.

aiagentwithdhruv/skills

Manage emails across multiple Gmail accounts with unified tooling. Use when user asks to check email, read inbox, label emails, archive messages, or manage Gmail across accounts.

aiagentwithdhruv/skills

Scrape Google Maps for B2B leads with deep website enrichment and contact extraction. Use when user asks to find local businesses, scrape Google Maps, generate contractor lists, or build local service business databases.

aiagentwithdhruv/skills

Run Claude orchestrator locally with Cloudflare tunneling. Use when user asks to run locally, start local server, or test webhooks locally.

aiagentwithdhruv/skills

MCP server for AI-powered macOS control — apps, display, audio, files, screenshots, clipboard

aiagentwithdhruv/skills

Deploy execution scripts to Modal cloud. Use when user asks to deploy to Modal, push code to cloud, or update Modal functions.

aiagentwithdhruv/skills

Scrape and verify business leads using Apify, classify with LLM, enrich emails, and save to Google Sheets. Use when user asks to find leads, scrape businesses, generate prospect lists, or build lead databases for any industry or location.

aiagentwithdhruv/skills

Query Skool community content using RAG pipeline with vector search. Use when user asks to search Skool knowledge, find community answers, or query Skool content.

aiagentwithdhruv/skills

Scrape Upwork jobs and generate personalized proposals with cover letters. Use when user asks to find Upwork jobs, create Upwork proposals, or apply to Upwork listings.

関連スキル