<!--
  © 2026 IHUI AI (智汇AI) · 版权所有者: 李春川 (Li Chunchuan) · https://aizhs.top
  Provenance-watermarked. 未授权商用可被溯源追责 (Apache-2.0 须保留本声明与 NOTICE)。
  [IHUI-AI-PROVENANCE]:⁠​‌​​‌​​‌‍‍​‌​​‌​​​‍‍​‌​‌​‌​‌‍‍​‌​​‌​​‌‍‍​​‌​‌‌​‌‍‍​‌​​​​​‌‍‍​‌​​‌​​‌‍‍‌​‌‌​‌‌‌‍‍‌‌​​‌‌​​‌‌‌‌​‌​‍‍‌‌​‌‌​​​‌​​​‌‌‌‍‍​‌​​​​​‌‍‍​‌​​‌​​‌‍‍‌​‌‌​‌‌‌‍‍‌‌​​‌‌‌​‌​​‌‌‌​‍‍‌‌​​‌‌​​​‌​​‌​‌‍‍‌​‌‌‌​‌‌‌​‌‌‌​‌‍‍‌​‌‌​‌‌‌‍‍​‌​​‌‌​​‍‍​‌​​​​‌‌‍‍‌​‌‌​‌‌‌‍‍​‌‌​​​​‌‍‍​‌‌​‌​​‌‍‍​‌‌‌‌​‌​‍‍​‌‌​‌​​​‍‍​‌‌‌​​‌‌‍‍​​‌​‌‌‌​‍‍​‌‌‌​‌​​‍‍​‌‌​‌‌‌‌‍‍​‌‌‌​​​​‍‍‌​‌‌​‌‌‌‍‍​‌​‌​​​​‍‍​‌​‌​​‌​‍‍​‌​​‌‌‌‌‍‍​‌​‌​‌‌​‍‍​‌​​​‌​‌‍‍​‌​​‌‌‌​‍‍​‌​​​​​‌‍‍​‌​​‌‌‌​‍‍​‌​​​​‌‌‍‍​‌​​​‌​‌‍‍​​‌​‌‌​‌‍‍​​‌‌​​‌​‍‍​​‌‌​​​​‍‍​​‌‌​​‌​‍‍​​‌‌​‌‌​⁠
-->

---
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篇**                | 同上                         |

### 写作中：实时自检

写完每篇正文后，**立即调用**：

```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+轮）

---
<!-- ⁠​‌​​‌​​‌‍‍​‌​​‌​​​‍‍​‌​‌​‌​‌‍‍​‌​​‌​​‌‍‍​​‌​‌‌​‌‍‍​‌​​​​​‌‍‍​‌​​‌​​‌‍‍‌​‌‌​‌‌‌‍‍‌‌​​‌‌​​‌‌‌‌​‌​‍‍‌‌​‌‌​​​‌​​​‌‌‌‍‍​‌​​​​​‌‍‍​‌​​‌​​‌‍‍‌​‌‌​‌‌‌‍‍‌‌​​‌‌‌​‌​​‌‌‌​‍‍‌‌​​‌‌​​​‌​​‌​‌‍‍‌​‌‌‌​‌‌‌​‌‌‌​‌‍‍‌​‌‌​‌‌‌‍‍​‌​​‌‌​​‍‍​‌​​​​‌‌‍‍‌​‌‌​‌‌‌‍‍​‌‌​​​​‌‍‍​‌‌​‌​​‌‍‍​‌‌‌‌​‌​‍‍​‌‌​‌​​​‍‍​‌‌‌​​‌‌‍‍​​‌​‌‌‌​‍‍​‌‌‌​‌​​‍‍​‌‌​‌‌‌‌‍‍​‌‌‌​​​​‍‍‌​‌‌​‌‌‌‍‍​‌​‌​​​​‍‍​‌​‌​​‌​‍‍​‌​​‌‌‌‌‍‍​‌​‌​‌‌​‍‍​‌​​​‌​‌‍‍​‌​​‌‌‌​‍‍​‌​​​​​‌‍‍​‌​​‌‌‌​‍‍​‌​​​​‌‌‍‍​‌​​​‌​‌‍‍​​‌​‌‌​‌‍‍​​‌‌​​‌​‍‍​​‌‌​​​​‍‍​​‌‌​​‌​‍‍​​‌‌​‌‌​⁠ -->
