mcpField
L
launch-campaign

launch-campaign

github.com/indranilbanerjee营销与增长91380 次安装今天更新
代码仓库

关于 launch-campaign

Digital Marketing Pro 的技能,可按步骤将已批准的营销计划推向付费、自然、邮件、内容、CRM 和公关渠道。它会检查前置条件、预览待执行操作并等待确认,再按依赖顺序执行和记录检查点,以便暂停后恢复。

主要功能

  1. 01验证发布前置条件
  2. 02执行前预览操作
  3. 03按依赖顺序启用渠道
  4. 04创建 CRM 营销活动记录
  5. 05记录检查点并恢复中断流程
  6. 06写入内部及用户可见的发布记录

适用场景

  1. 01发布已批准的多渠道营销活动
  2. 02启用前检查素材、追踪和连接器
  3. 03从失败步骤恢复暂停的发布流程
  4. 04生成供代理机构或客户交接的发布记录

安装

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

$npx skills add https://github.com/indranilbanerjee/digital-marketing-pro --skill launch-campaign

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

详细介绍

/digital-marketing-pro:launch-campaign — 多渠道营销活动发布协调器

脚本位置。 如果你的宿主未设置 ${CLAUDE_PLUGIN_ROOT},脚本位于此插件的 scripts/ 文件夹中,与 skills/ 同级。请使用 Python 3.10 或更高版本运行:python;如果找不到 python,则使用 python3(适用于 macOS 和许多 Linux 系统)。

此技能接收一份已获批准的营销活动计划(来自 /digital-marketing-pro:campaign-plan),并逐步完成上线所需的所有工作:上线前检查、逐渠道启用、创建 CRM 记录、向团队发送启动通知,以及设置第 1 天的监控。它与 /digital-marketing-pro:launch-ad-campaign 相辅相成,且涵盖范围更广;后者仅处理 Google / Meta / LinkedIn / TikTok 上的付费广告启用。

每个营销活动仅使用此技能一次,在营销活动计划获批,且所有创意内容、着陆页和邮件序列均已签核后使用。它不适用于仅有付费广告的情况,而是用于完整的多渠道发布(付费 + 自然流量 + 邮件 + 内容 + CRM + 公关)。

此技能的用途

营销活动计划是一份文档。营销活动发布则需要按正确顺序、遵循正确依赖关系,在不同平台上执行二十项独立操作。没有协调器,代理机构就会遗漏步骤——着陆页在分析代码尚未接入时就上线,邮件自动化在来源名单尚未完成 GDPR 合规检查时就启用,付费广告在着陆页编入索引前就激活,团队则是看到 Slack 中第一条转化通知后才知道营销活动已经发布。

此技能让“我们发布了”和“我们顺利发布了”有所区别。它会在操作任何线上系统前检查所有前置条件,按依赖顺序执行启用步骤,并将发布记录为 CRM 营销活动对象,以便从第一天起正确归因。

此技能不做什么

  • 它不创建营销活动计划——那是 /digital-marketing-pro:campaign-plan 的职责。
  • 它不生成创意内容——那是 /digital-marketing-pro:ad-creative、/digital-marketing-pro:content-engine、/digital-marketing-pro:email-sequence 等的职责。
  • 它不进行出价或第 2 天及之后的优化——那是 /digital-marketing-pro:performance-report、/digital-marketing-pro:budget-optimizer 等的职责。

它是一次性发布事件,而非规划或优化流程。

流程

步骤 0 — 前置条件(阻断性检查)

除非以下条件全部通过,否则此技能将拒绝继续。请打印未通过的项目,不要开始发布。

  1. /digital-marketing-pro:validate-profile --brand {brand} 返回 passed 或 passed_with_warnings。
  2. 营销活动计划存在于 ~/.claude-marketing/brands/{slug}/campaigns/{campaign_id}/plan.json(或者用户提供 --plan-path)。
  3. 计划的 status 字段为 approved(而非 draft / in_review / rejected)。
  4. 计划中引用的每项资源都存在于计划所声明的路径中(创意文件、返回 200 的着陆页 URL、邮件平台中的邮件模板)。
  5. 所有相关渠道所需的连接器均可访问——重新执行快速探测:python "${CLAUDE_PLUGIN_ROOT}/scripts/connector-status.py" --brand {slug} --action status --probe-only --connectors {comma-separated channel connectors}。
  6. 已验证所有相关渠道的转化跟踪——GA4 事件已配置,且在过去 7 天内已通过测试触发:python "${CLAUDE_PLUGIN_ROOT}/scripts/performance-monitor.py" --brand {slug} --action diagnostic --channel ga4_health。
  7. 如果资源列表中包含任何 AI 生成的视觉内容 / 视频 / 音频,且营销活动面向欧盟市场,则每项此类资源都必须通过 C2PA 签署(/digital-marketing-pro:c2pa-metadata 工作流——底层使用 embed-c2pa.py --ai-disclosure)。截至 2026 年 8 月 2 日,欧盟发布必须遵守第 50 条规定,不容妥协。

如果其中任何一项未通过,请打印待办清单,并为每项列出具体的下一条命令,然后退出。

步骤 1 — 加载营销活动计划

读取 plan.json。提取:campaign_id、campaign_name、objective、start_date、end_date、channels(包含每个渠道的 budget、audience、creative_ids、landing_url、kpi_targets)、team_assignments、kickoff_comms、attribution_model。

步骤 2 — 预览试运行

在接触任何线上系统之前,打印即将执行的每项操作的试运行预览。用户必须确认 yes 才能继续。试运行预览显示:

🚀 Campaign launch preview — {campaign_name}
   Campaign ID: {campaign_id}
   Brand:       {brand}
   Window:      {start_date} → {end_date}
   Objective:   {objective}
   Attribution: {model}

   The following 14 actions will execute in order:

    1. CRM — Create Campaign object {campaign_name} in {HubSpot|Salesforce|...}
    2. Landing page — Verify {url} returns 200, schema markup present, GA4 tag firing
    3. Email — Enable automation {automation_id} in {Klaviyo|HubSpot|...} (sender domain authenticated)
    4. Paid search — Activate {N} Google Ads campaigns ({budget} daily total)
    5. Paid social — Activate {N} Meta + {M} LinkedIn campaigns ({budget} daily total)
    6. Retail media — Activate {N} Amazon Sponsored Products campaigns
    7. Organic social — Schedule {N} posts across {platforms} via {scheduler}
    8. Influencer — Notify {N} contracted creators (briefs already approved per plan)
    9. PR — Send launch announcement to {N} press contacts via {tool}
   10. Internal kickoff — Slack message to {channel}, email to {distribution_list}
   11. Tracking — Wire UTM parameters across every link (cross-check against plan)
   12. Attribution — Confirm {attribution_model} active in GA4 + CRM
   13. Monitoring — Activate day-1 watchdog on {KPIs} via /digital-marketing-pro:performance-check
   14. Documentation — Write launch record to ~/.claude-marketing/brands/{slug}/campaigns/{campaign_id}/launch-record.json
       and publish a user-visible copy to ~/Documents/DigitalMarketingPro/{brand}/campaigns/

   Estimated total wall-clock time: ~{N} minutes.
   Channels that will start spending immediately: {list with daily totals}.

   Type `yes` to proceed, `dry-run-only` to save the preview without launching,
   or any other input to cancel.
步骤 3 — 按依赖顺序执行

按顺序逐项执行操作。每项操作后,都要将状态检查点写入 ~/.claude-marketing/brands/{slug}/campaigns/{campaign_id}/launch-state.json,以便中断后可通过 /digital-marketing-pro:resume 恢复。

关键依赖规则:

  • 必须先创建 CRM Campaign 对象,然后才能创建任何付费广告营销活动 — 付费广告平台需要引用 CRM ID 进行归因。
  • 必须先启用电子邮件自动化,然后才能激活付费广告 — 否则,广告投放开始后的最初几分钟内捕获的潜在客户将无法进入培育流程。
  • 必须先通过落地页验证,然后才能激活付费广告 — 将流量导向 404 页面是最常见的上线首日故障。
  • 面向欧盟市场发布 AI 内容的任何自然社交或付费社交渠道之前,必须确认 AI 资产已完成 C2PA 签名。
  • 内部启动沟通之前,必须确认跟踪和归因已就绪 — 一旦内部沟通发出,“之后再修复跟踪”就永远不会发生。

每项平台操作都通过相应脚本分派:

# CRM Campaign object
python "${CLAUDE_PLUGIN_ROOT}/scripts/crm-sync.py" --brand "{brand}" \
    --action create-campaign --plan ~/.claude-marketing/brands/{slug}/campaigns/{campaign_id}/plan.json

# Landing page check
curl -sS -o /dev/null -w "%{http_code}" "{landing_url}"

# Email automation enable (idempotent — skips if already enabled)
python "${CLAUDE_PLUGIN_ROOT}/scripts/execution-tracker.py" --brand "{brand}" \
    --action enable-automation --automation-id "{id}" --platform "{klaviyo|hubspot|...}"

# Paid-ads activation (delegates to launch-ad-campaign for the paid-only subset)
python "${CLAUDE_PLUGIN_ROOT}/scripts/execution-tracker.py" --brand "{brand}" \
    --action launch-ads --plan ~/.claude-marketing/brands/{slug}/campaigns/{campaign_id}/plan.json
# (this internally calls the launch-ad-campaign workflow for Google/Meta/LinkedIn/TikTok)

# Organic social scheduling
python "${CLAUDE_PLUGIN_ROOT}/scripts/execution-tracker.py" --brand "{brand}" \
    --action schedule-posts --plan ~/.claude-marketing/brands/{slug}/campaigns/{campaign_id}/plan.json

# Influencer notification
python "${CLAUDE_PLUGIN_ROOT}/scripts/execution-tracker.py" --brand "{brand}" \
    --action notify-influencers --plan ~/.claude-marketing/brands/{slug}/campaigns/{campaign_id}/plan.json

# PR send
python "${CLAUDE_PLUGIN_ROOT}/scripts/execution-tracker.py" --brand "{brand}" \
    --action pr-send --plan ~/.claude-marketing/brands/{slug}/campaigns/{campaign_id}/plan.json

# Internal kickoff
python "${CLAUDE_PLUGIN_ROOT}/scripts/execution-tracker.py" --brand "{brand}" \
    --action internal-kickoff --plan ~/.claude-marketing/brands/{slug}/campaigns/{campaign_id}/plan.json

# Day-1 monitoring
python "${CLAUDE_PLUGIN_ROOT}/scripts/performance-monitor.py" --brand "{brand}" \
    --action arm-watchdog --campaign-id "{campaign_id}" --kpis "{kpi list}"

如果任何操作失败:

  1. 在 launch-state.json 中将 status 更新为 paused_at_step_{N},并记录错误。
  2. 不要继续后续步骤。后续步骤依赖于此步骤。
  3. 打印失败信息、可直接执行的修复命令,以及准确的恢复命令: python "${CLAUDE_PLUGIN_ROOT}/scripts/execution-tracker.py" --brand "{brand}" --action resume-launch --data '{"campaign_id":"{campaign_id}","from_step":{N}}'
  4. 不要自动重试。上线首日故障通常意味着配置错误,重试只会扩大问题(例如重复创建营销活动、重复发送电子邮件等)。必须由人工决定。
步骤 4 — 写入上线记录

所有操作成功后,将最终上线记录写入以下两个位置:

# Internal (system-of-record)
~/.claude-marketing/brands/{slug}/campaigns/{campaign_id}/launch-record.json

# User-visible
~/Documents/DigitalMarketingPro/{brand}/campaigns/{YYYY-MM-DD}-{campaign_name_slug}-launch.json

(如果设置了 $DIGITAL_MARKETING_PRO_PUBLISH_DIR/{slug}/campaigns/{...},则写入该目录 — 采用双副本发布目录模式。)

记录包含:launched_at 时间戳、每项操作及其返回值、各渠道的激活状态、CRM Campaign 对象 ID、内部启动 Slack/电子邮件的 URL、用于上线首日监控的 watchdog ID,以及生成此次上线的营销活动计划的绝对路径。

步骤 5 — 向用户确认

在对话中打印上线摘要:

🚀 Campaign launched — {campaign_name}

   Campaign ID:     {campaign_id}
   CRM record:      {hubspot|salesforce|...} Campaign #{id}
   Window:          {start_date} → {end_date}
   Channels live:   {list with daily totals}
   Day-1 watchdog:  /digital-marketing-pro:performance-check --watchdog {watchdog_id}

   📂 Launch record:
      {published_path}

   First check-in: tomorrow morning. Run /digital-marketing-pro:performance-check
   to see the day-1 numbers.

行为规则

  1. 缺少先决条件时拒绝执行。 步骤 0 中的每项阻断条件都必须在开始上线前通过。不要“警告后继续” — 这些问题可能会酿成上线日灾难。
  2. 始终先预览。 试运行预览不可省略。用户输入 yes,否则不会启动任何操作。
  3. 依赖顺序固定。 CRM → 落地页验证 → 电子邮件 → 付费 → 自然社交 → 网红 → PR → 内部 → 跟踪 → 监控 → 记录。不要重新排序。如果某个渠道需要跳过,计划必须在运行此技能前说明。
  4. 每项操作后创建检查点。 将上线视为一个包含 14 个阶段的流水线。任何故障都会在 launch-state.json 中留下可恢复的状态 — 工作绝不会“丢失”。
  5. 失败时不自动重试。 上线步骤失败后需要人工检查 — 盲目重试会创建重复营销活动、重复发送电子邮件,还会留下无法追踪的 CRM 记录。
  6. 上线记录保留双副本。 内部一份,用户可见一份。代理机构需要能够将上线记录发送给客户,而不必解释点文件夹的位置。

参数

/digital-marketing-pro:launch-campaign [--brand <slug>] [--campaign-id <id>]
    [--plan-path <path>] [--dry-run] [--resume-from-step <N>] [--skip-internal-kickoff]
  • --brand <slug> — 要启动的品牌(否则使用当前活动品牌)
  • --campaign-id <id> — 要启动的营销活动(否则,如果该品牌只有一个已批准的计划,则使用该计划;否则会提示选择)
  • --plan-path <path> — 计划 JSON 的显式路径(覆盖默认的 ~/.claude-marketing/brands/{slug}/campaigns/{id}/plan.json 位置)
  • --dry-run — 打印预览并退出,不启动(等同于在确认提示中输入 dry-run-only)
  • --resume-from-step <N> — 从步骤 N 恢复已暂停的启动(查找 launch-state.json)
  • --skip-internal-kickoff — 跳过 Slack/邮件启动通知(在非工作时间启动且之后再发送通知时使用)

相关技能和命令

  • validate-profile — 前置阻断项检查
  • campaign-audit — 生成当前状态基线,供本次启动与之区分
  • campaign-plan — 生成本技能使用的计划
  • launch-ad-campaign — 本技能在步骤 3(付费广告激活)期间委派给它的仅限付费广告子集
  • performance-check — 成功消息中提及的第 1 天检查技能
  • performance-monitor.py ("${CLAUDE_PLUGIN_ROOT}/scripts/performance-monitor.py") — 启动第 1 天监控程序
  • crm-sync — 创建 CRM 营销活动对象
  • c2pa-metadata — 为欧盟地区的启动签署 AI 资产(步骤 0 的强制要求)

评论

支持 Markdown