关于 ads-next
ads-next 是将广告审计转化为优先级明确、可验证后续步骤的辅导技能。它依据用户资料和审计历史排列问题、提示回退,并引导用户修复 Meta、Google 和 TikTok 广告。
主要功能
- 01按影响和工作量排列修复项
- 02比较近期审计变化
- 03标记明显的评分回退
- 04逐项引导修复操作
- 05显示前三项或前十项行动
适用场景
- 01选择下一项要处理的广告问题
- 02查看平台审计之间的变化
- 03按步骤完成并验证修复
- 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 | 跳过提示 — 直接引导用户逐步处理首要操作。 |
核心规则
- 先读取配置文件。
python3 scripts/profile.py get— 如果退出码为 2,则建议运行/ads start并退出(没有上下文的辅导只是在猜测)。 - 逐步处理时一次只做一项操作。 与
/ads start阶段 C.3 相同,采用循序渐进、经过验证的循环。 - 绝不编造问题。 如果在当前工作目录或历史记录中找不到审计,则打印生成审计的准确命令(
/ads audit或特定平台的命令)并退出。
阶段 1 — 发现审计 JSON
按以下顺序搜索 *-audit-results.json 文件,最新的优先:
<cwd>— 当前工作目录。Glob*-audit-results.json。~/.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 · 退出,我自己处理。
选择是时:
-
根据此
check_id的平台和类别确定参考文件。查找表:平台 类别前缀 参考文件 meta Tracking / Pixel / CAPI tracking-meta.mdmeta Creative / fatigue meta-audit.md(Creative 部分 — 涵盖 M28 疲劳)meta Structure / Budget meta-audit.mdgoogle Tracking / Conversion tracking-google.mdgoogle Bidding / Structure google-audit.mdgoogle Quality Score / Keywords google-audit.mdtiktok Tracking / Events API tracking-tiktok.mdtiktok Creative / Spark tiktok-audit.mdtiktok Structure tiktok-audit.md如果没有匹配的参考文件,则仅使用该检查项自己的
recommendation字段作为依据。 -
逐步操作循环(与
/ads start阶段 C.3 使用相同模式):- 打印步骤 1:目标 · 执行此操作 · 预期结果 · 我将如何验证。
AskUserQuestion:已完成 — 现在验证·遇到错误·暂停。- 选择
已完成时:运行验证(重新调用相关 MCP 工具 / API 脚本),并确认该检查项现在已通过。如果通过 → ✓,继续步骤 2。如果未通过 → 诊断并重试。 - 每个步骤最多尝试 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* 字段。