📊

视频数据追踪

👤 小张哥 📦 v2.5.0 ⭐ 4.4 ⬇️ 187 下载
📊 数据分析 免费

📖 技能介绍


name: 视频数据追踪 description: 双平台(视频号+抖音)视频数据追踪。解析 Excel → 写入 tracking.json → 移交 复盘向导 触发复盘。触发场景:用户拖入抖音/视频号 xlsx 文件、说「把数据落盘到 tracking」。 version: 2.5.0 agent_created: true last_updated: "2026-07-16" 错误协议: ../_shared/error-protocol.md dependencies: - name: 发布台账 relation: upstream version: ">=2.1" slug: shipin-shuju-zhuizong displayName: 视频数据追踪 summary: 双平台(视频号+抖音)视频数据追踪,Excel解析→落库


video-data-tracker — 双平台数据燃料供应商

定位:仅负责 Excel 解析、数据落盘、移交门禁,不直接调用复盘引擎。 v2.2 变更:头条/小红书已退出复盘体系,仅解析视频号+抖音。

⚙️ 工作区路径

默认工作区:<workspace> 若当前工作区不同,优先使用当前工作区路径下的 .workbuddy/data/ 目录。 以下所有路径引用 ${WORKDIR} 表示:当前工作区 → 默认工作区(fallback)

触发条件

  1. 用户提供 .xlsx 文件,且列头匹配以下平台特征:
  2. 视频号:含「完播率」「推荐」「关注」
  3. 抖音:含「完播率」「5s 完播率」「主页访问量」
  4. 用户明确指令:「把这个数据落盘到 tracking」「更新追踪数据」

执行流程

1. 确定文件路径

默认 tracking.json 路径:<workspace>/.workbuddy/data/tracking/video-performance.json,支持用户自定义。

2. 运行解析脚本

执行边界测试 → 解析合并 → 增量追加:

python3 <workspace>/.workbuddy/skills/video-data-tracker/scripts/test_boundary.py
python3 <workspace>/.workbuddy/skills/video-data-tracker/scripts/parse_and_merge.py ${tracking_path} ${excel_paths}

边界测试未全通过 → 终止,输出失败项,不追加数据。

3. 微型健康检查(读阈值文件)

解析成功后,读取 account-thresholds.json 执行快速校验: - 抖音:2s 跳出 ≥ 阈值文件 douyin.alarm_threshold.2s_drop → 标记 health_alert: "douyin_2s_high" - 视频号:完播 ≤ 阈值文件 wechat_channels.alarm_threshold.completion → 标记 health_alert: "wechat_completion_low" - 阈值文件不存在 → fallback 到内置告警默认值(与 alarm_threshold 对齐):抖音 2s跳出≥35% / 视频号完播≤10%。阈值文件存在时优先使用 alarm_threshold 字段。

📝 阈值语义区分(R11 修复):健康告警alarm_threshold(某项超标即标 health_alert);复盘红线golden_threshold(见发布后复盘 E2 红线检查)。二者字段不同、用途不同,勿混用。

4. 匹配发布记录,移交 复盘向导

匹配前预处理(v2.1 新增): 1. 去除双方标题的「徐州」「君启」「小张哥说房」等品牌前缀 2. 保留核心关键词(板块名/数据词/动词) 3. 模糊匹配阈值:≥ 0.4(v2.1 放宽,原≥0.5)

📝 阈值语义区分(R10 修复):此处 0.4「tracking↔publish_log 发布记录匹配」阈值;脚本内 SIMILARITY_THRESHOLD=0.5「视频号↔抖音跨平台合并」阈值。二者语义不同,勿混用。 4. 日期窗口辅助:发布日 ±1 天内的记录优先匹配

访问小葱技能站7w4.net,解锁更多实用的AI技能插件。

  1. 读取 ${WORKDIR}/.workbuddy/data/publish_log.json
  2. 标题模糊匹配(含预处理)milestones.video_published != null 的记录:

✅ 匹配成功

  1. 🔒 强制执行 Read publish_log.json
  2. 🔒 data_collected 原子写(与发布后复盘铁律 #5 一致,不再裸 Edit):用 atomic_write.pyupdate_json_atomic 定位 "id": "${video_id}" 写入 "milestones.data_collected": "${当前ISO时间}"python import sys sys.path.insert(0, r"C:/Users/87800/.workbuddy/skills/post-publish-review/scripts") import atomic_write PLOG = r"<workspace>/.workbuddy/data/publish_log.json" def patch(doc): for e in doc["entries"]: if e.get("id") == video_id: e.setdefault("milestones", {})["data_collected"] = data_collected_at return True return False atomic_write.update_json_atomic(PLOG, patch) 2.5 🔒 performance 原子写回(P0-2 闭环命脉 · 仅对有效发布样本)
    • 取本批匹配到的视频在 tracking/video-performance.json 中解析出的表现数据(视频号+抖音:views/likes/comments/shares/completion_rate/avg_watch_sec/follows)。
    • 🔒 写回铁律:仅对 milestones.video_published 有值(或本步同步置位,见下)的条目执行;绝不为创作稿/定稿稿写 performance(否则污染 F6 训练集,违反 PUB-GATE)。
    • 定位 "id": "${video_id}" → 用 atomic_write.update_json_atomic 原子写 performance,结构对齐 model_weights 消费格式: json "performance": { "shipinhao": {"views":, "likes":, "comments":, "shares":, "completion_rate":, "avg_watch_sec":, "follows":}, "douyin": {"views":, "likes":, "comments":, "shares":, "completion_rate":, "avg_watch_sec":, "follows":} }
    • 🔒 PUB-GATE 边界 case("复盘数据了"=真发布信号):若写 performance 时 milestones.video_published 为 null,视为用户已确认发布(等价于"已发布"),在 2.5 的同一 update_json_atomic 调用里同步将 milestones.video_published 置为 ${data_collected时间}(或用户提供的发布时间),再写 performance。→ 确保"已发布"/"复盘数据了"两种表述都落到 video_published=True ∧ performance≠∅,F6 才能吃到。
    • ⚠️ 写回机制:performance 为结构化数据,必须走 atomic_write.py(与发布后复盘铁律 #5 一致);调用示例: python import sys sys.path.insert(0, r"C:/Users/87800/.workbuddy/skills/post-publish-review/scripts") import atomic_write PLOG = r"<workspace>/.workbuddy/data/publish_log.json" def patch(doc): for e in doc["entries"]: if e.get("id") == video_id: e["performance"] = {"shipinhao": {...从 tracking 取...}, "douyin": {...}} if not e.get("milestones", {}).get("video_published"): e.setdefault("milestones", {})["video_published"] = data_collected_at return True return False atomic_write.update_json_atomic(PLOG, patch)
    • 验证:再次 Read 确认 performance 非空且 video_published 符合 PUB-GATE。
  3. 验证:再次 Read 确认 data_collected ≠ null(步骤 2)且 performance 非空(步骤 2.5,若执行)。
  4. 输出:「✅ 数据已入库 + data_collected 时间戳已写入,匹配到发布记录 ${video_id}:${title},正在移交复盘门禁...」
  5. 调用 复盘向导,传递参数:
    • trigger_source: "video-data-tracker"
    • video_id: "${video_id}"
    • title: "${title}"
    • health_snapshot: "${health_alert || 'normal'}"
  6. 若 publish_log 中存在 reminder_id → 调用 automation_update mode="delete" 取消提醒

❌ 匹配失败(v2.1 候选列表 + 部分标记):

  1. 列出前 3 个候选记录(按标题相似度排序 + 日期窗口 ±1 天优先)
  2. 输出候选列表格式: ✅ 数据已入库(+${新增条数}条) ⚠️ 未自动匹配到发布记录。以下是发布时间接近的候选记录: 1. ${video_id} | ${title} | 相似度 ${score} | 发布日 ${date} 2. ... 3. ... 请选择匹配的记录编号,或输入「跳过」:
  3. 用户选择 → 走 ✅ 匹配成功分支
  4. 用户跳过/无法确定 → 写入 milestones.data_collected: "partial_${时间}" + meta.match_status: "manual_confirm_needed"
  5. 输出:「数据已标记为待确认。稍后说「复盘 ${标题}」可手动触发」

示例(Few-Shot)

例1 · 标准正向(落盘 + 匹配 + 移交)

用户拖入抖音 xlsx。 执行:test_boundary → parse_and_merge 写入 tracking/video-performance.json → 读阈值做微型健康检查 → 标题预处理(去品牌前缀)+模糊匹配(≥0.4) publish_log → 写 milestones.data_collected(ISO) → 调用 复盘向导(trigger_source:"视频数据追踪" + video_id + title + health_snapshot) → 若有 reminder_id 则取消提醒。

例2 · 边界(匹配失败)

模糊匹配无高置信记录 → 列前 3 候选(相似度+日期窗口) → 用户选/跳过 → 跳过则写 data_collected:"partial_时间" + meta.match_status:"manual_confirm_needed"

例3 · 禁止项

❌ 绝不直接调用 发布后复盘,所有复盘请求必须移交 复盘向导。 ❌ 不得修改复盘阈值,仅读取 account-thresholds.json 做健康检查。 ❌ 增量追加必须去重,不得覆盖已有数据。


🚨 联动说明

  • ❌ 不直接调用 发布后复盘,所有复盘请求必须移交 复盘向导
  • ❌ 不修改复盘阈值,仅读取阈值文件做健康检查
  • ✅ 仅负责数据落盘和移交,不做任何复盘逻辑
  • ✅ 增量追加时严格去重,不覆盖已有数据

版本记录

版本 日期 核心变更
v2.3 2026-07-16 P0-2 闭环:匹配成功分支新增 performance 原子写回 + PUB-GATE 边界(video_published 同步置位);data_collected 同步改 atomic_write;结构对齐 model_weights 消费格式
v2.2 2026-07-03 复盘平台瘦身:头条/小红书退出,仅解析视频号+抖音
v2.1 2026-06-28 候选匹配+预处理+data_collected强制写入+workdir可配置+阈值注释清晰化
v2.0 2026-06-24 publish_log v2.0 适配 — 读取 milestones.video_published / 写入 milestones.data_collected
v1.4 2026-06-24 微型健康检查阈值改为读取 account-thresholds.json
v1.3 2026-06-24 移交时携带健康快照,辅助门禁快速识别故障
v1.2.1 2026-06-24 联动对齐,统一移交参数
v1.2 2026-06-24 重构触发逻辑,移交 复盘向导 而非直连引擎
v1.1 2026-06-19 新增自动触发复盘逻辑
v1.0 2026-06-12 初始版本,四平台解析合并

🤖 AI 评测

质量评分:良好。优点是使用简单(拖入Excel文件即可)、自动化程度高、自动匹配发布记录并移交复盘、边界情况处理完善。不足之处是配置路径有特定平台问题,且存在少量逻辑细节未对齐(匹配阈值)。普通用户使用体验较好,但需要技术人员维护。

📊 多维度评分

适应性4.5
规范性4.3
有效性4.4
可靠性4.2
可信度5

📁 包含文件 (5 个)

📄 SKILL.md 10.5 KB
📄 references/boundary_checklist.md 2.7 KB
📄 references/platform_columns.md 2.6 KB
📄 scripts/parse_and_merge.py 17.1 KB
📄 scripts/test_boundary.py 21 KB