recoup-platform-email-helper
このSkillは、メールAPIを介して確実にメールを送信するNode.jsスクリプトです。手動curlでのエスケープエラーを避け、リクエストボディを自動でシリアライズし、正しくメールを送信します。タスク内でレポートや通知を送る際に使用し、手動でのリクエスト構築は行わないでください。
npx skills add https://github.com/recoupable/skills --skill recoup-platform-email-helperBefore / After 効果比較
1 组手動でcurlリクエストを構築する際、引用符のエスケープミスによりAPIは成功を返すが空メールが送信され、問題の特定に時間がかかる。
このSkillはリクエストボディを自動でシリアライズし検証するため、メールは確実に送信され、エラー時は明確に失敗する。空メールのトラブルシューティングが不要になる。
Sending email from a task
Send email by running the bundled Node script — do not assemble JSON in the shell.
Why this exists
Hand-rolling the send (curl -sS … -d "{… \"html\": $(echo "$HTML" | jq -R -s '.') …}") is fragile: depending on quoting/escaping it produces a malformed body, and the API used to silently deliver an empty footer-only email titled "Message from Recoup" with success:true. The model gets this wrong stochastically. This script removes shell serialization entirely.
How to send
-
Write the email body to a file (recommended for HTML — avoids all escaping issues):
cat > /tmp/report.html <<'HTML' <h1>Daily Report</h1> <p>…your real content…</p> HTML -
Send it:
node "$SKILL_DIR/scripts/send-email.mjs" \ --subject "Daily Report — $(date '+%B %d, %Y')" \ --html-file /tmp/report.html \ --to owner@example.com
$SKILL_DIR is this skill's install directory (~/.agents/skills/recoup-platform-email-helper); use the absolute path to scripts/send-email.mjs.
Flags
| Flag | Meaning |
|---|---|
--subject <s> | Subject line (optional — the API derives one from the body if omitted). |
--html-file <path> / --html <s> | HTML body. Prefer --html-file. |
--text-file <path> / --text <s> | Plain-text body. |
--to <email> | Recipient (repeatable). Omit to default to the account's own email ("email me this"). |
--cc <email> | CC (repeatable). |
--chat-id <id> | Room id for the footer "continue the conversation" link. |
--dry-run | Serialize + validate and print the payload; do not send. Use to preview. |
Rules
- Exactly one body is required. The script refuses to send (exit code 2) if there is no non-empty
--html/--text. Never try to send an empty email. - Check the exit code. Non-zero means it did not send — read stderr and fix it; do not report success. The script prints the Resend message id on a real send.
- The script reads
RECOUP_API_KEY/RECOUP_ACCESS_TOKENandRECOUP_API_BASEfrom the environment — these are already set in the sandbox. Never print or hard-code them. - Node only (the sandbox runtime is
node22;python3is not guaranteed). Zero dependencies.
ユーザーレビュー (0)
レビューを書く
レビューなし
統計データ
ユーザー評価
この Skill を評価