mcpField
E
email-to-issue

email-to-issue

github.com/clhbid生産性0396 回インストール今日更新
リポジトリ

email-to-issue について

選択した Outlook のメールスレッドを GitHub での対応案にまとめ、ユーザーが承認した項目だけを登録するスキルです。未解決の issue との照合、公開範囲に応じた起案、返信とアーカイブの手順を含みます。

主な機能

  1. 01フラグ付きまたは指定された Outlook メールの収集
  2. 02メールと未解決 GitHub issue の照合
  3. 03全対応案を一つの承認表に提示
  4. 04承認済みの issue またはコメントを登録
  5. 05権限確認後の返信とアーカイブ

活用シーン

  1. 01フラグ付きメールを GitHub issue に変換
  2. 02既存 issue に新たな根拠を追加
  3. 03登録前にメール起点の対応案を確認
  4. 04登録済みメールスレッドの後処理

MCP 対応

Microsoft 365 コネクターのメールツールを、読み取り、検索、返信、移動、フラグ操作などの機能で利用します。MCP サーバーの指定はありません。

インストール

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

$npx skills add https://github.com/clhbid/agent-context --skill email-to-issue

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

詳細

メールから Issue へ

1 回の実行を一括処理と呼びます。選択した Outlook のスレッドを読み、すべてのスレッドについて 1 つの表を提案し、ユーザーが承認した行のみを issue-tracker で登録します。新しい Issue は Backlog にとどめます。トリアージで振り分け、必要なエージェント向けの概要を作成します。

Microsoft 365 コネクターのメールツールは、名前がコネクターのバージョンによって変わるため、機能(読み取り、検索、返信、移動、フラグ設定)から見つけてください。

メールの権限

一括処理で行うすべてのメール操作は、次の範囲内です。それ以外の操作が必要な場合は、ユーザー自身が手動で行う必要があると伝えてください。

  • 許可される操作:
    • メールの読み取りと検索。
    • 今回の一括処理で Issue に登録したスレッドで、返信を送信する。
    • ステップ 6でユーザーが確認した後、今回の一括処理で Issue に登録したスレッドのフラグを解除し、アーカイブに移動する。
  • 禁止される操作:
    • 下書きを含むメールの削除。
    • サインイン中のユーザー以外へのメールの送信、転送、下書きの作成。
    • カレンダー、ファイル、Teams への書き込み。

一括処理

1. 収集

フラグ付きの受信トレイのスレッドをすべて読むか、ユーザーが件名を指定したスレッドを読みます。件名に一致するスレッドが複数ある場合は、送信者と日付を添えて一覧表示し、どれを対象にするかユーザーに尋ねます。

すでに返信があるスレッドは処理済みとしてスキップします。添付ファイルはメールに残し、そのスレッドに添付ファイルがあることを行に記載します。

完了条件: 処理対象のスレッド一覧があり、各スレッドの送信者、日付、件名が記載されていること。また、処理済みとしてスキップしたスレッドの数が記載されていること。

2. 権限の確認

メールへの書き込みには、次の 2 つの機能が必要です。

  • 返信:宛先を引数として受け取る機能です。送信者だけをあらかじめ入力する返信機能は該当しません。
  • 移動とフラグ設定:アーカイブに移動し、フラグを解除する機能です。

これらの機能がない場合でも、一括処理で Issue を登録できます。ステップ 6では手動で行う項目の一覧を提示します。

完了条件: 今回の一括処理で返信が可能か、フラグ解除とアーカイブが可能かを、ユーザーに 1 行で伝えていること。

3. 照合

組織全体のオープンな Issue を検索し、各スレッドの内容をすでに扱っている Issue があるか確認します。

gh search issues "<key terms>" --owner clhbid --state open --json repository,number,title,url

表現を 2、3 通り試し、一致と判断する前に候補を読みます。一致する場合は、スレッドで追加された情報(新しい証拠や説明)だけを含むコメントにします。一致するものがない場合は、そのスレッドが対象とするリポジトリに新しい Issueを作成します。

完了条件: すべてのスレッドに、提案する操作と対象が設定されていること。

4. 提案

各対象の公開範囲を確認し、機密性に従ってタイトルを下書きします。

gh repo view clhbid/<repo> --json visibility --jq .visibility

一括処理全体を 1 つの表で提示します。

#送信元操作対象公開範囲タイトル種類
1Pat Example([email protected])、3 月 2 日新しい Issueclhbid/<repo>PRIVATE入札データのエクスポートで最後のロットが欠落Bug
2Sam Sample([email protected])、3 月 3 日コメントclhbid/<repo>#123PUBLICタイムアウトの 2 件目の報告—

ユーザーは各行を承認、編集、またはスキップします。それまでは GitHub に変更を加えません。

完了条件: すべての行が承認またはスキップされていること。

5. 登録

承認された各行を、機密性に従って登録します。

  • 新しい Issue: issue-tracker § 組織フォームからの Issue 作成に従って作成し、Backlog に登録されたことを確認します。
  • コメント:gh issue comment <number> --repo clhbid/<repo> を writing-lean のスレッドコメントとして実行します。

完了条件: 承認されたすべての行にリンクがあり、新しい Issue がすべて Backlog として表示されること。

6. 一連の処理を完了する

ファイル済みの各スレッドで、返信を送信します。次に、ファイル済みのスレッドを一覧にして、フラグを解除してアーカイブするスレッドをユーザーに確認します。ステップ4で表を承認しても、この確認にはなりません。ユーザーが確認したスレッドのみを移動します。

書き込みツールがない場合は、ユーザーが手動で返信、フラグ解除、アーカイブできるように、ファイル済みの各スレッドについて、送信者、日付、件名、課題へのリンクを一覧にします。返信があることで、次回の確認でそのスレッドをスキップできます。

完了条件: 確認の概要に各スレッドの課題へのリンクと結果(返信済み、フラグ解除済み、アーカイブ済み、またはユーザーに対応を依頼)を記載し、返信をスキップした場合はその理由もすべて記載します。

返信

スレッドの処理が完了したことを示し、課題へのリンクを付けます。

  1. コネクターのサインイン済みプロフィールからユーザーのアドレスを取得します。見つからない場合、または曖昧な場合は確認します。

  2. 本文を作成します。マーカーを先頭に置きます。

    Filed by /email-to-issue: clhbid/<repo>#<number>
    https://github.com/clhbid/<repo>/issues/<number>
    
  3. 宛先を置き換えます。Toはユーザーのみとし、CcとBccは空にします。

  4. 作成したメッセージからすべての宛先欄を読み戻します。ユーザーのみが宛先である場合に限り、送信します。

  5. 少しでも疑問があれば返信をスキップし、確認の概要にリンクを記載します。下書きが残っている場合は、ユーザーが削除できるようにその旨を記載します。

機密保持

タイトル、本文、コメントは、対象の公開範囲に従います。

  • PRIVATE:機密情報を含め、スレッドの詳細をすべて記載します。
  • PUBLIC:要約して記載します。送信者は役割(「販売者」「入札者」など)で示し、顧客名、連絡先、価格、その他の専有情報は省きます。
  • それ以外、または詳細に確信が持てない場合:確認します。

コメント