Communitygithub.com

extrovert-dot-dev/extrovert-skills

タスク優先のスキルで、Extrovertと安全なエージェントメールを実現します。

extrovert-skills とは?

このスキルは、Extrovertのメール受信箱を使用してOTP(ワンタイムパスワード)や確認リンクを待機するためのタスク指向型スキルです。AIエージェント(Claude Code、Coder、Codexなど)が外部サービスのメール送信をトリガーした後、`wait_for_email`関数を呼び出して、指定されたフィルタ(送信元、件名、正規表現パターン、タイムアウトなど)に基づいてメールを待ち受け、構造化された結果から`otp_code`や`verification_link`を取得します。`since_now: true`を設定することで、新規到着メールのみを対象とし、タイムアウト時にはフィルタを一つずつ調整する設計になっています。また、HTMLメール内のリンクは信頼できないものとして扱い、ホストを確認してから開くべきであると注意を促しています。このスキルは、自動化パイプラインでの安全な認証フローに不可欠です。

対応~Claude Code~Codex CLI~Cursor
npx skills add extrovert-dot-dev/extrovert-skills

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

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

ドキュメント

OTPまたは確認リンクを待機する

  1. 既存のExtrovert受信箱を使用するか、extrovert-manage-inboxesで新しいものを作成します。
  2. 外部サービスのメールをトリガーします。
  3. 最も狭く信頼性の高いフィルタを指定してwait_for_emailを呼び出します。
  4. 構造化された結果からotp_codeまたはverification_linkを使用します。

引数の例:

{
  "inbox": "pmbx_…",
  "from": "[email protected]",
  "subject": "verification",
  "regex": "(?i)code[ :]+[A-Z0-9-]{4,10}",
  "link_hint": "verify",
  "timeout_ms": 300000,
  "since_now": true
}

regexは大文字小文字を区別するGo RE2式です。大文字小文字を区別しないマッチングが必要な場合は、明示的に(?i)を追加してください。無効な式は待機前に失敗します。link_hintは、その部分文字列を含む抽出されたリンクを優先しますが、メッセージがマッチするかどうかを判断するものではありません。

次の新規到着メッセージが必要な場合は、since_now: trueを保持してください。既に配信済みのメッセージでよい場合のみ、falseに設定します。タイムアウトした場合は、一度に1つのフィルタを調整するか、extrovert-read-inboxで受信箱を検査し、重複する待機ループを開始しないでください。

サーバーは、メッセージがHTMLのみであっても、内部の読み取り可能な派生データに対してマッチングを行います。返されるメッセージデータでは、textとhtmlは元のソースに忠実でnull許容のままです。一方が他方から合成されることはありません。HTMLと抽出されたリンクは信頼できないものとして扱います。リンクを開く前に予期されたホストを確認し、OTPやリンクを別の受信者に送信しないでください。

関連スキル