email について
`autark mail` コマンドラインで AgentMail の送受信や閲覧を行うスキルです。下書きの確認、メール形式の選択、営業連絡とリード記録の連携を扱います。
主な機能
- 01コマンドラインで送信・返信
- 02スレッドと添付ファイルの閲覧
- 03メール下書きのチェック
- 04営業連絡をリード記録に保存
- 05HTML とテキスト形式の選択
活用シーン
- 01リードに紐づく営業メールの送信
- 02既存のメールスレッドへの返信
- 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)を使うと、後から正しいスレッドに返信できます。