Files
hermes-skills/skills/legal/contract-portfolio-analysis/references/skill-self-maintenance.md
T

4.2 KiB

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