email-triage について
email-triageは、Gmail Commanderで最近のメールをカテゴリと緊急度別に整理するスキルです。オンデマンドの`/digest`処理を説明し、別サービスで動く定期ダイジェストと区別します。
主な機能
- 01メールを3カテゴリに分類
- 02緊急度を高から低へ整理
- 03Gmail CLIで最近のメールを取得
- 04汚染されたモデル応答を除外
- 05結果をダイジェスト形式に整形
活用シーン
- 01最近の要対応メールの確認
- 02セキュリティ通知と仕事のメールの分類
- 03Telegramでオンデマンドダイジェストを依頼
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ terrylica/ cc-skills --skill email-triageインストール後、Claude Code で/email-triageを入力して読み込まれたか確認します。
同梱ファイルreferences/evolution-log.md
詳細
メールのトリアージ
Gmail Commander が最近のメールをどのように分類して対応が必要なものを特定するのか、また各ダイジェストが実際にどこから生成されるのかを説明します。
自己進化型スキル:このスキルは使用するにつれて改善されます。指示に誤りがある場合、パラメーターにずれがある場合、または回避策が必要になった場合は、後回しにせず、すぐにこのファイルを修正してください。実際に再現できる問題がある場合にのみ更新してください。
2 種類のダイジェスト — 混同しないでください
| ダイジェスト | トリガー | コード |
|---|---|---|
オンデマンド /digest [hours] | ユーザーがボットに送信(デフォルトは 6 h) | このプラグイン:scripts/lib/commands.ts + scripts/lib/triage.ts |
| スケジュール済みダイジェスト | 無人で 1 日に数回実行 | プライベートデプロイの GmailDigest サービス — 独自の実装 |
スケジュール済みダイジェストは、常時稼働の Mac mini 上にあるプライベートな Restate テナントで実行され、このプラグインのトリアージコードはインポートしません。スケジュール、プロンプト、アラート、および障害は、そのデプロイ固有のリポジトリの運用手順書を通じて管理します。
このプラグインには、スケジュール済みダイジェストのエントリーポイントは含まれなくなりました。ラップトップの launchd ジョブ com.example.gmail-commander-digest は 2026-09-24 に廃止され、何もインポートしなくなったため、Kokoro のポッドキャスト風音声ブリーフィングを含む scripts/digest.ts(scripts/lib/tts-client.ts 内)は 2026-09-26 に削除されました。どちらも再作成しないでください。
必須の事前確認
ステップ 1:トリアージコードが存在することを確認する
PLUGIN="$HOME/.claude/plugins/marketplaces/cc-skills/plugins/gmail-commander"
ls -la "$PLUGIN/scripts/lib/triage.ts" 2>/dev/null || echo "TRIAGE_NOT_FOUND"
ステップ 2:Gmail CLI バイナリを確認する(トリアージの入力元です)
ls -la "$HOME/.claude/plugins/marketplaces/cc-skills/plugins/gmail-commander/scripts/gmail-cli/gmail" 2>/dev/null || echo "BINARY_NOT_FOUND"
BINARY_NOT_FOUND の場合:コミット済みのロックファイルからビルドしてください。
cd "$HOME/.claude/plugins/marketplaces/cc-skills/plugins/gmail-commander/scripts/gmail-cli" && bun install --frozen-lockfile && bun run build
3 カテゴリーのトリアージシステム
| カテゴリー | 例 |
|---|---|
| システムとセキュリティ | Exchange のアラート、2FA コード、パスワードのリセット、新しいデバイスからのログイン |
| 仕事 | 締め切り、請求書、契約書、GitHub PR、仕事上の依頼 |
| 個人と家族 | 友人や家族からのメッセージ、予約、車両の整備、健康 |
各カテゴリーの緊急度は、CRITICAL > HIGH > MEDIUM > LOW です。該当するものがない場合、モデルは正確に NO_SIGNIFICANT_EMAILS と回答し、ボットは該当期間に重要なメールがなかったことを報告します。
パイプライン(/digest [hours])
fetchRecentEmails(hours)はGMAIL_CLI_BINを通じてgmail search newer_than:<hours>h -n 50 --jsonを実行します。formatEmailsForTriage()がメッセージを整形します。モデルがコンテキスト内のスキルやツールの一覧を無視するよう、ANTI_SKILL_PREFIXが先頭に付加されます。HAIKU_MODEL上でTRIAGE_SYSTEM_PROMPTを使った Agent SDK 呼び出しを 1 回行います(ツールなし、1 ターン)。isSkillContaminated()は、トリアージではなくスキルを演じた応答を破棄します。parseTriageResponse()がテキストを型付きアイテムに変換し、formatDigestHtml()がカテゴリーと緊急度の絵文字マップを使って表示します。
ソースマップ
| 内容 | ファイル |
|---|---|
| システムプロンプト、アンチスキル接頭辞、パーサー | scripts/lib/triage.ts |
/digest コマンドハンドラー | scripts/lib/commands.ts |
| カテゴリー/緊急度の絵文字マップ、ダイジェスト HTML | scripts/lib/telegram-format.ts |
| Gmail の取得 | scripts/lib/gmail-client.ts |
変更後のチェックリスト
- YAML frontmatter が有効である(description にコロンが含まれていない)
- トリガーキーワードが最新である
- パスパターンでハードコードされたパスではなく $HOME を使用している
-
lib/triage.tsのエクスポートの形状が変更されていない(ボットとそのデプロイでこれらをインポートする)
実行後の振り返り
このスキルの実行が完了したら、タスクを終了する前に振り返ってください。
- 現在地を確認します。 — 編集する前に、この SKILL.md の正規のパスを確認します。
- 何が失敗しましたか? — 原因となった指示を修正します。
- 予想以上にうまくいったことは何ですか? — 推奨プラクティスとして取り入れます。
- 何が現実とずれていますか? — 現状と一致しなくなったスクリプト、リファレンス、依存関係を修正します。
- 記録します。 — トリガー、修正内容、根拠を含む進化ログのエントリーを追加します。
先送りしてはいけません。次回の実行では、あなたが残した状態を引き継ぎます。