mcpField
R
recoup-platform-email-helper

recoup-platform-email-helper

github.com/recoupable生産性95.0k 回インストール1 日前に更新
リポジトリ

recoup-platform-email-helper について

タスクからRecoupメールを送るための、Nodeスクリプト付きスキルです。テキストまたはHTML本文のシリアライズと検証を行い、送信前に確認できるdry-runにも対応します。

主な機能

  1. 01Nodeスクリプトによるメール送信
  2. 02HTMLとプレーンテキスト本文に対応
  3. 03複数宛先とCCに対応
  4. 04dry-runでペイロードを検証
  5. 05空の本文の送信を拒否
  6. 06終了コードを確認しメッセージIDを表示

活用シーン

  1. 01日次またはタスク報告の送信
  2. 02複数宛先へのメール送信
  3. 03メールペイロードの確認と検証
  4. 04送信失敗や空本文の原因調査

インストール

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

$npx skills add https://github.com/recoupable/skills --skill recoup-platform-email-helper

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

同梱ファイルscripts/send-email.mjs

詳細

タスクからメールを送信する

同梱の Node スクリプトを実行してメールを送信します。シェルで JSON を組み立ててはいけません。

これが必要な理由

手作業で送信リクエストを作成する方法(curl -sS … -d "{… \"html\": $(echo "$HTML" | jq -R -s '.') …}")は脆弱です。引用符やエスケープの方法によっては、不正な本文が生成され、API が以前は success:true を返しながら、フッターのみの空メールを "Message from Recoup" という件名でひそかに送信していました。モデルはこの処理を確率的に誤ります。このスクリプトを使えば、シェルでのシリアライズを完全に避けられます。

送信方法

  1. メール本文をファイルに書き込みます(HTML の場合は、エスケープの問題をすべて回避できるため推奨します)。

    cat > /tmp/report.html <<'HTML'
    <h1>Daily Report</h1>
    <p>…your real content…</p>
    HTML
    
  2. 送信します。

    node "$SKILL_DIR/scripts/send-email.mjs" \
      --subject "Daily Report — $(date '+%B %d, %Y')" \
      --html-file /tmp/report.html \
      --to [email protected]
    

$SKILL_DIR は、このスキルのインストールディレクトリ(~/.agents/skills/recoup-platform-email-helper)です。scripts/send-email.mjs には絶対パスを使用してください。

フラグ

フラグ意味
--subject <s>件名(省略可能です。省略した場合、API が本文から件名を生成します)。
--html-file <path> / --html <s>HTML 本文です。--html-file を推奨します。
--text-file <path> / --text <s>プレーンテキスト本文です。
--to <email>宛先(複数回指定できます)。省略すると、アカウント自身のメールアドレス(「自分にメールする」)が既定で使用されます。
--cc <email>CC(複数回指定できます)。
--chat-id <id>フッターの「会話を続ける」リンクに使用するルーム ID です。
--dry-runシリアライズと検証を行い、ペイロードを出力します。送信は行いません。プレビューに使用してください。

ルール

  • 本文は必ず 1 つ指定してください。 --html/--text に空でない値がない場合、スクリプトは送信を拒否し(終了コード 2)、終了します。空のメールを送信しようとしてはいけません。
  • 終了コードを確認してください。 0 以外の場合は送信されていません。標準エラー出力を読み、修正してください。成功したと報告してはいけません。実際に送信すると、スクリプトは Resend のメッセージ ID を出力します。
  • スクリプトは環境変数から RECOUP_API_KEY/RECOUP_ACCESS_TOKEN と RECOUP_API_BASE を読み込みます。これらはサンドボックスですでに設定されています。表示したり、コードに直接記述したりしてはいけません。
  • Node のみを使用してください(サンドボックスのランタイムは node22 です。python3 は利用できるとは限りません)。依存関係はありません。

コメント