Files
2026-07-13 12:29:17 +08:00

7.0 KiB
Raw Permalink Blame History

Cadence Protocol(节奏协议)

被这些子 skill 引用:cheat-statuscheat-recommendcheat-shootcheat-publish、SessionStart hook。

固化"哪天该做什么"——避免用户驱动每一步。让 Claude 在会话开场就能回答"我现在该拍 / 该发 / 该复盘"。


三层节奏

日级(每天 / 每次会话开场)

  1. SessionStart hook 自动渲染 4-6 行报告:
    • 📦 Buffer 状态(颜色 + 数量)
    • 待复盘到期项
    • 🎯 候选池 top 3(粗排)
    • 📅 上次抓热点时间
    • ⚠️ 关键 to-do
  2. 不主动开始任何动作——等用户决定

事件级(T+RETRO_WINDOW_DAYS 天到期)

  • 任何已发未复盘 + 时间到 → SessionStart 顶部高亮
  • 用户给数据(粘 / URL)→ /cheat-retro 自动跑

周级(用户决定的"集中处理日")

  • 抓热点(/cheat-trends)刷新候选池
  • 检查 rubric bump 触发条件
  • 清理 STATUS.md / rubric_notes.md 是否需要清算

Buffer 警戒规则

Buffer = state.shoots 数组长度 = 已拍但未发布的视频数。

/cheat-shoot 把视频加进 state.shoots/cheat-publish 移除——两个事件分开使 buffer 跟踪准确。

颜色阈值(按 target_publish_cadence_days 派生)

buffer_days = buffer_count × target_publish_cadence_days

buffer_days 颜色 含义 行动
< 1 🔴 警戒——下个发布日可能断更 今天必须拍,且只拍稳分(top 1,不冒险)
1-2 🟠 偏低 应该拍 1-2 条
3-5 🟢 绿 正常 节奏稳定,可以拍可以休
> 5 🔵 积压 暂停拍摄,全力发布存货 + 复盘

示例

  • 用户 cadence = 1(日更),buffer count = 0 → buffer_days = 0 → 🔴
  • 用户 cadence = 7(周更),buffer count = 1 → buffer_days = 7 → 🔵(一篇够发七天)
  • 用户 cadence = 1buffer count = 4 → buffer_days = 4 → 🟢

灵活节奏(target_publish_cadence_days = null

用户在 cheat-init 选"灵活/不固定" → buffer 监控关闭。SessionStart 报告只显示"已拍未发:N 条",不显示颜色,不警戒。


选题策略(/cheat-recommend 推 ≥ 2 个时)

每次推荐 2 条时遵循 1 稳分 + 1 实验性 原则:

第 1 条(稳分)

  • 排序 top 1-3
  • 类目与最近 N 条已发不重复N = max(3, target_publish_cadence_days × 3),避免审美疲劳)
  • composite 高 + 议题安全(非 risky

第 2 条(实验性)

  • 候选池里能验证某个待验证假设的样本(如新维度的 A/B 对照)
  • 或验证某个新 patternscript_patterns.md 的 Pattern N
  • composite 不一定 top,但有"信息价值"——复盘后能让 rubric / pattern 库前进

Buffer 颜色对推荐的覆盖

Buffer 颜色 推荐策略覆盖
🔴 只推稳分 top 1——不推实验性。"今天能拍出来就行"
🟠 1 稳 + 1 实验,但建议优先拍稳分
🟢 绿 标准 1+1
🔵 暂停推荐——回 "你 buffer 积压了,先发存货 + 复盘"

关键约束(任何颜色都遵守):

  • 同一 category 连发 ≤ 2 条
  • 已发过的 candidate(标 done)不推
  • 用户主动跳过的 candidate(标 skip6 个月内不推

节奏元规则

按优先级(高→低):

  1. Buffer 优先于评分:红色警戒时不要因为"等更好的选题"而断更——拍 composite 7.5 的稳分比"等明天的 9.0"安全
  2. 复盘优先于新拍T+RETRO_WINDOW_DAYS 到期当天先复盘再考虑拍新的——否则数据信号丢失,rubric 校准受损
  3. 同步优先于积压:buffer 满(蓝色)时不要再拍,先发掉再说——已拍议题的时效性会衰减
  4. 实验性最多 1/天:每天拍 2 条时至少 1 条是稳分。不要全实验——冷启动期实验失败率太高,伤校准节奏

标准化"今日工作流"模板

情况 1buffer 充足 + 没到 T+3d 复盘

SessionStart 报告 → user 决定拍/不拍
├─ 拍 → "推荐选题" → cheat-recommend 推 2 个 →
│       user 选 → /cheat-seed 写 draft (cold-start) 或 user 自己写 →
│       user 改写 → script.md → user 拍 → "拍了 videos/<...>/" → cheat-shoot
└─ 不拍 → 等

情况 2buffer 充足 + 到 T+3d 复盘

SessionStart 报告含 ⏰ 复盘提醒 → user 给 video URL 或粘数据 →
cheat-retro 自动跑 → 写复盘段 → 检查 bump 触发条件
├─ 触发 → 提议 /cheat-bump(不强制,用户决定)
└─ 未触发 → 等下个验证样本

情况 3buffer 红色警戒

🔴 SessionStart 第一行警戒 → user 决定
├─ 拍 → cheat-recommend 只推 v 当前 top 1 稳分 → 立即拍
└─ 接受断更风险 → user 自负,cheat-status 持续提示

情况 4buffer 蓝色积压

🔵 SessionStart 报告"积压" → user 决定
├─ 发 → "已发布 https://..." → cheat-publish → buffer -1
├─ 复盘 → 见情况 2
└─ 拍新 → cheat-recommend 拒绝:"你 buffer 已 N 条,先发掉 ≤3 条再来"

情况 5:周期性集中处理日(用户主动触发)

user 说"抓热点" → cheat-trends → 候选池更新
+ user 说"看看 rubric 是不是该升了" → cheat-status 检查同向偏差累计
+ user 说"看看 rubric_notes 行数" → cheat-status 健康度检查

兜底:流程偏离时

如果某天违反节奏(buffer=0 但用户强行不拍 / 积压 ≥10 但用户继续拍),SessionStart 报告显式标注

❌ 你已 N 天没发新内容(最后一次发布:YYYY-MM-DD),
   buffer = 0,你的频道目前处于"事实断更"状态

或:

❌ 你 buffer 已 N 条但还在新拍,
   过去 N 条里有 N 条已超过 X 天未发——存在时效性流失风险

不会自动尝试补救——只显式报告,由 user 决定如何回到节奏。


子 skill 责任表

Skill 节奏责任
/cheat-init 问 cadence;写 target_publish_cadence_days;装 SessionStart hook
/cheat-shoot 把 video folder 加 state.shootsbuffer +1
/cheat-publish 从 state.shoots 移除对应项,buffer -1
/cheat-status 计算 buffer + 颜色,输出报告
/cheat-recommend 按 buffer 颜色 + 选题策略给推荐
/cheat-retro 复盘后更新 STATUS(自动 trigger /cheat-status
SessionStart hook 调 /cheat-status 渲染 4-6 行报告,写到 STATUS.md

关键差异:cheat-on-content vs 视频分析

维度 视频分析 cheat-on-content
Cadence 来源 默认日更(CADENCE.md 硬编码) 用户自填(cheat-init 问,4 档:日/隔日/周/灵活)
Buffer 阈值 0/1/2/3-5/6+(按"篇" 0/1-2/3-5/>5(按"buffer_days"——按用户 cadence 派生)
推荐 2 条策略 1 稳 + 1 实验
SessionStart 报告 CLAUDE.md 文字约束 + Claude 自觉 hook 强制 + Claude 读 hook 输出