16 added, 10 removed. Audit A to A.
---
name: koubo-workflow
description: Koubo 口播稿完整工作流 Skill(v11.7·2026-07-12 约束优先写作法)。当用户要求生成口播稿、8篇口播、写口播、今天的口播、明天的口播、选题、口播稿选题、生成口播内容时使用。v11.7新增:约束优先写作法——每篇动笔前先算预算(字数/我/转折/收藏/教练),写中实时调用 koubo_live_check.py 自查,写完后一次性过门禁,杜绝V1-V20迭代返工。v11.6热点锚定铁律:三层防线体系;Phase 1热点扫描前置为item 1最高优先级。
---
> **本文件是口播稿8篇生成的工作流**
> 详细长期规则见 `自媒体/.workbuddy/memory/MEMORY.md`
> 账号定位/多平台算法见 `口播稿/koubo/账号定位记忆.md`
> 已发布记录见 `口播稿/koubo/已发布内容记忆.json`
## ⚠️ 24 小时新消息时效铁律(2026-07-20 用户强制·选题前置硬门槛)
- 选题**只认 24 小时内首次出现的消息**;判定"新"看的是**消息原始首次发布时间**,不是"今天又看到"的转发时间。
- **旧消息当天重发/二次转发排除(明确·零容忍)**:24 小时窗口之外早已发布的消息,即便当天被某账号再次转发、二次推送,也**一律不算**"24 小时内的新消息",**不得据此选题**。
- 选题前必须 WebSearch 核实候选消息的**原始发布时间戳**,确认确实落在发布日 T+1 往前 24h 窗口内,才进候选池;不核实原始时间不许选题。
- 与 AGENTS.md 2.1「24 小时新消息判定铁律」+ 2.1.2 选题拆解 SOP 同源,冲突以 AGENTS.md 为准。
# Koubo 口播稿完整工作流
## ⚠️ 约束优先写作法(v11.7 新增·杜绝迭代返工)
> **核心原则:写完才验 = 注定返工。先算预算再写 = 一遍过。**
### 写作前:每篇设定预算表
每篇动笔前先设定以下预算,用 `koubo_live_check.py` 验证通过后再写下一篇:
- | 约束项 | 预算 | 检查方式 |
- |--------|------|----------|
- | 字数 | **475**(中点,留15字缓冲) | `koubo_live_check.py "正文"` |
- | "我"次数 | **9**(留1个冗余) | 同上 |
- | 句子长度 | **≤35字**(留7字安全边际) | 同上 |
- | 二次冲击转折 | **必须1个在280-380区间** | 查看 `全部转折词位置` |
- | 教练词 | **≥1个**(你不妨/你试试/你赶紧/现在就/先别) | 同上 |
- | 收藏价值 | **≥5分**(每篇≥4分,8篇均分≥5) | 查看5维评分 |
- | 转折词类型 | **8篇用不同转折词**(但/不过/然而/其实 各≤5篇) | `--quick` 跨篇模式 |
- | 结尾类型 | **行动式:金句式:感慨式 各2-3篇** | 同上 |
+ | 约束项 | 预算 | 检查方式 |
+ | ------------ | ----------------------------------------------- | ---------------------------- |
+ | 字数 | **475**(中点,留15字缓冲) | `koubo_live_check.py "正文"` |
+ | "我"次数 | **9**(留1个冗余) | 同上 |
+ | 句子长度 | **≤35字**(留7字安全边际) | 同上 |
+ | 二次冲击转折 | **必须1个在280-380区间** | 查看 `全部转折词位置` |
+ | 教练词 | **≥1个**(你不妨/你试试/你赶紧/现在就/先别) | 同上 |
+ | 收藏价值 | **≥5分**(每篇≥4分,8篇均分≥5) | 查看5维评分 |
+ | 转折词类型 | **8篇用不同转折词**(但/不过/然而/其实 各≤5篇) | `--quick` 跨篇模式 |
+ | 结尾类型 | **行动式:金句式:感慨式 各2-3篇** | 同上 |
### 写作中:实时自检
写完每篇正文后,**立即调用**:
+
```bash
python koubo_live_check.py "正文内容..."
```
+
看到 ✗ 就当场修,不等到8篇全写完再回头改。
### 写作后:一次性双门禁
8篇全部通过 `live_check` 后,跑:
+
```bash
python koubo_quality_gate.py MMDD.txt # Gate①
python koubo_validate.py MMDD.txt # Gate②
```
+
若还有 [!!],用 `live_check` 定位单项→修复→重跑,不超过2轮。
### 归档收尾(工作流不可跳过硬步骤·2026-07-15 加固)
双门禁全绿 + 对话全文显示后,**必须**执行归档收尾,否则工作流视为未完成:
+
```bash
python archive_daily.py --finalize # 当日 MMDD.txt 并入 历史口播稿汇编.txt 并清空 Output/
python archive_daily.py --check # 校验当日稿已入汇编;返回0=完成,非0=立即重跑 --finalize
```
+
- ⚠️ 严禁只跑 `archive_daily.py`(默认模式只移"非当日"稿,当日稿会留在 Output 被误判为"已归档")——这是已发生过的漏归档根因。
- ⚠️ 不建后台定时任务:归档是工作流内一步到位的收尾动作,与"今天文章发完了"等公众号指令无关。
### 关键阈值速查表(与 validate.py 完全对齐)
```
字数: 470-490
句子硬限: ≤42字 (硬FAIL) / ≤33字 (软WARN)
"我"次数: ≥8
二次冲击区段: body[280:380]
转折词白名单: 但/却/竟然/居然/原来/结果/没想到/出乎/反转/不对/其实/
事实上/最让人/更要命/讽刺/意外/反过/颠覆/而且/同时/
另外/关键是/问题是/不过/然而/仔细一看/再一看/刺眼/不对劲
⚠️ "可"不在白名单!"可"作"可以"解不算转折!
收藏5维: 步骤清单/价格数据/工具推荐/避坑框架/方法论 (每维0-2分)
教练词: 你不妨/你试试/你赶紧/现在就/先别/别等/不妨/试一次/赶紧去
跨篇但上限: ≤5篇使用 ✓
跨篇其实上限: ≤5次 ✓
跨篇我自己上限: ≤2次 ✓
跨篇真正上限: ≤3次 ✓
结尾感慨式: ≤3篇 ✓
模板化判断词: 同一"我X"判断开头词(如我判断)跨篇≤2篇 ✓ (koubo_validate.py 的 CROSS_ARTICLE_PHRASES 已含'我判断',≥3篇即FAIL)
开头句式多样性: 8种开头族(你直戳式/数字冲击式/场景代入式/惊叹疑问式/反共识式/时效播报式/身份自述式/其他自由式),每族每天≤2篇 ✓ (koubo_validate.py classify_opening 硬门禁,>2即FAIL)
禁止商业名片式自报家门: 正文不得写"我是做AI教育的李总/我是李总/我就是李总"等(账号名已含"李总",生硬自报是AI模板腔)✓ (koubo_validate.py #22「生硬自报家门」硬门禁,命中即整篇打回;人设用"我办学/我带学员"自然带出)
禁止关注我类收束(2026-07-20 用户铁律): 口播稿不再写"关注我,XXXXX"结尾引导 ✓ (koubo_validate.py 第8项CTA残留+结尾CTA检查已移除"标准收束豁免",命中"关注我"即整篇FAIL;结尾一律用评论钩子问句/金句收束,见#26)
全量显示机器检查点(2026-07-20 用户铁律): 修改/生成口播稿后必须全量显示,禁止只贴改动篇 ✓ (koubo_validate.py 内置「显示纪律(全量显示)」硬检查,比对段内容sha与 .workbuddy/koubo_display_hash;不一致=硬FAIL阻断"全部通过"。标准动作: koubo_display.py 打印全量→粘贴对话框→koubo_display.py --mark 写检查点→再跑 koubo_validate.py 须出现"检查点已匹配✓ 全部通过"方可宣称完成)
⚠️ 死模板红线: 第2句"今天用X分钟"+"最后一个/九成"组合 → 判"死模板"族,8篇全用必FAIL。6.2.7三句钩子公式已降级为可选技巧(当天≤2篇),不得作统一开头。
⚠️ 开头第一分句≤15字且含情绪词(你|谁|!|?|还|竟|已|刚|不|没|就|才|只|又|被|全|最|太|空|一|整|大|多|爆|猛|吓|抢|暴涨|暴跌|崩|炸|疯|卷)
⚠️ 开头类型禁"吓一跳/太X了/炸锅了"等模板化起手
```
### 0712迭代教训(永久记住)
1. **"可"字陷阱**:正文里"可"字当"可以"用不算转折词,但人眼容易误判
2. **差1字符**:A2的"但"在279位置,差1字符不进280-380区间
3. **加字=加句号**:补字数优先用短句+句号,不要堆长句
4. **收藏=关键词密度**:多嵌"步骤/方法/成本/避坑/工具"等词自然提分
5. **先预算后写**:不设预算直接写 = 必然返工(0712用了20+轮)
---