# 本 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 秒读完——慢在执行不在任务。提权方向:把执行纪律提到与「第一铁律·逐字通读」并列,并写明它优先于核实类铁律对单个回合的占用(核实照做,放到结果回来那一轮做,不和动作抢同一轮)。