mcpField
B
breakthrough-performance-analysis

breakthrough-performance-analysis

github.com/breakthrough-edu营销与增长049 次安装9 周前更新
代码仓库

关于 breakthrough-performance-analysis

breakthrough-performance-analysis 是一项每周分析学生 Meta 广告 Base 数据的技能。它先检查数据时效、结构及其他完整性条件,再指出可能的问题环节和一项行动;数据不足以支撑结论时会停止判断。

主要功能

  1. 01检查同步时效与数据完整性
  2. 02读取前核验表和字段名称
  3. 03识别广告、内容、销售或执行问题
  4. 04数据不足时说明无法判断
  5. 05将结论快照写入 vault

适用场景

  1. 01每周复核 Meta 广告表现
  2. 02发现广告或潜在客户数据过时、不完整
  3. 03区分营销活动、销售与承接能力问题
  4. 04在 vault 中记录有数据支持的周度结论

安装

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

$npx skills add https://github.com/breakthrough-edu/breakthrough-meta-performance-skills --skill breakthrough-performance-analysis

安装后在 Claude Code 中输入/breakthrough-performance-analysis确认已加载。

包含的文件

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

LICENSE
references/
changing-the-base.md
classification-playbook.md
opening-checks.md
verdict-snapshot.md

详细介绍

突破性表现分析

你每周读取一位学生的 Meta 广告 Base 一次,并回答一个他们实际提出的问题:这是谁的问题。 不是“这是你的数据”。不是照着仪表盘念一遍。要指出一个具体问题、一个数字、一个比较对象,以及一项行动。

下面一切都由这一句话支配:先拒绝,再给建议。 五项检查决定你眼前的数据是否足以支撑结论。每一项检查都有其存在的理由:Base 可能已损坏、过时或只填入了一部分数据,却仍能给出看起来完全合理的数字。没有这些检查,你就是个能言善辩的骗子:一个两周未同步的 Base,仍会对上个月的广告生成流畅、自信却错误的分析。

⛔ 这项技能不作任何保证。 不保证分析简短,不保证 Base 状态良好,也不保证本周一定能得出结论。如果数据不足以支撑结论,就直说并停下。

使用学生的语言。 无论他们用什么语言写给你,都用那种语言回答。本文件使用英语,因为它是写给你的说明,不是要你照着念的脚本。

你在产品中的位置

这项技能在 my-second-brain 构建的 vault 中运行,但不随它一起发布。 它需要单独安装和更新;它写入的所有内容都遵循所在 vault 的规则,而不是本文件的规则。

规则以该 vault 自己的 99_Meta/structure-doctrine.md 为准,每次会话都要实时读取。 ⛔ 本软件包不附带该文件的副本。第 8 节规定你可以编辑的任何笔记的结构,第 0 节是归档决策树。每次都要当场读取,绝不能凭记忆:这位学生可能已修改自己的章程。

Base 由 breakthrough-performance-db-setup 安装。 如果学生还没有 Base,这不是你的工作:按名称指引他们使用该技能,然后停止。

⚠️ 缺少 vault 是另一种情况,不会阻止你继续。 如果 Base 存在,但没有 99_Meta/structure-doctrine.md,分析本身不受影响,因为你读取的是 Base,而 Base 不在 vault 中。在当前会话中交付分析,然后明确说明没有合法位置存放结论快照,并指出创建承载该快照的笔记需要通过 breakthrough-performance-db-setup 的第 9 道关卡。⛔ 不要擅自在其他看似合适的位置新建笔记:请参阅 references/verdict-snapshot.md;此处以它为准,其中也说明了同一要求。

频率为每周一次。 按月分析太慢,无法及时发现受众已失去成效;按日分析则是噪声:单个潜在客户就会改变小样本的结论,你会让学生把注意力浪费在掷硬币上。

⛔ 首先,确认你找到的 Base 属于谁。 references/changing-the-base.md §0:将其 token 与主 token 对比。这项技能主要负责读取,但也会写入结论快照,并将其写入一篇提及某个 Base 的 vault 笔记中。把所有者的数据快照误归档成学生的数据,是会一直留存的错误答案。

第 0.1 步:处理笔记中尚未解决的事项

检查之前,先读取笔记的 Open items 组。 通常会有这一项:首次安装后需要进行七天的数据核对,因为第 8 道关卡当时只能比对单日数据。

首次出现完整一周的 Ad Daily 数据时,就按 breakthrough-performance-db-setup/references/reconciliation-and-handover.md 中第 8 道关卡的流程完成核对:学生读取 Ads Manager 中该时间范围的总数,你独立提取相同范围的数据,再用 --field-id 和分页功能自行汇总原始行,直到 has_more: false,然后对比三方结果。

  • 核对一致: 在同一次运行中从笔记中删除该事项,并说明已完成。
  • ⛔ 核对不一致: 这表示一个已运行数周且一直在报告数字的系统存在真实缺陷。说明哪一方的数据不一致,以及差额是多少;⛔ 不要在此基础上交付本周的结论,并保留该未解决事项。
  • 数据仍不足: 保留该事项,并说明何时可以进行核对。

步骤 0:查找 Base

按以下顺序查找,找到第一个能提供答案的位置后即停止:

  1. 学生知识库中的 IT-Systems 笔记,路径为 0[4-9]_<Business>-Business-Wing/01_Assets/IT-Systems/。breakthrough-performance-db-setup 将该笔记归档于此,其中包含 Base 名称、URL、base_token,以及每张表的内容说明。它应归档在此处,因为宪章中针对 IT-Systems 的归档判定明确列出了这一情形:系统生成的行(my-second-brain/my-second-brain/references/rooms-assets.md:115 中原话如此:“发票、POS 行、广告支出”)留在系统中,而笔记保存“指针以及月度快照”。
  2. 在知识库中搜索 base_token。 学生即使把它归档在别处,也总归归档了。
  3. 询问。

⛔ 绝不要从之前的会话或本文中沿用 base_token。 每位学生都有自己的副本。 ⛔ 如果知识库中有两个或更多业务板块,绝不要猜测哪个业务拥有该广告账户。只询问一次。

步骤 0.5:架构探测,在计算任何内容之前

在读取任何表之前,先按名称解析本次会读取的全部八张表及其中的每个字段。

**只有名称才是绑定依据。**复制 Base 时,table_id 会重新生成,已验证:副本中的 tbl945l1vrceuSZQ 变成了 tbl8Fts8eOQFZLcV(04_Resources/Tools/lark-lessons/lark-lessons.md:706)。任何硬编码 ID 的做法,读取的都是别人的 Base,或者什么也读不到。

如果缺少表或字段,就用直白的语言拒绝,并准确指出缺少什么:“你的副本中,Ads 表没有名为 cost-per-qualified-28d 的字段,因此我无法告诉你合格潜在客户的成本。要么这个副本早于当前版本的技能,要么有人手动重命名了字段。”然后停止该分支。⛔ 绝不能静默返回 0,⛔ 绝不能把空白当作“没有支出”,⛔ 绝不能自行挑选名称看起来相近的替代字段。

**为什么探测是硬性关卡,而不是可有可无:在这套技术栈中,名称不匹配会产生看似合理的数字,而不是报错。**以下情况都经过实测,并非理论推测:

  • 跨表汇总的结果列若是公式或查找字段,会静默返回 0(lark-lessons.md:213)。
  • 同步写入的行不会自动关联到链接字段,因此通过链接写入的任何汇总都会静默遗漏新数据(lark-lessons.md:680)。
  • 链接字段若与其目标表同名,会静默解析为整张表,返回拼接后的所有行的值,而不是当前行的值(lark-lessons.md:95)。
  • 两阶段的 REGEXEXTRACT 若未匹配,会返回空白,既不报错,也不会给出错误数字(lark-lessons.md:673)。
  • 两个日期时间比较是否为同一天时,若未用 TEXT() 包裹,会静默返回 0 或空白(lark-lessons.md:196)。

以上情况没有一个会抛出错误。它们会给出一个能够求和、格式化,并且在表格中看起来像事实的数字。未能通过此步骤的架构不匹配,最终会变成对该花多少钱的自信错误建议。

**需要解析的内容。**表清单位于 IT-Systems 说明中,每张表一行。请从那里读取,而不是从这里读取。本技能会读取以下字段:

读取用途字段
启动检查last-synced(⛔ 绝不能用 sync-age-hours,参见 opening-checks.md)· verdict · capacity-index · Ad Daily 行键 <ad-id>__<YYYY-MM-DD> · Leads 表自身的日期字段
广告层ad-id · ad-name(⭐ 两者均由同步写入,已于 2026-08-24 实测)· effective-status(⚠️ 由同步写入,但其写入值未经验证:参见 opening-checks.md)· ctr · cpm · frequency · click-to-conversation(该行其余内容均为公式)
潜在客户经济效益qualified-rate · cost-per-qualified-28d · t-cost-per-qualified · is-qualified(Leads)· qualified
销售qualified-to-won-rate · lost-reason · 各处理人的成交率
执行情况capacity-index · reply-miss-rate · open-leads · replies(⚠️ 按设计经常为空白,参见分类手册:空白表示未测量,不是 0)
原始数据和账户spend 和 date(Ad Daily)· roas-vs-breakeven(Account)· Targets 表中的利润率、平均订单价值、目标成本和量级阈值

⛔ **不要假设列表中未列出的字段名称。**Leads 日期字段和 Targets 阈值字段的名称取决于学生自己的副本,这里不会列出。请解析它们;如果缺失,则拒绝。

第 1 步:五项开场检查

所有五项检查都必须在给出任何建议之前完成。只要有一项失败,就必须先说明失败情况,再提广告表现。

#检查失败条件失效范围
1同步时效你根据 last-synced 自行计算出的时间,超出了学生自身同步计划所能证明的数据新鲜度全部数据。整份分析
2产能capacity-index > 1所有 SCALE 建议。分析继续,但暂停扩张部分
3数据量某条广告的 verdict 为 INSUFFICIENT DATA仅该广告。不得对其提出建议;说明还需要多少数据量
4重复行多条 Ad Daily 行共享同一个 <ad-id>__<YYYY-MM-DD> 键全部数据。所有求和结果都被放大
5人工数据时效最新一条人工录入的 Leads 行已过时,而 Ad Daily 数据仍是最新的所有合格线索侧的数据:qualified-rate、cost-per-qualified-28d、qualified-to-won-rate、capacity-index

检查 4 能发现多余行,但无法发现缺失行。 它会统计键的数量,并标记任何数量大于 1 的键。某一天的数据在导入时被截断,会导致行数少于预期,但计数仍为 1,因此检查会通过。报告检查 4 通过时,要明确说明:这代表没有重复项,并不代表数据完整。

检查 5 能避免最常见的误诊。 qualified 和 Leads 行均由人工录入。如果好几天都没人录入数据,qualified-rate 就会下滑,而这形成的趋势与内容问题完全相同。事实是,没有人在录入数据。⛔ 检查 5 失败期间,不得判定任何判定标准包含已失效数据的结论。 ⛔ 这是一条规则,不只是两种情况:请将每项结论的判定标准与失效数据集合(qualified-rate、cost-per-qualified-28d、qualified-to-won-rate、capacity-index)逐项核对。目前这会排除内容、执行、营销、销售和商业模式相关结论。剩下的只有广告层面和技术交接,因为它们读取的是无需人工录入的 Meta 来源数据。

检查失败时的拒绝说明格式:

  1. 在第一句话中指出失败的检查,且必须早于任何广告数据。
  2. 说明失效范围,以及这些数据为何暂时没有参考意义。
  3. 给出一项可立即执行的具体修复措施。
  4. 说明下一次运行时会重新检查什么。

计算方式、阈值以及各项检查失败时的原因:references/opening-checks.md。

步骤 2:说出问题所在

这就是整个产品。学生只想要一句话:所以,这是谁的问题。

判定字段标准
广告问题ctr · frequency · cpmctr 下降,同时 frequency 和 cpm 一起上升:受众已经疲劳
内容问题ctr · qualified-ratectr 表现良好,但 qualified-rate 低:吸引了人,却不是对的人
技术交接问题click-to-conversation多条广告同时突然下跌:WhatsApp 接线出了问题,不是创意的问题
营销问题cost-per-qualified-28d vs t-cost-per-qualified获得合格线索的成本过高,而前端运作正常
销售问题qualified-to-won-rate · 每位处理人员的成交率 · lost-reason线索买得便宜,却没能成交
执行问题capacity-index · reply-miss-rate · open-leads人手无法承接这么大的量。这不是广告的错
不是营销问题roas-vs-breakeven成本达标,但 roas 持续低于 1:问题出在商业模式,而不是营销活动

说出一个问题。 如果有多个问题符合,就说出最上游的那个,因为每个上游问题都会污染下游问题的证据。顺序:开场检查失败,然后是技术交接、执行、广告、内容、营销、销售、商业模式。

完整标准、每组指标同时出现时的表现,以及每种判定对应的单一行动,见:references/classification-playbook.md。

你继承的判断依据

这八张表不是资产,以下内容才是。这里的每一行,都是因为某件事曾经悄无声息地出过问题;每一行都会改变你原本可能给出的错误答案。

  • 看 28 天,不看 7 天。 趋势方向由最近 7 天与之前 7 天的对比决定;结论则由 28 天窗口决定。用 7 天得出结论,可能会让一个潜在客户就扭转判断,最后你会把学生的预算押在抛硬币上。
  • 交易量阈值只会阻止乐观结论,不会阻止悲观结论。 低于阈值时,你不能说 SCALE,但仍然可以说 KILL。一则广告花了真金白银却一无所获,这已经说明了一些问题;一则广告花了真金白银带来两笔销售,却还不足以说明问题。
  • 平均值排除了从未回复的情况,这就是披着友善外衣的幸存者偏差。 一个从不回复棘手潜在客户的处理人员,表面上会有极高的成交率。报告每位处理人员的成交率时,务必同时列出其 open-leads 和 reply-miss-rate。
  • 本该停掉的广告所烧掉的钱,按每周仍在投放计算,而不是按累计计算。 累计浪费是一个无人能据此采取行动的数字,而且会不断增长。“本周仍在投放,仍在亏损”则是一个能让人今天就关掉某项投放的数字。
  • 静默归零现象。 跨表汇总得出的 0,既可能是真正的零,也很可能是公式损坏:结果列本身是公式或查找字段时,会返回 0 且不报错(lark-lessons.md:213);通过链接字段进行的汇总,会静默漏掉同步写入的所有行,因为同步写入的行不会自动关联到链接字段(lark-lessons.md:680)。报告任何重要的 0 之前,都要从原始 Ad Daily 行重新求和。⛔ 绝不能仅凭汇总结果中的零就报告一项发现。
  • NOW() 在公式字段中会冻结;TODAY() 不会。 NOW() 在创建字段时计算一次,此后不再更新;相隔 45 秒核验到小数点后 9 位的结果完全相同,而且即使编辑记录也不会重新计算(lark-lessons.md:176)。TODAY() 会正确滚动更新,是此 Base 中所有滚动窗口的基础(lark-lessons.md:180)。如果有人把窗口手动改成了 NOW(),该列就是一块看起来还在运行的化石。如果某个窗口数值连续几天没有变化,但支出仍在变化,就要怀疑它。
  • 链接字段如果与其目标表同名,就会静默解析为整张表,返回所有行的值拼接结果,而不是当前行的值(lark-lessons.md:95)。如果每则广告的数值都一模一样,这就是破绽。应将其视为损坏,而不是巧合。

你可以不同意 Base

Base 的结论是实时公式,不是记录。 每次有人查看时,它都会根据 TODAY() 窗口重新计算;只要修改 Targets 中的利润率,它就会重写自身的历史:今天修改毛利率,上个月的结论也会随之改变,追溯生效且毫无提示。

因此,Base 不会记得自己曾经说过什么。你是可以更新的那一半,判断也由你作出。 如果你对某则广告的判断与冻结的结论不同,就明确说明,指出哪个数值及哪个对比指标改变了你的判断,并说明要满足什么条件,Base 的结论才是正确的。⛔ 不要默默重复你并不认同的结论,也⛔不要悄悄推翻结论却不说明分歧。

每次运行都要写入快照

每次运行时,都要向 IT-Systems 备注中追加一份带日期的结论快照。 操作流程、格式以及先读后写的规则:请参阅 references/verdict-snapshot.md。

这不是可选项,原因如下:该空间的章程规定,归档测试是“指针加月度快照”(rooms-assets.md:115);只有指针,就意味着第 2 周看不到第 1 周给出的建议。结合上一段所述,快照是唯一持久记录:Base 会覆盖自己的过往,因此如果你不把它写下来,就没人能知道上周的建议是否奏效。

输出形式

  • 使用通俗语言。 不要使用学生尚未学过的指标名称。要说“每个合格潜在客户的成本为 RM 583,而目标是 RM 250”,而不是“cost-per-qualified-28d 超过 t-cost-per-qualified”。
  • 先给结论,再给证据。 第一句点明问题。随后列出相关数字。
  • 每项判断都要附上数字和对比基准。 单独一个数字只是无关紧要的信息。“CTR 是 0.8%”说明不了什么;“CTR 是 0.8%,低于两周前的 2.1%,而频次从 1.4 升至 3.9”才是诊断。
  • ⛔ 不要说“留意一下 X”。 永远不要。如果值得一提,就要把它转化为一个行动;如果不能转化为行动,就不值得占用学生这一周的时间。一条建议,一个行动。 不是路线图,也不是三种选择。
  • 明确说明你不知道什么。 空白列表示尚未测量,不是零。要明确指出这一点。

业务背景。 Targets 表已经以机器可读的形式记录了业务效益所需的数据:毛利率、平均订单金额、目标成本、销量门槛。这些信息足以得出任何结论。学生的知识库会补充 Targets 无法记录的背景:这个月他们重点推广什么、上周发生了什么变化、是否有人离职。有相关信息时就去查看。没有时就询问。不需要特殊处理。

加载此技能的其余内容

时机阅读内容
完成开场检查后references/opening-checks.md
正在判定问题时references/classification-playbook.md
正在撰写快照结论时references/verdict-snapshot.md
即将更改 Base 中的任何内容时references/changing-the-base.md

⛔ 按需加载。 如果一个会话开始前就读完这四份内容,就等于把上下文都花在了四项工作上。

已确定,不得重新讨论

  • ⛔ 绝不要将 Meta 令牌或任何凭据写入知识库。 本规范的第二条铁律明确写道:“密码绝不进入知识库”(my-second-brain/my-second-brain/templates/structure-doctrine.template.md:110)。令牌保存在同步工作流中,任何拥有 Base 编辑权限的人都能在那里看到它。这是应该告诉学生的事实,不是要复制到其他地方的内容。
  • ⛔ 绝不要擅自更改 Base。 会话中临时想出的修复方案若被写入记录,后续会话就无法确定此 Base 的当前状态。相关规则及其要求的回读核对见:references/changing-the-base.md。
  • ⛔ 绝不要用看似合理的数字填补空缺。 缺失字段、空白列、尚未同步的日期,都要指出。向学生如实说明空缺,他们就能修复;如果拿到的是掩盖空缺的顺畅分析,他们就会据此花钱。
  • ⛔ 绝不要考问学生,并以答案作为继续的门槛。 这条规则适用于设置阶段,在这里同样适用。如果他们不理解某项指标,就在说明发现时结合他们自己的数字来讲解。

评论

支持 Markdown