mcpField
E
email-prompt-building

email-prompt-building

github.com/extruct-ai营销与增长11147 次安装4 周前更新
代码仓库

关于 email-prompt-building

这项设计阶段技能根据营销背景、研究和假设,编写定稿的冷邮件序列。它定义固定文案、占位符和路由规则,后续渲染通过确定性替换完成,而非逐行使用大模型写信。

主要功能

  1. 01为每封邮件撰写定稿文案
  2. 02声明输入占位符及缺失回退
  3. 03定义完整变体和路由规则
  4. 04设置序列节奏与主题行
  5. 05检查文案和模板一致性

适用场景

  1. 01为营销活动构建冷邮件序列
  2. 02按细分群体或角色调整邮件变体
  3. 03准备确定性邮件渲染所需模板

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/extruct-ai/gtm-skills --skill email-prompt-building

安装后在 Claude Code 中输入/email-prompt-building确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
email-structures.md
example-sequence.md
prompt-patterns.md

详细介绍

冷启动邮件模板构建器

设计一套冷启动外联序列,并将其提交为一组固定模板:每次触达实际获批的文案,包含 {{input_field}} 占位符和变体路由规则。此技能负责构思——探索切入角度、提出痛点假设、确定序列走向、挑选证明材料——并将结果写入最终文案。

之后由 email-generation 通过简单的确定性替换来渲染模板。运行时不会有大模型逐行编写邮件。

架构原则

此技能用于设计阶段。它会敲定文案,不会把决策留给运行时模型。

此技能的旧版本会生成一段 LLM 指令提示词,再让逐行运行的模型撰写每封邮件。此做法已弃用。如今,逐行差异仅通过两种方式表达:(1)上游填充的 {{input_fields}};(2)由路由键选取的离散变体模板。其余内容在整个批次中完全一致。

                       DESIGN TIME (this skill)
                       ┌─────────────────────────────────────┐
context file ─────────▶│  explore angles, pick hypotheses,    │
research / hypotheses ▶│  decide sequence arc, choose proof   │──▶ template set (sequence.md)
enrichment field list ▶│  → commit to FINAL COPY              │     • real copy per touch
                       └─────────────────────────────────────┘     • {{input_field}} placeholders
                                                                    • variant-routing rules
                                                                    • Input Fields contract

                       FILL TIME (normalization + enrichment skills)
                         contacts ─▶ populate every declared input field

                       RENDER TIME (email-generation skill)
                         template + filled CSV ─▶ deterministic render ─▶ emails CSV

此技能读取的内容(输入)

所有输入均位于调用此技能的 GTM 项目中(路径相对于项目;具体布局由项目决定,而非由此技能决定)。

输入要提取的内容
公司背景文件语气、发件人、价值主张、证明材料库、关键数据、禁用词
活动研究已验证的数据点、统计数据、工具对比
假设集编号假设及其作用机制和证据
丰富字段列表可用的 {{input_fields}},以及它们来自哪个丰富或标准化步骤
活动简报目标垂直领域、角色类型、序列长度

此技能生成的内容(输出)

一组模板集——每个活动对应一个序列文件,其中包含:

  1. 序列概览——触达次数、发送节奏、变量列表
  2. 每次触达的文案——每封邮件的最终获批文本,逐字呈现,并在文中使用 {{input_field}} 占位符。不是撰写规则,而是实际文案。
  3. 变体路由规则——触达包含变体时,指定路由键及各变体的适用条件(例如:Touch 3: segment == "enterprise" → variant A, else → variant B)
  4. 输入字段约定(见下文)——列出每个 {{field}}、其来源和缺失时的回退方式
  5. 主题行——仅首次触达使用;后续跟进使用空主题,以接续邮件线程
  6. 备注——说明选择各切入角度的原因、采用的语气规则,以及有意排除的内容

参见 references/example-sequence.md,了解完整的输出示例。

输入字段约定

模板中的每个 {{placeholder}} 都必须在表格中声明——这是填充和渲染步骤之间的约定。缺少已声明字段时,渲染会明确报错;存在未声明的占位符则属于错误。描述来源时,应说明其角色(例如标准化步骤、分类丰富列),而非任何特定项目中的文件路径。

字段来源(按角色说明)缺失时的回退方式
{{first_name}}姓名标准化步骤跳过该联系人
{{company_name}}名称标准化步骤跳过该联系人
{{industry}}行业分类丰富列删除使用该字段的从句(提供不含 {{industry}} 的变体)
{{segment}}(路由键)客户细分分类丰富列路由到默认变体

如果某个字段需要逐行撰写个性化内容(例如专属的一句话开场白),它仍然属于输入字段——应由上游的 LLM 丰富列生成,而非由此技能或渲染阶段生成。

构建活动模板集

步骤 1:读取上游数据

读取项目的公司背景文件、营销活动调研和假设集。

同时确认丰富字段列表——实际会提供哪些 {{input_fields}},以及它们来自哪个丰富或规范化步骤。只使用能保证会填充的字段。

检查角色分布。 如果联系人列表包含多个角色(高管 + IC + 运营人员),则为每个角色群组分别构建一套模板。试图适用于所有角色的一套模板会显得空泛。

步骤 2:探索切入角度,然后敲定文案

这是核心工作。没有运行时模型来“逐行推敲”——这项技能必须直接敲定文案。

  • 针对每个假设,找出最有力地切入痛点的方式。探索多个角度。
  • 将切入角度映射到序列:每个有力的角度都作为一次 触达(触达 1 = 角度 A,触达 2 = 角度 B,……)或一次触达的变体。多触达序列让你能从多个角度呈现问题,而不必把所有内容塞在一起。
  • 为每次触达撰写最终文案。写出实际句子,而不是“围绕 X 撰写一封 P1 邮件”。
  • 按照背景文件中的语气规则撰写(语气、限制、禁用词)。不要自行设定语气。
  • 仅在确实需要针对每行替换时才放置 {{input_field}} 占位符。其他内容都应为固定文案。
步骤 3:定义变体和路由

当某次触达需要因细分群体或角色而有所不同时,请将每个变体写成独立且完整的文案——绝不要在单个模板中使用“如果是企业客户,就说 X”这样的条件语句。声明路由键和每个变体的条件。变体数量保持精简(2-3 个);每个都应是一封完整邮件。

步骤 4:编写输入字段约定

按照上表声明每个 {{field}}——包括来源和回退值。没有可靠来源的字段不得出现在模板中;应添加能生成该字段的丰富步骤,或删掉相关内容。

步骤 5:组装序列文件
# Sequence — {campaign}

[overview: touches, cadence, variables]

## Touch 1 — {angle}
[FINAL copy with {{placeholders}}]
**Subject options:** [first touch only]

## Touch 2 — {angle}
[FINAL copy]  **Subject:** empty (threads as Re:)

## Touch 3 — conditional on {{routing_key}}
### Variant A — {condition}
[FINAL copy]
### Variant B — {condition}
[FINAL copy]

## Input Fields contract
[the declared-fields table]

## Notes
[angle rationale, voice rules, what was excluded]
步骤 6:质量检查
  • 每次触达都是最终文案,而非操作说明
  • 每个 {{placeholder}} 都在输入字段约定中声明,并注明来源 + 回退值
  • 没有未声明的占位符;没有来源无法保证的 {{field}}
  • 变体是独立且完整的文案,而非单个模板中的条件语句
  • 后续触达的主题为空(延续邮件线程)
  • 语气规则 + 禁用词来自背景文件
  • 遵守格式规则:没有签名,使用 -- 而非 –/—,仅使用英文
  • 遵守措辞规则:绝不写“我们帮助 {{industry}} 团队”,绝不描述潜在客户的公司,绝不写“我们是 {Company}”
  • 以下反模式未出现在任何一次触达中
步骤 7:保存

将模板集保存为营销活动的序列文件,存放在 GTM 项目用于存放营销活动素材的位置(每个营销活动对应一个序列文件)。

反模式——任何触达中都不得出现的内容

  1. 绝不把潜在客户自己的信息复述给他们。 不要改写他们的标题,也不要重述他们的产品功能。他们很清楚。这样做会让人觉得你只是抓取了信息,却无话可说。
  2. 绝不向他们解释他们自己的业务。 如果他们每天都在做这件事,就别提。
  3. 不要使用架构术语。 不要写“三层架构”“实体消歧”或“数据网格”。文案应聚焦成果,而非内部实现。
  4. 每封邮件只问一个问题。 两个问题会彼此争抢注意力,最后都得不到回答。
  5. 一遍就能读懂。 不要使用嵌套从句或连续堆叠的限定语。如果一个句子需要读第二遍,就把它改短。
  6. 开场白必须一眼就能看懂。 不要使用白皮书标题式的名词短语(如“X 差距”)。
  7. 不要改写用户粘贴的文案。 如果用户提供了一个吸引点,就原样使用。

序列结构(默认)

各次触达从不同角度切入,语气由委婉逐步转为直接:

  • 触达 1 — 祝贺/背景切入 + 核心遗留痛点 + 委婉的 CTA
  • 触达 2 — 更有力的证据或基准数据切入 + 提供文档的 CTA
  • 触达 3 — 针对特定细分群体的切入(根据 {{customer_segment}} 路由)
  • 触达 4 — 简短的“告别”/结束联系邮件

默认节奏:触达 1 后间隔 2 天,之后各次触达间隔 3 天。可按营销活动进行调整。

参考资料

评论

支持 Markdown