# 本 skill 的自维护：去重、消冲突、防膨胀（2026-06-23 Maggie 授权优化时确立）

## 为什么需要
本 skill 是「一条条积累」起来的（每次 Maggie/Doro 纠正就追加一条），必然产生两类病：
- **重复**：同一规则在多处各自展开，措辞还不完全一致 → 互相「打架」（人民中路 L 列出错的土壤之一）。
- **膨胀**：996 行 / 151K 字节 / 24 个 `##` + 62 个 `###`。开工前光扫一遍就吃掉大量注意力 = **延迟源本身**。

## 安全去重方法（已验证，照此做）
1. **先量化诊断，不靠感觉**：用 execute_code 按主题词聚类数重复次数（`text.count(关键词)`），找命中最高的几类（实测：标红 110、H列 102、OCR符号 63、Excel安全 61、模版 58）。
2. **区分「规则本身」vs「技术细节展开」**：规则（标什么/不标什么、判据、退路）一字不留在正文；技术操作细节（XML 外科手术、五查步骤、命令配方、排查叙事）才下沉。⚠️ 关键词**嵌在规则正文里**的（如「4a 跨副本对撞」「违约金基数」）是规则，不是复读，**不能动**。
3. **下沉前提：reference 已完整存着该规则**。先 `read_file` 确认真身在 reference 里，删正文复读才零风险。reference 不全的，先补全 reference 再删正文。
4. **正文留最硬的铁律，细节进 reference**：如标红区保留 4 条硬铁律（唯一路径=WPS另存／红必须最后一步／二次编辑别 openpyxl 重存／别当测试员），把「试过哪些修法、怎么做 XML 手术、五查怎么验」下沉。开工扫一遍仍记得「怎么不踩坑」，动手时再翻 reference 拿完整配方。
5. **改前备份**：`cp SKILL.md SKILL.md.bak_$(date +%Y%m%d_%H%M%S)`，改坏随时回滚。
6. **dry-run 定边界再 patch**：先打印将删区块的首尾行 + 锚点唯一性校验（`find_line` 返回恰好 1 个），确认边界外的规则保留、脏 `\n` 字面转义字符一并清，再动手。
7. **改后验收（逐项 grep，不凭印象说「改好了」）**：① 字节数变化（看 `wc -c` 不是行数）② 每条规则判据/退路/指针关键词仍在 ③ 脏字符清零 ④ reference 真身未动（行数不变）。

## 度量陷阱
体量真实指标看**字节数**（`wc -c`），**不是行数**——中文 3 字节，标红那批行数只减 11 但字节减 9.5K(−6%)、标红主题命中 110→71。execute_code 的 `len(text)` 是 UTF-8 字符数（≈68K），与磁盘字节数（151K）差 ~2.2 倍，别混用两个口径报数。

## 🔴 已知设计冲突（2026-06-23 确认，修复需 Maggie 授权）
**闸门脚本 `scripts/campus-workflow-gate.py` 把 Step2 吐成 `Step2-A 法律审查` / `Step2-B 提取分析` 两条串行 todo，与 SKILL.md 正文「动作A 法律审查 ‖ 动作B 提取分析 **并行**」的设计自相矛盾。** 我照串行 todo 逐项打勾 → 把本该并行的两件事做成串行（人民中路实证，是慢的根因之一）。
- **正解**：Step2 开工**第一个动作 = 立刻 `delegate_task` 把动作B（提取+模版比对）甩到后台**，发出的同一秒自己开始读法律 → 两件事真并行。我是单线程，「不外包动作A」≠「串行做两件事」。
- **修法（待授权）**：gate 脚本把 Step2-A/2-B 合成一条，并把「⚡先发 subagent 甩动作B」顶到 Step2 todo 最前。
- **通则**：脚本吐出的 todo 与正文口径必须一致——改了正文流程设计，必须同步改 gate 脚本，否则脚本在物理上诱导我违背正文。

## 执行纪律权重失衡（设计层观察，提权需授权）
核实类铁律在正文命中上百次，而「边说边做／动作与解说分轮」的执行纪律（Pitfall 23）只 11 次、埋在最末。几十条「多核实多写」在每个回合把我拽向「多写、边说边做」，是延迟的**系统性诱因**。实证：同样 77 行合同，前面反复「读不出来」耗 40 分钟，最后一条 `sed` 0.X 秒读完——慢在执行不在任务。提权方向：把执行纪律提到与「第一铁律·逐字通读」并列，并写明它优先于核实类铁律对单个回合的占用（核实照做，放到结果回来那一轮做，不和动作抢同一轮）。
