Community生产力与协作github.com

davepartner/email-automation

在应用管理面板内构建一个非侵入式的“邮件自动化”模块:涵盖生命周期提醒(欢迎、购物车放弃、购买后、追加销售、召回)并配有经过验证的漏斗定时策略、个性化文案、免费的所见即所得编辑器、转化统计数据以及仅管理员可见的数据表。系统默认处于暂停状态,并复用应用已有的邮件连接。

email-automation 是什么?

该技能(SKILL)专为 AI 代理(如 Claude Code、Cursor 等)设计,旨在为现有应用的管理后台添加一个功能完整、非侵入式的邮件自动化系统。它的核心价值在于通过观察用户行为,自动将其纳入合适的生命周期序列(如欢迎、购物车放弃、后续跟进等),并发送个性化、一对一的提醒邮件,从而提升用户回访率、购买率和留存率,同时避免对现有系统造成任何破坏。技能支持多种主流开发框架和数据库,其工作流程始于对应用架构的全面分析,然后进行数据模型设计、添加仅包含增量修改的代码和数据库表、挂接事件观察钩子、构建包含免费所见即所得编辑器的管理界面,并最终交付一个默认处于暂停状态的系统。它严格遵循非侵入式设计原则,例如只添加新表而不修改现有表、复用应用已有的邮件连接、所有钩子仅观察而不拦截原生流程,并提供了详尽的管理员界面和健康检查功能。此技能适用于需要快速集成邮件营销或生命周期邮件功能的应用,尤其适合希望在不重写现有系统的情况下提升用户运营效果的场景。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/davepartner/email-automation-AI-Agent-skill/tree/HEAD

Installed? Explore more 生产力与协作 skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

邮件自动化 — 管理面板构建器

在用户现有的管理面板中构建一个世界级的邮件自动化系统。它观察用户行为,将用户纳入正确的生命周期序列,并通过应用自身已配置的邮件连接发送个性化的、一对一的提醒邮件——其背后是由经过验证的漏斗定时策略支撑,而非群发。

目标: 提升用户回访、购买和留存率——不骚扰用户,不破坏任何现有功能。

请先阅读: 本技能从设计上即为非侵入式。它在修改代码前先研究应用,仅添加新的表/路由(从不重写现有流程),复用应用的邮件连接,并且默认处于暂停状态。在管理员明确启用之前,不会发送任何邮件。


工作流程

0. 探索 ─▶ 1. 设计 ─▶ 2. 构建 ─▶ 3. 挂接事件 ─▶ 4. 管理UI ─▶ 5. 验证 ─▶ 6. 交付
   研究应用 +   数据模型    新表/       触发器 →        仪表板 +     空运行 +    暂停 +
   管理面板      + 序列      Worker/Cron 注册           表格 + 统计  预览       "开启?"

0. 探索(强制性,在任何代码之前)

全面研究应用并生成一份简短的集成计划。参见 references/discovery.md。

  • 检测技术栈、框架、ORM/DB、认证、会话以及管理面板(或注意其缺失)。
  • 寻找现有的邮件连接(SMTP/Provider SDK)—— 复用;绝不添加第二个。
  • 映射产品、购物车/结账、订单、用户以及所需的事件。
  • 理解平台的用途和商业模式(电商、SaaS、金融科技、预订……),其激活事件和关键账户步骤——然后提出额外的提醒序列(邮件验证、资料完善、新手指引、KYC、试用/账单、预订、续费……)。
  • 如果没有管理面板,询问用户是否需要创建一个最小化的。

1. 设计

  • 定义数据模型(examples/data-model.md):序列、步骤、注册、预定的邮件、发送日志、设置、抑制列表。
  • 选择序列集和定时策略(references/sequences.md)。

2. 构建(仅增量)

  • 添加新表/集合、一个调度器作业和发送 Worker。不要修改现有表。
  • 添加一个特性开关/主暂停开关(默认关闭)和一个全局终止开关。

3. 挂接事件

  • 将应用现有事件(注册、登录、添加购物车、结账开始、购买、不活跃)连接到注册逻辑——不改其行为(观察,不拦截)。

4. 管理UI

  • 添加一个顶级**“邮件自动化”**菜单,包含选项卡:序列 · 收件人 · 统计 · 设置。参见 references/admin-ui.md。
  • 在产品页面和结账页面底部添加仅管理员可见的已购买/已放弃表格。

5. 验证

  • 空运行模式、预览/测试发送工具、幂等性检查以及停止条件审计。

6. 交付

  • 系统默认暂停。通知管理员,显示一键“开启”(或让代理协助),并记录回滚方法。

序列目录(经过验证的漏斗定时策略)

完整详情、文案意图和停止条件:references/sequences.md。摘要:

#序列触发条件定时(默认)停止条件
1欢迎 / 激活注册0h 欢迎 → 24h 价值 → 72h 社交证明登录 / 购买
2已注册,从未登录注册 + 未登录1h → 24h → 72h登录
3已登录,未购买/使用登录后不活跃1h 提醒 → 24h → 5d购买 / 激活
4放弃购物车 / 结账 / 产品添加购物车、开始结账或浏览产品后未购买1h 提醒(无折扣)→ 24h 社交证明/异议 → 48–72h 紧迫+折扣购买
5购买后评价购买(识别产品类型)次日“使用体验?”→ 2周“体验 + 追加销售”评价 / 退订
6追加销售 / 交叉销售购买且存在其他产品价值时刻后(3–7天)购买推广项目
7召回 / 重新参与不活跃 30 / 60 / 90 天中性 → 价值 → 最终“我们将停止”活跃 / 退订
8补货消耗品约第 45–60 天再次购买

折扣: 追加销售可能带有折扣;放弃购物车带有紧迫+折扣。默认 0% —— 当为0时,邮件绝不能提及折扣。一个最小购物车金额保护会跳过低价值购物车的激励。(references/sequences.md。)

优先级: 一个用户最多只能处于一个促销序列中——购买 > 购物车 > 浏览 > 欢迎 > 未登录 > 不活跃 > 召回。额外序列:浏览放弃、补货、降价、催款、推荐。参见 references/sequences.md。

加上从应用用途派生的平台相关序列——例如邮件验证、资料完成、新手指引设置、KYC、账单/试用结束、预订提醒、续费。仅添加平台能够检测并处理的序列 (references/sequences.md)。


不可妥协的规则

  1. 先研究再构建。 切勿修改现有的认证、购物车、结账、订单或用户流程。仅添加新表/路由。
  2. 复用现有的邮件连接。 不设置第二个 SMTP/Provider。不批量/群发——邮件是面向用户且由事件驱动的。
  3. 默认暂停。 主开关关闭;管理员会收到通知去开启(代理可提供协助)。
  4. 绝不滥发邮件。 频率上限(默认 ≤1 封营销邮件/用户/24h,≤4 封/周)、静默时段和一个全局抑制列表(已退订、已退回、已投诉)。尊重兴趣和同意。
  5. 停止条件始终优先。 在每次发送前重新检查目标(购买/登录/激活),确保已购买用户不会收到购物车提醒。
  6. 个性化、一对一的文案。 “发件人”来自一个真实的人(品牌名称),用语个性化,提及具体产品,一个清晰的CTA,并且在每封邮件中包含**“联系管理员”**链接。
  7. 可送达性 + 合规性。 SPF/DKIM/DMARC、品牌化发送域名、HTML + 纯文本、退订 + 实际地址、无垃圾邮件触发词。参见 references/sending-and-compliance.md。
  8. 一切皆可审计。 每次发送都会被记录(谁、哪个序列/步骤、何时、为什么),并且每封预定的邮件在管理面板中都可见。
  9. 美观 + 无缝。 匹配应用的视觉设计语言;管理部分必须看起来像原生功能。使用像reviews-to-features那样的严谨风格:清晰的层级、44px 点击目标、可访问的对比度。
  10. 免费的所见即所得邮件正文编辑器。 管理员可以在一个免费的、自托管的所见即所得编辑器(TinyMCE Community;或者 Quill / TipTap / Summernote / GrapesJS)中编辑每个邮件模板。输出必须是邮件安全的(内联CSS、表格、~600px宽度、无JS)、经过清理、包含合并令牌、一个条件性折扣块以及自动生成的纯文本副本。

非侵入式契约(强制执行)

“非侵入式”是需要验证的,而非假设。完整清单:references/non-disruption.md。最低要求:

  • 备份数据库后再进行迁移;迁移是增量且可逆的(不修改现有表)。
  • 钩子是仅观察模式,并用 try/catch 包裹——一个失败的观察者绝不能破坏注册/登录/结账/支付。
  • 默认暂停并带有全局终止开关;复用现有的邮件连接。
  • 安装后冒烟测试所有五个核心流程;执行回滚演练(禁用 → 删除表 → 确认未被触及其他内容)。

管理员界面(管理员能看到什么)

  • 平静、不杂乱的布局——≤4 个选项卡,每个视图一个主要操作,详情在抽屉中,次要/破坏性操作在溢出 (⋯) 菜单中,高级设置折叠,仅在需要时显示健康横幅。
  • 每个选项卡顶部的健康横幅(仅在有问题时显示):未配置邮件传输、调度器/Cron 未运行(包含详细原因和修复方法),以及自动化暂停。参见 references/health-checks.md。
  • 邮件自动化菜单(顶级),包含选项卡:
    • 序列 — 每个序列的开始 / 暂停 / 删除(删除需确认且为软删除/可恢复,隐藏在 ⋯ 中)、延迟、折扣、停止条件、一个免费的所见即所得编辑器,以及添加 / 重新排序 / 删除步骤。
    • 用户与收件人 — 通过电子邮件搜索用户;使用向下箭头展开他们的邮件序列;取消特定邮件或完全排除用户;以及完整的发送日志每页 100 条,包含何时和为何。
    • 统计 — 收到提醒的用户中,有多少人转化,收入,按天 / 周 / 月的图表。
    • 设置 — 发件人(发件人姓名/发件人邮箱/回复地址/实际地址)、主暂停、频率上限、静默时段。
  • 产品页面和结账页面底部的管理员专用表格:
    • 选项卡 已购买 / 已放弃 — 明确标记着 "仅管理员可见"。
    • 列:邮箱(→ 用户面板)、注册/登录/放弃日期时间、潜在支付金额、电话(→ tel: 呼叫),以及一个箭头,展开显示已接收 + 已预定邮件,并可链接到用户面板进行取消/排除。
    • 可从邮件自动化 → 设置中禁用,表格标题下包含说明和链接。

完整 UI 规范:references/admin-ui.md。


何时不使用

  • 没有合法的营销邮件同意基础(先提供同意流程)。
  • 用户基数非常小,自动化噪音超过价值——手动发送。
  • 产品不适合邮件渠道(SMS/推送优先)——适配引擎,不要强推邮件。
  • 受监管场景(健康/金融)需要更严格的审查——获得文案和数据流程的批准。
  • 高安全性的交易类需求——切勿通过此系统发送收据/安全邮件。

代理产出的交付物

  1. references/discovery.md → 针对特定应用的集成计划,包括一个根据平台用途推导出的推荐序列清单。
  2. 新表/迁移 + 调度器 + 发送 Worker(增量添加)。
  3. 事件钩子(仅观察)。
  4. 管理“邮件自动化”页面 + 选项卡 + 统计图表,包括一个免费的所见即所得编辑器、添加 / 重新排序 / 删除步骤、用户搜索 + 单封邮件取消 / 排除,以及健康警告(暂停、Cron 未运行、无邮件传输)。
  5. 管理员专用的已购买/已放弃表格。
  6. 预览/测试发送工具 + 空运行 + 回滚说明。
  7. 一份简短的交付文档:添加了什么,如何开启,如何暂停,如何回滚。

参考资料

  • references/discovery.md — 研究应用,找到管理面板,选择集成路径。
  • references/non-disruption.md — 强制执行的破坏性最小化契约(备份、可逆迁移、钩子隔离、冒烟测试、回滚演练)。
  • references/triggers.md — 每个触发器的精确检测规则(购物车放弃、不活跃等)。
  • references/sequences.md — 完整的序列目录、优先级、定时、文案意图、停止条件。
  • references/email-copy.md — 个性化“来自一人”的文案标准、主题行、模板。
  • references/sending-and-compliance.md — 调度器、幂等性、频率上限、可送达性预检。
  • references/compliance.md — 同意、签名退订、偏好中心、退回/投诉 Webhook。
  • references/admin-ui.md — 仪表板、用户选项卡(搜索/取消/排除)、日志(每页 100 条)、统计、管理员专用表格、所见即所得、添加/编辑步骤。
  • references/health-checks.md — 暂停 / Cron 未运行 / 无传输警告及修复指南。
  • references/reference-implementation.md — 伪代码 + SQL 中的引擎(锁定、回收者、归因)。
  • examples/worker.mjs + examples/worker.test.mjs — 可执行、经过测试的调度器/Worker 核心。
  • examples/data-model.md — 数据库 Schema。
  • examples/sequence-config.json — 一个具体的、可编辑的序列配置。
  • examples/email-templates.md — 示例渲染邮件。

相关技能