mcpField
E
email

email

github.com/kiluazen生産性165 回インストール4 週間前に更新
リポジトリ

email について

`autark mail` コマンドラインで AgentMail の送受信や閲覧を行うスキルです。下書きの確認、メール形式の選択、営業連絡とリード記録の連携を扱います。

主な機能

  1. 01コマンドラインで送信・返信
  2. 02スレッドと添付ファイルの閲覧
  3. 03メール下書きのチェック
  4. 04営業連絡をリード記録に保存
  5. 05HTML とテキスト形式の選択

活用シーン

  1. 01リードに紐づく営業メールの送信
  2. 02既存のメールスレッドへの返信
  3. 03受信トレイのメールと添付の確認

インストール

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

$npx skills add https://github.com/kiluazen/kstack --skill email

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

同梱ファイルagents/openai.yaml

詳細

メール

各 autark ユーザーには、オンボーディング時に専用の AgentMail 受信トレイがプロビジョニングされます。メール送信、返信、受信トレイの読み取りはすべて autark mail CLI を経由します。この CLI はすでに ~/.autark/credentials.json で認証されています。api.agentmail.to を直接呼び出さないでください。agentmail npm CLI も使用しないでください。

認証

autark mail は、呼び出しのたびに ~/.autark/credentials.json から受信トレイのトークンとアドレスを読み取ります。環境変数の設定や認証フラグの指定は不要です。コマンドが missing agentmail_token というエラーを返す場合、ユーザーのセットアップが完了していません。autark mail setup --prefix <name> を一度実行してください。

環境で設定されている場合、AGENTMAIL_API_KEY/AGENTMAIL_EMAIL/AGENTMAIL_INBOX_ID はオーバーライドとして使用されます。これは、デフォルト以外の受信トレイを使う場合にのみ便利です。

プレーンテキストと HTML — 適切なフラグを選ぶ

CLI は --text と --html の両方を受け付けます。これは AgentMail/Mailgun/SendGrid/Resend/Postmark の慣例に準じています。

  • --text @file — text/plain として送信されます。受信者にはバイト列がそのまま表示されます。HTML タグ(<div>、<p>、<br>、<a> など)は、受信者の受信トレイに文字どおりのテキストとして表示されます。
  • --html @file — text/html として送信されます。受信者のメールクライアントは、実際のリンクや段落の区切りなどを含む、スタイル付きメールとしてレンダリングします。

営業メールの署名に関するルール: メールの署名やフッターにリンクを入れる場合は、リンクを単語に埋め込む必要があります(たとえば、「kushal」という名前自体をクリック可能なリンクにします)。URL だけを単独の行に記載してはいけません。URL だけの署名は autark が送信する形式ではありません。

リンクを埋め込んだ署名にするには、--html を使う必要があります。--text を使うと、<a href> マークアップが Gmail/Outlook で文字どおりのテキストとして表示されます。2026-05-28 に発生した問題はこれが原因です。--text に <a href="https://autark.sh">kushal</a> を指定して6件のコールドメールを送信した結果、受信者全員の Gmail にマークアップがそのまま表示されました。事後分析については autark/docs/email-html-in-text-incident.md を参照してください。

送信メールに署名リンクがない場合(登録確認、テスト送信、システムメッセージなど)は、プレーンテキストの --text で問題ありません。

送信前にすべての下書きを lint する

autark mail send の前に、すべての下書き(送信と返信の両方)に対して autark mail lint を実行します。

autark mail lint --body @draft.txt

終了コード 0 = 問題なし。終了コード 1 = 違反が JSON で出力されます。各項目には rule、detail、why が含まれます。出力はゲートではなくフィードバックとして扱ってください。ルールはよくある AI らしい表現を検出しますが、実際には問題のない下書きに誤検出することもあります。それぞれの why を読み、そのルールが今回のメッセージに当てはまるか判断し、妥当なものは修正し、当てはまらないものは無視してください。目指すのは「lint の終了コードが 0」ではなく、「本物の人間が書いたメールとして自然か」です。

Lint が検査するのはコンテンツの品質のみです。AI らしい表現、曖昧さ、長さ、署名の形式を確認します。マークアップの書式はチェックしません(それは上記の規約とあなたの判断に委ねられます)。送信する本文を lint してください。--html を送信する場合は HTML ファイルを、--text を送信する場合はテキストファイルを lint します。どちらの場合も、lint は文章を読み取ります。

Lint のチェック項目:

  • structure-word — 本文内の AI らしい語彙(structurally、fundamentally、specifically、essentially、the key insight、that's exactly など)。コールドメールを書くとき、人はこうした言葉を使いません。内容を直接説明してください。
  • em-dash — — 文字が含まれていないか。アウトバウンドメールでは、AI らしさが強く出ます。コンマ、ピリオド、または改行を使ってください。(相手自身がこれを使っていて、文体を合わせる場合は無視して構いません。)
  • body-url — Markdown の [name](url) または HTML の <a href> アンカーの外に URL が含まれていないか。製品リンクは署名のアンカーに入れてください。本文途中の裸の URL は A/B テスト用の別案のように見えます。
  • too-many-questions — ? が 1 つより多くないか。最も有用な情報を得られる質問を 1 つだけ選んでください。(複数の直接的な質問に回答する返信では、無視して構いません。)
  • compound-question — 「are you X or Y...?」のようなパターン。or を削除し、より具体的な方を選んでください。
  • too-long — 署名より前が 400 文字を超えていないか(短い行で約 4~6 行)。これを超えると、質問ではなく説明になってしまいます。
  • no-anchor-sig — 署名にクリック可能な名前リンクがあるか。署名内に <a href> または [name](url) がないと、相手があなたのことをすぐに確認できません。

ほとんどの違反が妥当で、2 回書き直しても問題のない下書きにできない場合は、正規表現より上流に問題があります。~/.claude/skills/outreach/SKILL.md を読み直し、そもそも送信すべきか考えてください。

メッセージを送信する — コールドアウトリーチ(HTML、埋め込みリンク付き署名)

autark mail send \
  --to [email protected] \
  --subject "Subject" \
  --html @./body.html \
  --lead-id $LEAD_ID

body.html:

<p>Hi Karl,</p>
<p>one sentence quoting them.</p>
<p>one sentence on what you built.</p>
<p>one specific question?</p>
<p>best,<br><a href="https://autark.sh">kushal</a></p>

受信者には、「kushal」が autark.sh へのクリック可能なリンクになったスタイル付きメールが表示されます。これは、コールドアウトリーチを送信する際の標準形式です。

アウトリーチでは、必ず --lead-id を指定してください。 1 つのコマンドで、メールの送信、リードへの touch の記録(方向は out、thread_ref は AgentMail のスレッド)、リードの状態の ready → contacted への更新を一括で行います。送信処理がそのまま記録処理になります。別途、ステータス変更やログ記録のコマンドを実行する必要はありません。その後、ワーカースイープが該当スレッドをポーリングし(contacted および replied のリードが対象)、受信した返信を自動で記録します。リード ID は autark lead list <slug>/autark lead show <id> から取得するか、ダッシュボードから取得してください(リードの行をクリックすると ID がコピーされます。?lead=<id> のリンクにも ID が含まれます)。

--run-id も引き続き使えますが、これはレガシーの v1 アクションログです。リードシートには反映されず、ダッシュボードでは履歴として扱われます。シート上のリードへのアウトリーチには使用しないでください。

その他のフラグ:--cc、--bcc、--reply-to、--label、--attachment(それぞれ、繰り返し指定またはカンマ区切りで指定可能)、送信せずにペイロードを表示する --dry-run。

レスポンスは message_id、thread_id、および(--lead-id を指定した場合は)touch/リードのレコードを含む JSON です。保存してください。

メッセージを送信する — アウトリーチ以外(プレーンテキスト、リンクなし)

サインアップ確認、テスト送信、システムメッセージ、または署名リンクを気にする必要がない送信の場合:

autark mail send \
  --to [email protected] \
  --subject "Subject" \
  --text @./body.txt

ここではプレーンな --text で問題ありません。リードがないため --lead-id は指定しません。シートには何も記録されません。

スレッドで返信する

autark mail reply \
  --message-id "$MESSAGE_ID" \
  --html @./reply.html \
  --lead-id $LEAD_ID

形式のルールは同じです。返信に署名リンクが含まれる場合は、--html を使用してください。署名リンクのない一文への一文での返信なら、--text で問題ありません。

$MESSAGE_ID は返信先メッセージのメッセージ ID です(受信したメッセージ、または自分が最初に送信したメッセージ)。これは mail send/mail message/mail thread が返します。

相手からまだ返信がない場合のフォローアップ: 通常の返信は、対象メッセージの送信者に宛てられます。送信者は自分なので、自分の受信トレイに送信されます。自分が最後に送ったメッセージへのフォローアップでは、--to [email protected] を明示してください。

すべての宛先に返信するには autark mail reply-all を使用し、転送するには autark mail forward --message-id <id> --to <addr> [--html @body.html] を使用します。

受信トレイを読む

autark mail threads [--limit 30]               # list threads
autark mail thread <thread_id>                 # one thread + all messages
autark mail messages [--limit 30]              # flat message list
autark mail message <message_id>               # single message
autark mail raw <message_id>                   # full raw payload
autark mail attachment --message-id <id> --attachment-id <id> [--out file]

出力はすべて JSON です。認証フラグは不要です。認証情報はディスクから読み込まれます。

代替手段

AgentMail に autark mail がまだラップしていない新しいエンドポイントが追加された場合:

autark mail request GET /inboxes/$EMAIL/some/new/endpoint
autark mail request POST /inboxes/$EMAIL/foo --body @payload.json

同じ認証済みセッションを再利用します。ラップ済みコマンドで対応できない場合に限り使用してください。

ルール

  • 署名にリンクが含まれるメールを送信する場合は、リンクを名前に埋め込むため --html を使用してください。URL をそのまま記載した署名は、autark が送信する形式ではありません。
  • 署名リンクを含まないメール(登録確認、システム通知、テスト送信)では、通常の --text で問題ありません。
  • すべての下書き(送信と返信)を lint してください。出力はフィードバックとして扱い、該当しないルールは適用しないでください。
  • すべての営業メールの送信・返信で --lead-id を指定し、接触履歴をリードシートに記録するとともに、返信確認でスレッドを監視できるようにしてください。
  • 名前とドメインからメールアドレスの候補を推測しないでください。初回連絡の前に email-finder スキルを使用し、具体的な情報源(Apollo、GitHub のコミットなど)でアドレスを確認してください。
  • 相手の価値が高い場合や情報源が不確かな場合は、別の情報でも裏付けを取ってください。
  • アドレスがハードバウンスした場合は、送信対象から除外して先に進んでください。近い候補のアドレスを試さないでください。
  • 登録、確認リンク、Apollo での調査にブラウザーが必要な場合は、chrome-relay スキルを使用してください。
  • リードの接触ログが正式な記録です。autark lead show <id> で、すべての送信と返信を時系列順に確認できます。mail send の応答(message_id と thread_id)を使うと、後から正しいスレッドに返信できます。

コメント