diff --git a/session-mechanism/SKILL.md b/session-mechanism/SKILL.md index 65ee189..0a86d58 100644 --- a/session-mechanism/SKILL.md +++ b/session-mechanism/SKILL.md @@ -459,6 +459,15 @@ python .workbuddy/collab/collabd.py --set-life 进行中 --by "主会话"  ✅ **判据实体就在本档正文里**(2026-10-04 改,原文写「权威在 `agent-operating-rules §1.6`」——现已改为**本档即权威**)⇒ 🔴 **只复制这一个技能到别的机器,这些功能全部可用,⛔ 不依赖任何其他技能**。📌 来路:2026-10-04 从 `dsh-decision/references/01` 逐行搬入;⛔ `dsh-decision` 那份视为副本,**改判据以本档为准**。  🔴 **配合任务会话的六阶段一起用**(见 `references/collab.md` §5):**需求识别 → 调研 → 规划 → 执行 → 验证 → 归档**——每个阶段都能撞上"该自己定还是该问用户",本档就是那一刻的判据。 +**⑧ 我要梳理/盘点技能库**(用户说「**梳理技能**」「**盘点技能库**」「**技能库体检**」「**技能清理**」「**梳理一下技能的要求和描述**」——任一句即触发)⇒ 读 **`references/05-技能梳理规程.md`**(2026-10-15 立)。 + 它把 2026-10-06 ~ 10-15 里**零散做过的 6 次"技能梳理"**归纳成 **11 项可执行的检查**,分四段走: + · **先测再判** —— ① 盘点技能根下每一层(含**非技能散件**)② 判"在用/没用"(判据=**实际被加载过几次**,扫会话转录)。 + · **分类** —— ③ 按"**删了会丢什么**"分四档(能力型/知识方法型/散件/绝不能动)④ 查功能重叠(列出合并落点)。 + · **查隐患** —— ⑤ 白名单对不对 ⑥ 本机生成的契约有没有被误入库 ⑦ 入库代码里有没有"写死这台机器" ⑧ 路径形态对不对 ⑨ 正文有没有自相矛盾 ⑩ 有没有多份副本 ⑪ 待提交清单。 + · **输出** —— 产物落 `交付物/技能清单-<日期>.md`,必须含「**这份读数能说明什么、不能说明什么**」一节。 + 🔴 开头就摆着两条**已证过的坑**:**零值必须先自证**(拿一个已知非零的样本做对照,否则"全 0"分不清真没有与没测到)· **"在册" ≠ "在跑"**(判机制生效看**新鲜调用时间戳**,⛔ 不看配置文件里有没有)。 + ⛔ 本规程只交「清单 + 分档 + 读数」,**删/改/并的判据只有用户能给**;要动手另按 `references/00-动手前必过.md` 走。 + --- ## 🔴🔴 T 表 · 状态 → 我该做什么(2026-10-04 用户口述,⛔ **唯一权威,不许 AI 推断**) diff --git a/session-mechanism/references/01-文档索引.md b/session-mechanism/references/01-文档索引.md index dbb7851..0612815 100644 --- a/session-mechanism/references/01-文档索引.md +++ b/session-mechanism/references/01-文档索引.md @@ -28,6 +28,7 @@ | 查某个历史会话干了啥 | `forensics.md` | — | | 任务图/多会话分工 | `taskgraph.md` + `collab.md` | — | | 怎么回话/排版 | `03-回复排版-核心块.md` + `02-功能优先协作协议.md` | — | +| **梳理技能库/盘点技能**(「梳理技能」「盘点技能库」「技能库体检」) | `05-技能梳理规程.md` | 其余全部 | | 对方甩来一句没头绪的话 | `02-功能优先协作协议.md` | — | | 只想要速查 | `99-速查清单.md` | — | | **问「这是什么、为什么这样」** | `architecture.md` | — | diff --git a/session-mechanism/references/05-技能梳理规程.md b/session-mechanism/references/05-技能梳理规程.md new file mode 100644 index 0000000..45c8417 --- /dev/null +++ b/session-mechanism/references/05-技能梳理规程.md @@ -0,0 +1,89 @@ +# 05 · 技能梳理规程 + +> **什么时候用**:用户说「**梳理技能**」「**盘点技能库**」「**技能库体检**」「**技能清理**」 +> 「梳理一下技能的要求和描述」—— 任一句即触发本规程。 +> **一句话判据**:**先把读数拿到手,再谈分类;分类之后只报"删了会丢什么",删不删由用户定。** + +## 为什么要有这篇(2026-10-06 ~ 10-15 的实证) + +近 10 天里,「技能梳理」这件事被零散地做过至少 6 次,每次都要重新摸一遍判据 —— +结果每次都踩同一个坑,或漏同一类东西。以下 11 项是**从那些实际发生过的动作里归纳出来的**, +不是凭空设计的清单。两个已证的坑先摆在前面: + +- 🔴 **零值必须先自证**:2026-10-07 测"技能被加载过几次",指纹写错(技能名被**转义引号**包着,按普通引号匹配) + ⇒ 一个都中不了,读数看着像"全都没用过",连 `session-mechanism`(当天我自己刚加载过)都是 0。 + ⇒ **拿一个已知一定非零的样本做对照**,是本规程每一步统计的必备第一步。 +- 🔴 **"在册" ≠ "在跑"**:判某机制有没有生效,要看**新鲜的调用时间戳**,不能看"配置文件里有它"。 + +--- + +## 第一段 · 先测再判(⛔ 不许凭印象) + +**① 盘点目录** +把技能根下的**每一层**列出来:`<技能根>/<名>/`(真技能)+ 那些**散件**(不是技能却也躺在里面的文件/目录)。 +⛔ 别只列"看起来像技能"的 —— 散件正是"乱"的来源。 + +**② 判"在用 / 没用"** +判据=**实际被加载过几次**,数据来自会话转录(宿主库**没有**技能使用记录表)。 +- 扫 `<配置根>/projects/**/*.jsonl`;指纹用**逐个技能名精确匹配**(注意转义形态)。 +- 🔴 **先跑自证样本**(见上);再出读数。 +- 分档给出:在用 / 从未加载且装得早 / 从未加载但装得晚(证据不足)。 +- ⛔ 这份读数**只说明"有没有在用"**,它**不构成**任何删除建议。 + +## 第二段 · 分类 + +**③ 按"删了会丢什么"分四档** +- 第 1 档 **能力型**:删了就没这个功能了。 +- 第 2 档 **知识 / 方法型**:删了丢经验,但内容**可以搬家**。 +- 第 3 档 **非技能的散件**:与技能无关,却是"乱"之源。 +- 第 4 档 **绝不能动**:机制依赖它活着。 + +**④ 查功能重叠** +把"做同一件事"的技能成对列出来,注明**合并后落点**。重叠项在删/并时要一起看,别单删一个。 + +## 第三段 · 查隐患(这一段的每一项都对应过一次真实事故) + +**⑤ 白名单对不对** +技能仓用白名单收(`/*` 全挡 + 逐个放行)。逐条问:**在仓里的,是不是都该在**。 +- 新增独立技能后,记得同步放行(2026-10-11:`video-capture` 独立了但白名单没加 ⇒ 仓里只剩一份指向仓外的交接说明)。 + +**⑥ 本机生成的契约有没有被误入库** +`env/roots.env`、`references/manifest.md` 这类**每台机器各不同**的产物,入仓即污染。 +判据:**它是不是由本机某个脚本生成** —— 是 ⇒ ⛔ 不入库。 + +**⑦ 入库代码里有没有"写死这台机器"** +逐项查:盘符字面量 / 绝对机器路径 / 工作区清单。这些一旦入仓,同步到别的机器就搞坏对方环境 +(2026-10-11 用户报障原话:「这个环境都是针对一台机器的,同步到别的机器把环境都搞坏了」)。 +✅ 修法:**配置外置**(`env/roots.env`)+ **推不出来就如实报错留痕**。 + +**⑧ 路径形态对不对** +包内引用**本包自己或同根技能**的位置 ⇒ 写 `<技能根>/<技能名>/` 或包内相对路径。 +**跨根引用**(工作区根 / 文档库根 / 本机软件安装位 / 宿主数据目录)⇒ 才落到具体位置,且优先读环境变量。 + +**⑨ 正文有没有自相矛盾** +同一件事在技能里出现两种写法(尤其是正文与规则段之间)。逐条对:**同一个概念只留一处定义**。 + +**⑩ 有没有多份副本** +同一技能存在 ≥2 份 ⇒ 定"唯一形态",其余归档(⛔ 不直删,留取回路径)。 + +**⑪ 待提交清单** +技能库相对 HEAD 有哪些改动(已跟踪 + 未跟踪分开列),逐条注明"谁在什么时候改的、为什么"。 + +--- + +## 第四段 · 输出 + +**产物落 `交付物/技能清单-<日期>.md`**,按上面 11 项分段写,每段带上**读数**(不是结论)。 + +必须写明的一节:**「这份读数能说明什么、不能说明什么」** —— +把"能判的"和"不能判的"分开放,避免下游把它当决策依据。 + +⛔ **删 / 改 / 并的判据只有用户能给**:本规程只交"清单 + 分档 + 读数", +不替用户决定删谁。要动手时另按 `references/00-动手前必过.md` 走。 + +--- + +## 一句话调用 + +用户说「**梳理技能**」「**盘点技能库**」「**技能库体检**」⇒ 按本文件跑一遍,产物落 `交付物/技能清单-<日期>.md`。 +用户点名范围(如"只梳理 X 区""只看白名单")⇒ 只跑对应那几项。