用途
Signals scout: data pipelines 是一个专注于 PostHog 数据管道的侦察技能。它把管道视为「数据流向别处的承诺」:目标把事件转发给第三方、转换在进入摄取时重写事件、批量导出把行落到仓库、hog flow 在用户行为时发送消息。管道故障的特殊之处在于它是静默的——产品照常运行、事件照常摄取、仪表盘照常绿色,而下游却在悄悄挨饿。该技能的职责就是捕捉交付承诺被打破的时刻。
主要能力
它关注三类交付矛盾:
- 平台干预:hog watcher 在持续故障后降级或自动禁用某个函数,团队往往毫无察觉,数据就此停止。
- 交付矛盾:已启用的管道失败占比超过自身历史基线;批量导出运行失败或调度停滞(每个错过的间隔都是永久缺口,直到回填);活跃 flow 对其触发人群报错。
- 配置为交付 vs 实际交付:这是信号与噪声的判别器。交付流与配置一致的管道属于基线,无论流量趋势如何;交付流与状态相矛盾的管道才是信号。草稿、归档 flow、暂停导出、主动禁用的函数是操作者选择,不是异常。
它审计的是交付,而不是评判团队选择把什么发到哪里。
使用方式
该技能通过报告通道(scout-emit-report / scout-edit-report)直接撰写报告,作者对每份报告 1:1 端到端负责,而不是发出弱信号让管道去聚类。门槛相应较高:只为本地化、已验证、可作为独立收件箱条目被人类处理的交付矛盾提交报告。收件箱已覆盖的矛盾(目标仍被 watcher 禁用、批量导出仍失败、flow 仍对收件人报错)是编辑,不是新报告。
一次运行在以下动作间循环:
- 定位:读取 scratchpad(text=pipeline)获取持久化指引,包括高价值管道 watchlist 及其基线、噪声/已处理/去重条目、报告/审阅者指针;读取最近 7 天的运行记录;读取项目画像中的 recent_hog_functions 与 recent_hog_flows;列出收件箱中已有报告。
- 各腿定向:函数状态扫描(cdp-functions-list,enabled=true,分页),每个条目带 hog watcher 的 status(1 健康、2 降级、3 自动禁用、11 强制降级、12 强制禁用);flow 全局统计(workflows-global-stats,after=-7d);批量导出名册(system.batch_exports 中 paused=0 且 deleted=0)。
- 探索:针对 watcher 干预、交付失败偏移、批量导出失败与停滞、flow 失败集中度做深入检查。
- 记忆:随时把未来运行应知道的内容写入 scratchpad,键前缀编码类别(pattern:、noise:、addressed:、dedupe:、report:、reviewer:)。
- 决策:对通过门槛的候选,选择编辑已有报告、撰写新报告、记忆或跳过。
适用场景
适用于需要持续监控 PostHog 数据管道交付健康度的团队,尤其是:目标函数被平台静默停止、批量导出出现永久数据缺口、消息类 flow 对真实用户静默失败等场景。转换(transformation)位于摄取热路径,任何非健康的已启用转换都被视为 P1 级材料。
限制
- 活动历史是可选的。仅当 MCP 提供该能力时才使用其读取指引;若读取器不可用或访问被拒,应停止使用该读取器,不得重试发现、探测端点绕过限制,也不得为已确认的访问限制提交缺失工具报告。
- 缺失历史不等于没有配置变更:需要排除有意编辑才能得出的结论应推迟,只报告可独立支撑的发现。
- 没有全舰队指标端点,也没有 app_metrics HogQL 表,因此不能暴力扫描;需在内存中维护 watchlist 并轮换抽样。
- 失败占比 = 同一窗口内 failed / triggered,绝不能与 filtered 比较(后者通常大几个数量级且天然健康)。
- SQL 注意事项:三个 system 管道表的布尔列是整数,需写 countIf(enabled = 1);hog_functions 与 hog_flows 含巨大 JSON 列,不要 SELECT *;HogQL 字符串时间戳按项目时区解析,应使用 now() - INTERVAL N DAY。
- 报告通道的完整契约(字段、状态映射、审阅者路由、去重、编辑规则)由 harness 提示承载,本技能正文只补充管道特定框架。
暂未提供
该技能的收费、价格、平台支持范围、具体安装命令等事实在给定资料中暂未提供。