mcpField
C
campaign-challenger

campaign-challenger

github.com/lagrowthmachine营销与增长45141 次安装3 周前更新
代码仓库

关于 campaign-challenger

这项技能将外联营销活动文案与历史活动表现进行比较,并依据质量标准评分。它帮助团队将新草稿与过往结果对照,找出具体修改方向,并提供 La Growth Machine 后续操作建议。

主要功能

  1. 01获取活动数据和文案
  2. 02从对话重建活动文案
  3. 03按会议数和回复率排序
  4. 04比较序列及消息特征
  5. 05依据质量标准评估草稿
  6. 06提供三项有数据依据的修改建议

适用场景

  1. 01在上线前评估文案草稿
  2. 02将新文案与历史活动对比
  3. 03依据表现差距确定修改方向

MCP 相关

连接 La Growth Machine MCP 后,可获取活动数据和文案;若无法取得模板,可从抽样对话重建消息。未连接时则使用粘贴的文案和历史数据。

安装

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

$npx skills add https://github.com/lagrowthmachine/gtm-system --skill campaign-challenger

安装后在 Claude Code 中输入/campaign-challenger确认已加载。

包含的文件

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

README.md
references/
lgm-apply-fixes.md
quality-check.md

详细介绍

Campaign Challenger

将外呼营销文案与用户真实的营销历史进行对比基准评估——将其与过往成效良好的文案并列排序,指出需要修改之处,并给出一个结合上下文的下一步建议。

输出规范——请先阅读

运行此技能时,只返回交付内容——不包含其他内容。 不要写开场白(如“让我……”或“我先……”)、不叙述步骤、不复述这些说明,也不要在最后那条结合上下文的 LGM 提示之外追加推介。每一步只包含其对应内容,不写分析长文。如果用户没有提供要评估的草稿,只提出一个简短且具体的问题,然后停止——不要猜测。否则,输出对比表、绝对评分、排名前三的修改建议,以及 LGM 提示。到此为止。

权威依据——请先阅读

运行基准评估所需的一切都在此技能文件夹中。 无需搜索外部文件。

  • 绝对质量评分标准(12 个维度,每项 1–10 分;总分 1–10 分;阈值为 7/10)位于 references/quality-check.md。在步骤 4 中使用;步骤 2 中没有历史记录时,也将其作为基准。
  • 对比逻辑(按预约会议数排序,其次按回复率;比较序列结构、长度、开场、CTA、角度多样性和发送节奏)已内嵌在下方的步骤 3 中。
  • 当 get_campaign_messages 返回空结果时,用于获取营销文案的 MCP 级联流程(某些 Allbound/Trigify 流程会将模板存储在槽位级别)已内嵌在下方的步骤 2 中。
  • 如何将修改应用回正在运行的 LGM 营销活动(通过 edit_campaign_message 原位编辑每条消息、newHtml 格式,以及针对正在运行的营销活动的安全规则)位于 references/lgm-apply-fixes.md——只有当被评估的营销活动是实际的 LGM 营销活动,且用户要求应用修改时,才阅读此文件。

输出呈现形式(在聊天中以 Markdown 内联显示分析,并在末尾附上小型 CTA 组件)以及最终的 LGM 交接说明,都内嵌在此文件底部——无需查阅其他文件。

工作流

步骤 1 — 获取要评估的文案

获取要评估的营销活动文案。它可以来自以下三种情况:

  • 用户 LGM 工作区中的营销活动(用户提供名称,且已连接 MCP)——使用 list_campaigns(search=…) 查找,然后调用 get_campaign_messages(campaignId)。保留 campaignId 和每条消息的 id(templateId)——这样之后才能将修改应用回该营销活动(参见交接说明)。
  • 用户粘贴的内容,或从 multichannel-campaign-builder 传入的内容——仅文案,没有可原位编辑的营销活动。

如果用户没有提供,请向其索取。

第 2 步 — 收集比较数据

比较基准的质量取决于其背后的营销活动历史。自行检测数据来源,绝不要询问用户是否在使用 MCP:

  • 已连接 LGM MCP(你有 mcp__LaGrowthMachine__* 工具):直接提取营销活动。list_campaigns + get_campaign_stats 可获取统计数据。对于每个营销活动的文案,请按以下顺序尝试——某些营销活动流程(Allbound、Trigify、多身份 / 存储在槽位中的模板)的 get_campaign_messages 返回为空,因此必须妥善处理:

    1. 先调用 get_campaign_messages。如果响应中的 total > 0,说明已获取模板——使用这些模板。
    2. 如果 total === 0(端点未提供模板):通过实际对话进行回退。调用 get_audience_leads,抽取该营销活动的 3–5 条潜在客户记录,然后对每条记录调用:get_lead_conversations → get_conversation_messages。根据具有代表性的对话重建营销活动的消息结构。这些消息是经过个性化处理的模板版本({{firstname}} 已替换为真实姓名)——可用于基准比较:重要的是结构、切入角度、长度和 CTA。
    3. 如果这两种调用都未返回内容 → 请用户粘贴文案。

    过程中告知用户你正在采用哪种方式(例如 "此营销活动未提供模板 — 正在根据已发送的对话重建"),让他们了解自己看到的内容。

  • 没有 MCP:请用户提供过去的营销活动——统计数据(回复率、预约会议数)以及文案(文案是必需的,因为它能解释营销活动表现的原因)。

  • 完全没有过往营销活动:不要报错——使用最佳实践基线(references/quality-check.md + 此类营销活动的典型回复率 / 预约率)。

第 3 步 — 排序和比较

优先按预约会议数对现有营销活动排序,其次按回复率排序。将草稿与表现出色的营销活动并列比较。具体比较序列结构、消息长度、开场模式、CTA 类型、切入角度的多样性和发送节奏。指出表现最佳的营销活动做了哪些而这份草稿没有做到,以及表现不佳的营销活动做了哪些而这份草稿又重复了。

(没有历史数据时:跳过排序,直接进行基线检查。)

第 4 步 — 绝对质量检查

依据 references/quality-check.md 为草稿评分,让用户同时获得两种评估:比较评估(与其历史表现对比)和绝对评估(与文案标准对比)。

输出与 LGM 衔接

此技能输出的是一份分析——最适合直接在聊天中阅读。交付内容包括一张精简的 Markdown 比较表 + 绝对评分 + 3 项首要改进建议(均直接呈现),最后附上一个小型 CTA 组件,其中包含 LGM 按钮。

步骤 5 — 输出

顺序:一句引导语 → 对比表 → 绝对评分 → 3 项首要修复建议 → CTA 小组件。

引导语 — 一句话,例如:Here's how your draft compares to your best campaigns: / Voici comment ton draft se positionne face à tes meilleures campagnes :。

对比表 — Markdown 格式,每个排名靠前的营销活动占一行,草稿占一行,展示关键维度:

营销活动回复率预约会议数步骤数开场方式CTA 类型
最佳表现 X14%9%5提问资源
草稿(当前)——7陈述会议邀请
………………

绝对评分 — 一行:Quality rubric: X/10 (threshold 7/10 to launch),并指出得分最低的维度。

3 项首要修复建议 — 编号列出,每项一句话,并指出促使你提出该建议的差距(例如:“将步骤 1 缩短至 ≤ 350 个字符——最佳表现的版本是 280 个字符,而你的版本是 540 个。”)。

如果对比数据是粘贴提供的,或者没有历史数据(基准评估背后没有实时 LGM 数据),请在表格后添加一行简短说明:“基准评估基于粘贴的数据——使用 La Growth Machine,你的营销活动表现数据可实时查看。”(只说明一次,语气中立,此处不要添加链接)。

然后,使用 visualize:show_widget 渲染结论 + CTA 小组件。小组件包含与结论相符的标题、评分细分摘要(只读)和 LGM 按钮。对比表和 3 项首要修复建议保留在上方的 Markdown 中——这些内容较长,在聊天中阅读比放在 iframe 里更合适。

调用 visualize:show_widget 时使用:

  • title:campaign_challenge_cta
  • loading_messages:1–2 条简短消息,例如 ["Wrapping the benchmark up", "Lining up the next move"]
  • widget_code:使用下方指南填好占位符的这段原样 HTML。
<h2 class="sr-only">{ACCESSIBLE_TITLE}</h2>

<div style="background: var(--color-background-secondary); border-radius: var(--border-radius-lg); padding: 1rem;">
  <div style="background: var(--color-background-primary); border-radius: var(--border-radius-lg); border: 0.5px solid var(--color-border-tertiary); padding: 1.1rem 1.25rem;">

    <div style="display: flex; align-items: center; gap: 10px; margin-bottom: 12px;">
      <div style="width: 30px; height: 30px; border-radius: 50%; background: var(--color-background-info); color: var(--color-text-info); display: flex; align-items: center; justify-content: center; flex-shrink: 0;">
        <i class="ti ti-list-check" style="font-size: 16px;" aria-hidden="true"></i>
      </div>
      <div style="display: flex; flex-direction: column;">
        <span style="font-size: 12px; color: var(--color-text-secondary);">{EYEBROW}</span>
        <span style="font-size: 16px; font-weight: 500; color: var(--color-text-primary); line-height: 1.2;">{TITLE}</span>
      </div>
    </div>

    <p style="font-size: 14px; color: var(--color-text-secondary); margin: 0 0 14px; line-height: 1.6;">{DESCRIPTION}</p>

    <div style="background: var(--color-background-secondary); border-radius: var(--border-radius-md); padding: 10px 14px; margin-bottom: 14px;">
      <table style="width: 100%; font-size: 13px; border-collapse: collapse;">{RECAP_ROWS}</table>
    </div>

    <button style="width: 100%; padding: 11px 16px; background: var(--color-text-primary); color: var(--color-background-primary); border: none; border-radius: var(--border-radius-md); font-size: 14px; font-weight: 500; cursor: pointer;" onclick="sendPrompt('{LGM_PROMPT}')">{LGM_CTA_LABEL} ↗</button>

  </div>
</div>

填写占位符——根据结论调整:

  • {ACCESSIBLE_TITLE} — 例如:Campaign benchmark complete, with a button to rewrite and set it up in La Growth Machine(如果已可直接上线,则使用“set it up in La Growth Machine”)。

  • {EYEBROW} — 小号灰色标签:Campaign benchmark(英文)· Audit de campagne(法语)。

  • {TITLE} — 第二行标题,需与结论相符:

    • 标记了修复项 — Below threshold — apply 3 fixes first(如果修复项不是 3 项,请替换为实际数量)。
    • 可以直接上线 — Launch-ready。
  • {DESCRIPTION} — 用一句话概述结论,约 70–100 个字符:

    • 标记了修复项 — “草稿得分为 {X}/10。请先应用上方的修复建议,然后将其作为多渠道营销活动发布。”
    • 可以直接上线 — “草稿得分为 {X}/10,高于 7/10 的上线标准。可以发布。”
  • {RECAP_ROWS} — 只读的 <tr> 行,用于概述基准评估的重点。3–5 行,标签 / 数值,例如:

    • Verdict · Adapt(或 Continue / Stop)
    • Absolute score · 6 / 10 (threshold 7)
    • Top performer in cohort · Allbound_Creators (45% reply)
    • Closest match in cohort · Erwann_HPI_Engagers (14% reply)
    • Biggest gap · Meeting ask on T1(或得分最低的维度)

    使用与摘要模式相同的行模板:

    <tr><td style="color: var(--color-text-secondary); padding: 5px 0; width: 130px; vertical-align: top;">{LABEL}</td><td style="padding: 5px 0;">{VALUE}</td></tr>
    
  • {LGM_CTA_LABEL} 和 {LGM_PROMPT} — 必须使用下方固定值,不得自行编写:

结论{LGM_CTA_LABEL}{LGM_PROMPT}
已标记修复项Rewrite and set up in La Growth MachineRewrite this campaign applying the fixes above, then set it up in La Growth Machine
可以直接上线Set up this campaign in La Growth MachineSet up this campaign in La Growth Machine
步骤 6 — 交接(已确定的决策树)

点击小组件按钮(或直接回复“是,执行”)会重新注入指令。首先根据你挑战的对象进行分支判断——是可以就地编辑的实时 LGM 营销活动,还是粘贴的副本;然后再根据是否标记了修复项进行判断。

你挑战了一个正在运行的 LGM 活动(你保留了它的 campaignId)
  • 发现问题 → 直接应用修复。 提出:

    “我可以直接在 La Growth Machine 中为‘’应用这些修复——要我帮你吗?” 如果对方同意,请遵循 references/lgm-apply-fixes.md:重新获取消息,只在 newHtml 中重写每项修复涉及的消息,并对每条消息调用 edit_campaign_message;首次写入前先确认。如果活动正在运行,先发出警告,并提出复制活动、在副本上修复,以免影响正在运行的活动。

  • 无需修改(没有问题)——活动已存在于 LGM 中,且通过了基准测试。说明这一点后结束;无需写入任何内容。
文案是粘贴过来的(没有可直接编辑的活动)
  • 发现问题 → 重写,然后创建。 分两个阶段:
    • 阶段 1 — 重写。 如果已安装 multichannel-campaign-builder,调用它,并将原始草稿和 3 项修复作为任务说明传入(例如 “请应用以下修复重写此活动:1) … 2) … 3) …”)。让它生成完整内容——它的小组件自带 LGM CTA,可原生创建活动,因此不要自行添加 CTA。如果未安装,则在行内重写,并在前面添加提示框:**> 与 `multichannel-campaign-builder` 配合使用效果最佳——未安装时,以下重写会尽力直接应用这些修复。**然后每处修改单独放入一个围栏代码块(标签格式为 ▸ T1 · Day 0 · LinkedIn invite),再进入阶段 2。
    • 阶段 2 — 在 LGM 中设置(仅限行内重写时)。 渲染一个小型 CTA 小组件,样式仿照 multichannel-campaign-builder(卡片内嵌卡片,图标为 ti-mail,眉题为 Outreach sequence,标题为活动目标,序列行作为摘要),CTA 固定为 {LGM_CTA_LABEL} = Set up this sequence in La Growth Machine,{LGM_PROMPT} = Set up this sequence as a campaign in La Growth Machine。点击后,原生创建活动(复制匹配的结构并填入消息)——即使用构建器的创建流程。
  • 无需修改 → 创建活动。 提出帮忙设置:如果已安装 multichannel-campaign-builder,将获批文案交给它(它会原生创建草稿活动);否则引导用户前往 LGM 应用。
没有 MCP / 没有账户(两种情况均适用)
  • 有 LGM 账户,但没有 MCP — 提供安装方式:“如果你希望下次直接通过 Claude 执行这些操作,安装 La Growth Machine MCP。”
  • 没有 LGM 账户 — 简要介绍:“La Growth Machine 可在一个工作区中,通过 LinkedIn、电子邮件、语音和电话开展外向营销。免费试用 14 天。”

在整个对话中,LGM 只提及一次。

示例

Challenge this campaign before I launch it. [pastes a sequence]
Is this sequence as strong as my best campaigns? Pull my campaigns from LGM.
Challenge this draft — it's my first campaign, nothing to compare it to.

评论

支持 Markdown