mcpField
A
ads-next

ads-next

github.com/hainrixz营销与增长10156 次安装1 天前更新
代码仓库

关于 ads-next

ads-next 是将广告审计转化为优先级明确、可验证后续步骤的辅导技能。它依据用户资料和审计历史排列问题、提示回退,并引导用户修复 Meta、Google 和 TikTok 广告。

主要功能

  1. 01按影响和工作量排列修复项
  2. 02比较近期审计变化
  3. 03标记明显的评分回退
  4. 04逐项引导修复操作
  5. 05显示前三项或前十项行动

适用场景

  1. 01选择下一项要处理的广告问题
  2. 02查看平台审计之间的变化
  3. 03按步骤完成并验证修复
  4. 04整理按优先级排列的审计行动

MCP 相关

在工具可用时,它可调用相关 MCP 工具验证修复。README 将平台 MCP 连接描述为验证的前提,而非 MCP 服务。

安装

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

$npx skills add https://github.com/hainrixz/claude-ads --skill ads-next

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

详细介绍

持续辅导:接下来该修复什么

/ads next 会将审计转化为一系列小而有序、经过验证的操作。 这是跟进循环的后半部分:/ads start 负责连接,/ads audit 负责衡量,/ads next 负责辅导。

子命令路由

参数行为
(无)默认 — 发现 → 排序 → 显示前 3 项 → 提议逐步处理第 1 项。
show发现 → 排序 → 打印前 10 项 → 退出(不提示逐步处理 — 适用于客户报告)。
compare通过 python3 scripts/profile.py compare <p>,按平台打印最近两次审计之间的完整差异。
walk跳过提示 — 直接引导用户逐步处理首要操作。

核心规则

  1. 先读取配置文件。 python3 scripts/profile.py get — 如果退出码为 2,则建议运行 /ads start 并退出(没有上下文的辅导只是在猜测)。
  2. 逐步处理时一次只做一项操作。 与 /ads start 阶段 C.3 相同,采用循序渐进、经过验证的循环。
  3. 绝不编造问题。 如果在当前工作目录或历史记录中找不到审计,则打印生成审计的准确命令(/ads audit 或特定平台的命令)并退出。

阶段 1 — 发现审计 JSON

按以下顺序搜索 *-audit-results.json 文件,最新的优先:

  1. <cwd> — 当前工作目录。Glob *-audit-results.json。
  2. ~/.claude-ads/history/ — 持久日志。读取 ~/.claude-ads/history/index.json 并解析每个平台最近一次审计对应的文件。

验证每个文件:

  • 必须能解析为 JSON。
  • 必须包含 platform、health_score、checks。
  • platform 必须为 meta、google 或 tiktok。

如果文件未通过验证,则跳过该文件并打印一行 WARNING: skipped <path> (<reason>)。不要中止运行。

如果找不到有效审计:

No audits yet. Run one first:

  /ads audit                 — full multi-platform
  /ads <meta|google|tiktok>  — single platform deep-dive

然后退出。


阶段 2 — 将任何新审计持久化到历史记录

对于在当前工作目录中发现的每个审计文件,如果它比 ~/.claude-ads/history/index.json 中该平台最近的条目更新(比较 generated_at),则通过以下方式将其复制到历史记录:

python3 scripts/profile.py save-audit <path>

这会构建多会话记忆 — 磁盘上任何位置运行的每次审计,最终都会进入历史索引。


阶段 3 — 按影响 × 易行程度排序项目

汇总所有有效审计中的每个 quick_win、每个 critical_issue,以及 result 为(FAIL、WARNING)的每个 check。按(platform、check_id)去重 — 如果某项检查同时出现在 critical_issues 和 checks 中,则视为同一项,并使用关键问题的元数据。

为每个项目计算一个影响分数:

severity_weight = { critical: 5.0, high: 3.0, medium: 1.5, low: 0.5 }[severity]
effort_inverse  = 1 / (fix_time_minutes + 1)            # default fix_time = 30 if null
budget_share    = platform_budget_share(platform)       # see below
impact          = severity_weight × effort_inverse × budget_share × 100

platform_budget_share — 根据用户配置文件以及审计中是否存在 account_id 推导:

  • 如果配置文件列出 1 个活跃平台,则该平台的份额 = 1.0。
  • 如果配置文件列出 2 或 3 个平台,则以 1 / n 作为基准份额。然后将用户花费最多的平台份额提高 +0.1(使用 monthly_spend_usd ÷ 平台数量作为粗略先验;如果用户以后设置了各平台的支出,则改用该数据),上限为 0.8。
  • 如果配置文件为空,则退回到等权重。

按 impact 降序排列所有项目。


阶段 4 — 检测回归(优先级 0)

对于历史记录中审计次数 ≥2 的每个平台,运行:

python3 scripts/profile.py compare <platform>

检查 JSON 输出:

  • score_delta < -5 → 在排序列表顶部追加优先级 0 警报。格式:

    ⚠ <Platform> health dropped from <prev>/100 (<prev_grade>) → <new>/100 (<new_grade>) since your last audit.
      New issues: <comma list of new_issues>
      Resolved:   <comma list of resolved_issues>
    
  • score_delta > +5 → 在输出最底部添加成功提示行: 🎉 <Platform> health improved <delta>+ points since last audit. Keep going.

回归的优先级高于常规快速收益。它们会显示在前 3 项列表上方,并使用单独的标题。


阶段 5 — 输出前 3 项

默认子命令打印:

Next actions (ranked by impact × ease for your $XXX/mo across <platforms>):

  1. [<platform> · <check_id> · <severity>] <name>
     Finding:        <finding>
     Recommendation: <recommendation>
     Estimated fix:  <fix_time_minutes> min · Impact: <impact rounded>
     Reference:      <reference file if known, e.g. tracking-meta.md>

  2. [...]

  3. [...]

(Run `/ads next show` to see the top 10. `/ads next compare` for full audit delta.)

如果使用 show 子命令:改为打印前 10 项,不显示提示,然后退出。


阶段 6 — 操作讲解(默认和 walk 子命令)

AskUserQuestion:

“要我现在带你一步步修复 #1 吗?”

选项:是 — 一步一步来 · 改看 #2 · 退出,我自己处理。

选择是时:

  1. 根据此 check_id 的平台和类别确定参考文件。查找表:

    平台类别前缀参考文件
    metaTracking / Pixel / CAPItracking-meta.md
    metaCreative / fatiguemeta-audit.md(Creative 部分 — 涵盖 M28 疲劳)
    metaStructure / Budgetmeta-audit.md
    googleTracking / Conversiontracking-google.md
    googleBidding / Structuregoogle-audit.md
    googleQuality Score / Keywordsgoogle-audit.md
    tiktokTracking / Events APItracking-tiktok.md
    tiktokCreative / Sparktiktok-audit.md
    tiktokStructuretiktok-audit.md

    如果没有匹配的参考文件,则仅使用该检查项自己的 recommendation 字段作为依据。

  2. 逐步操作循环(与 /ads start 阶段 C.3 使用相同模式):

    • 打印步骤 1:目标 · 执行此操作 · 预期结果 · 我将如何验证。
    • AskUserQuestion:已完成 — 现在验证 · 遇到错误 · 暂停。
    • 选择已完成时:运行验证(重新调用相关 MCP 工具 / API 脚本),并确认该检查项现在已通过。如果通过 → ✓,继续步骤 2。如果未通过 → 诊断并重试。
    • 每个步骤最多尝试 3 次。
  3. 执行操作后,询问用户是否要继续处理操作 #2。

选择改看 #2时:将索引设为 2,重新进入阶段 6。

选择退出时:打印:

修复后运行 /ads audit 以更新评分,然后再次运行 /ads next,查看最新的前 3 项。


阶段 7 — 保存状态

结束时:

python3 scripts/profile.py set last_command "/ads next"
python3 scripts/profile.py set last_command_at "$(date -u +%FT%TZ)"

下次运行 /ads audit 时,历史索引会自动更新 — /ads next 本身不会将内容加入历史记录(只会读取并执行操作)。


对比模式(/ads next compare)

对于历史记录中有 ≥2 条条目的每个平台:

python3 scripts/profile.py compare <platform>

打印每个平台的完整差异:评分变化、等级变化、新问题、已解决问题、文件时间戳。不进行排名,也不提示操作讲解 — 这是审计变更日志视图。


错误处理

  • 缺少配置文件 → 打印一行提示,建议运行 /ads start,然后退出。
  • 没有任何审计记录 → 打印一行提示,建议运行 /ads audit,然后退出。
  • 所有审计均未通过验证 → 打印收集到的警告,然后退出。
  • 操作讲解期间:如果 3 次重试均失败,则在控制台记录“已跳过 <check_id> — 稍后运行 /ads next walk 再回来处理”,并询问是否尝试 #2。

输出约定

/ads next 不会生成任何文件。它纯粹用于交互式指导,并会产生副作用,写入 ~/.claude-ads/history/(通过 save-audit)以及配置文件的 last_command* 字段。

评论

支持 Markdown