← 返回 Skills 市场
quanli-gif

FlashRev AI Mailer

作者 quanli-gif · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
28
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install flashrev-ai-mailer
功能描述
Use this skill when an AI agent needs to prepare, personalize, validate, queue, send, monitor, or export FlashRev-powered email outreach campaigns through th...
使用说明 (SKILL.md)

FlashRev AI Mailer

Use the flashrev-mailer CLI to run personalized email campaigns with FlashRev mailbox pools, recipient validation, throttled scheduling, and detailed send logs.

Prerequisites

These items must be set up by the human operator. The agent's role is to verify each one and guide the user to fix anything missing — never attempt to install software, generate API keys, or modify the user's shell environment unattended.

  • Node.js ≥ 20 is installed and on PATH.
  • CLI is installed globally by the user: npm install -g flashrev-ai-mailer. Verify with flashrev-mailer --help.
  • FlashRev API key is generated by the user at https://info.flashlabs.ai/settings/privateApps and exported as a shell environment variable (export FLASHREV_API_KEY="...", optionally appended to ~/.zshrc or ~/.bashrc for persistence). To use a different variable name, set flashrev.apiKeyEnv in .flashrev/config.json — but the key value itself must always stay in the environment, never inside any config file (see Safety rules).
  • Base URL is initialized once per workspace. The agent may run flashrev-mailer init --base-url "\x3Curl>" after the user confirms the URL; this writes .flashrev/config.json. To overwrite an existing config, append --force.
  • Outbound network access to the FlashRev API host and to the SMTP servers returned per mailbox (e.g. smtp.gmail.com:465). Sending dials SMTP directly via nodemailer.
  • Workspace is writable — campaign state, queue, and send logs are persisted under the current working directory.

Run flashrev-mailer doctor (or flashrev-mailer doctor --check-api for a live probe) before any campaign step. If a check fails, stop the workflow, tell the user exactly which prerequisite is missing with the command or link to fix it, and wait — do not proceed to import / queue / send until the user reports it resolved.

Required confirmations

Each item below is a business decision the agent must explicitly align with the user before proceeding — do not assume defaults.

  • Contact source is approved: CSV, TSV, public CSV URL, Google Sheets CSV/export URL, or Clay CSV export.
  • The email column and personalization fields are understood (list them back to the user for confirmation).
  • The campaign goal, offer, tone, sender identity, and call to action are approved.
  • Sending timezone, weekday/window, and frequency are approved.
  • The user has reviewed drafts and explicitly approved live sending.

Workflow

Prerequisites must be satisfied first (see above). All commands assume CAMPAIGN_ID is lowercase-kebab-case (e.g. launch-001); the CLI will slugify other forms internally, but mixing styles between commands causes lookups to fail. Pick one ID per campaign and reuse it verbatim.

  1. Confirm sender poolflashrev-mailer mailboxes lists FlashRev-provisioned sender mailboxes. Confirm at least one usable mailbox exists and align with the user on which sender identity will run this campaign. If the list is empty, stop and ask the user to provision mailboxes in FlashRev before continuing.
  2. Import contacts: flashrev-mailer import --campaign CAMPAIGN_ID --source contacts.csv Report the "Email syntax invalid" count back to the user. If non-zero, ask whether to clean the source CSV before continuing.
  3. Validate recipients: flashrev-mailer validate --campaign CAMPAIGN_ID --limit 200 For lists over 200 contacts, run validate in batches and report progress between batches; this also avoids exhausting the FlashRev verification quota in a single call.
  4. Draft personalized content. For template drafting: flashrev-mailer draft --campaign CAMPAIGN_ID --subject-template "..." --body-template "..."
  5. Queue only eligible contacts: flashrev-mailer queue --campaign CAMPAIGN_ID --require-validation --timezone Etc/GMT+5 --window 09:00-17:00 --min-interval 10
  6. Dry-run a small batch first: flashrev-mailer send --campaign CAMPAIGN_ID --limit 5 --dry-run --yes Always set --limit explicitly (the CLI default is 25). Show a few rendered drafts to the user; have them confirm subject and body wording before any live send.
  7. Send live in small batches, only after explicit user approval: flashrev-mailer send --campaign CAMPAIGN_ID --limit 10 --live --yes Re-confirm with the user between batches before raising --limit. Never send the entire queue in one call.
  8. Review and export results: flashrev-mailer status --campaign CAMPAIGN_ID flashrev-mailer export --campaign CAMPAIGN_ID --format csv --out results.csv

Personalization guidance

  • Use contact fields as template variables, for example {{first_name}}, {{company}}, and {{focus}}.
  • Use {{field|fallback}} when a field may be blank.
  • Keep every generated email grounded in available contact fields or user-approved research.
  • Ask for approval when the campaign goal, offer, or tone is ambiguous.
  • Do not invent private facts about a recipient.

Safety rules

  • Never print or store API keys in campaign exports, logs, or chat output.
  • Keep API keys in environment variables only. Do not write the key into .flashrev/config.json (or any other on-disk config) even when the user asks for "convenience" — config files persist on disk, sync to cloud drives, and can leak into git history. If a different variable name is needed, set flashrev.apiKeyEnv (the variable name, not the value).
  • Do not send to syntax-invalid, opted-out, suppressed, or validation-failed recipients.
  • Treat risky, catch-all, accept-all, or unknown validation results as not deliverable unless the user explicitly approves otherwise.
  • Always queue with --require-validation unless the user explicitly opts out.
  • Minimum interval must stay at or above 10 minutes per sender mailbox — this is a hard lower bound, not negotiable.
  • Always pass --limit to send; never let the implicit default (25) decide batch size. Live sends should start small (≤ 10) and scale up only with re-confirmation.
  • Never pass --send-future to send. It bypasses the scheduled time and the working-hour window, which defeats throttling and could trigger spam-trap responses from upstream SMTP providers.
  • Use --dry-run --yes before live sending.
  • Use --live --yes only after the user approves final drafts, schedule, sender pool, and recipient set.

API adapter notes

The default endpoints in src/config.js reflect FlashRev's confirmed contract: mailbox listing, recipient verification, and SMTP credential retrieval. Sending uses the SMTP credentials returned by FlashRev to dial the upstream SMTP server (e.g. smtp.gmail.com:465) directly via nodemailer; FlashRev does not expose a generic send endpoint. For request/response shapes, see references/api_contract.md.

安全使用建议
Install only after verifying the FlashRev npm package and publisher, and do not provide production API keys until you trust the CLI and the workspace configuration. Before any live sending, inspect `.flashrev/config.json`, keep credentials in environment variables, run a dry run, review drafts, and approve each small live batch manually.
功能分析
Type: OpenClaw Skill Name: flashrev-ai-mailer Version: 1.0.0 The flashrev-ai-mailer skill provides a comprehensive and safety-conscious framework for an AI agent to manage email outreach campaigns via a dedicated CLI. The instructions in SKILL.md explicitly forbid the agent from performing high-risk actions unattended, such as installing software or generating API keys, and mandate strict adherence to security practices like keeping secrets in environment variables rather than configuration files. The workflow emphasizes human-in-the-loop verification, batch limits, and dry-runs, showing no evidence of malicious intent or unauthorized data exfiltration.
能力标签
requires-oauth-tokenrequires-sensitive-credentials
能力评估
Purpose & Capability
The stated purpose matches the documented workflow: importing contacts, validating recipients, drafting, queueing, and sending FlashRev email campaigns. The capability is still high-impact because it can send real outreach emails.
Instruction Scope
The SKILL.md includes user-confirmation, dry-run, batching, and recipient-validation safeguards, but the live-send path still uses non-interactive CLI flags and sends real messages.
Install Mechanism
There is no included runnable code or install spec; the user is directed to install a global npm CLI from outside the reviewed artifacts. That external CLI would handle sensitive credentials and sending authority.
Credentials
The workflow requires outbound API/SMTP access and uses workspace configuration that can override API endpoints, so users should verify the workspace config before exposing API keys or recipient data.
Persistence & Privilege
The artifacts disclose that API keys should stay in environment variables, SMTP credentials are cached in memory during sends, and campaign state/logs persist under the workspace. The registry metadata does not declare a primary credential, but the SKILL.md and API contract do disclose the credential requirement.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install flashrev-ai-mailer
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /flashrev-ai-mailer 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release
元数据
Slug flashrev-ai-mailer
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

FlashRev AI Mailer 是什么?

Use this skill when an AI agent needs to prepare, personalize, validate, queue, send, monitor, or export FlashRev-powered email outreach campaigns through th... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 28 次。

如何安装 FlashRev AI Mailer?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install flashrev-ai-mailer」即可一键安装,无需额外配置。

FlashRev AI Mailer 是免费的吗?

是的,FlashRev AI Mailer 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

FlashRev AI Mailer 支持哪些平台?

FlashRev AI Mailer 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 FlashRev AI Mailer?

由 quanli-gif(@quanli-gif)开发并维护,当前版本 v1.0.0。

💬 留言讨论