session-mechanism:05/06 只收通用要求,环境配置专属规则全部移出
用户令(2026-10-16):「技能优化规则 只能放 通用要求,不能放技能环境配置目录要求的专属规则」 +「技能库盘点规则 也要按照这个标准调整」。 - 06 删掉 A 段(配置外置/不写死本机/本机生成契约/路径形态/入仓白名单)与总表的 A 层 5 行, 总表 21 条 → 16 条三层(B 结构 4 + C 流程 9 + D 表述 3),编号重排 1–16; 入口写明「只收通用要求」,专有配置规则指向 01-文档索引.md 的「技能环境配置规范」。 - 05 的第三段删掉 白名单/本机生成契约/写死本机/路径形态 四项(同属环境配置规范), 查隐患段剩三项并重编号;全篇 11 项 → 7 项。 - SKILL.md §0 的 ⑧⑨ 两项摘要同步(条数、编号、A 段删除);05 的编号引用改指重排后的 #4/#1。 - 自测 t_skill06_entries_same_source 的条数口径 21 → 16。 验收:全量自测 PASS 113 / FAIL 0;体检 fail 0 / warn 1 / ok 15;manifest 82 份; install.py --verify 全绿;05 = 76 行、06 = 106 行。
This commit is contained in:
1 parent
24a644f57b
commit
7514a5f0fe
4 files changed
+64
-99
No files matched your search
@@ -464,26 +464,24 @@ python .workbuddy/collab/collabd.py --set-life 进行中 --by "主会话"
|
|||||||
🔴 **配合任务会话的六阶段一起用**(见 `references/collab.md` §5):**需求识别 → 调研 → 规划 → 执行 → 验证 → 归档**——每个阶段都能撞上"该自己定还是该问用户",本档就是那一刻的判据。
|
🔴 **配合任务会话的六阶段一起用**(见 `references/collab.md` §5):**需求识别 → 调研 → 规划 → 执行 → 验证 → 归档**——每个阶段都能撞上"该自己定还是该问用户",本档就是那一刻的判据。
|
||||||
|
|
||||||
**⑧ 我要盘点技能库**(用户说「**盘点技能库**」「**技能库体检**」「**技能清理**」「**技能清单**」「**技能已无作用**」——任一句即触发)⇒ 读 **`references/05-技能库盘点规程.md`**(2026-10-15 立)。
|
**⑧ 我要盘点技能库**(用户说「**盘点技能库**」「**技能库体检**」「**技能清理**」「**技能清单**」「**技能已无作用**」——任一句即触发)⇒ 读 **`references/05-技能库盘点规程.md`**(2026-10-15 立)。
|
||||||
它把 2026-10-06 ~ 10-15 里**零散做过的 6 次"技能盘点"**归纳成 **11 项可执行的检查**,分四段走:
|
它把 2026-10-06 ~ 10-15 里**零散做过的 6 次"技能盘点"**归纳成 **7 项可执行的检查**,分四段走:
|
||||||
· **先测再判** —— ① 盘点技能根下每一层(含**非技能散件**)② 判"在用/没用"(判据=**实际被加载过几次**,扫会话转录)。
|
· **先测再判** —— ① 盘点技能根下每一层(含**非技能散件**)② 判"在用/没用"(判据=**实际被加载过几次**,扫会话转录)。
|
||||||
· **分类** —— ③ 按"**删了会丢什么**"分四档(能力型/知识方法型/散件/绝不能动)④ 查功能重叠(列出合并落点)。
|
· **分类** —— ③ 按"**删了会丢什么**"分四档(能力型/知识方法型/散件/绝不能动)④ 查功能重叠(列出合并落点)。
|
||||||
· **查隐患** —— ⑤ 白名单对不对 ⑥ 本机生成的契约有没有被误入库 ⑦ 入库代码里有没有"写死这台机器" ⑧ 路径形态对不对 ⑨ 正文有没有自相矛盾 ⑩ 有没有多份副本 ⑪ 待提交清单。
|
· **查隐患** —— ⑤ 正文有没有自相矛盾(判据正本 ⇒ `06-技能优化规程.md`)⑥ 有没有多份副本 ⑦ 待提交清单。
|
||||||
🔴 这一段的**判据正本 = `06-技能优化规程.md` 的 A/B 两层**,05 只管采集读数。
|
🔴 **入仓白名单 / 本机生成契约 / 写死本机 / 路径形态**这四项属**技能环境配置规范**,本规程**不重复查**。
|
||||||
· **输出** —— 产物落 `交付物/技能清单-<日期>.md`,必须含「**这份读数能说明什么、不能说明什么**」一节。
|
· **输出** —— 产物落 `交付物/技能清单-<日期>.md`,必须含「**这份读数能说明什么、不能说明什么**」一节。
|
||||||
🔴 开头就摆着两条**已证过的坑**:**零值必须先自证**(拿一个已知非零的样本做对照,否则"全 0"分不清真没有与没测到)· **"在册" ≠ "在跑"**(判机制生效看**新鲜调用时间戳**,⛔ 不看配置文件里有没有)。
|
🔴 开头就摆着两条**已证过的坑**:**零值必须先自证**(拿一个已知非零的样本做对照,否则"全 0"分不清真没有与没测到)· **"在册" ≠ "在跑"**(判机制生效看**新鲜调用时间戳**,⛔ 不看配置文件里有没有)。
|
||||||
⛔ 本规程只交「清单 + 分档 + 读数」,**删/改/并的判据只有用户能给**;要动手另按 `references/00-动手前必过.md` 走。
|
⛔ 本规程只交「清单 + 分档 + 读数」,**删/改/并的判据只有用户能给**;要动手另按 `references/00-动手前必过.md` 走。
|
||||||
|
|
||||||
**⑨ 我要优化技能本身**(用户说「**优化技能**」「**技能怎么改更好**」「**梳理技能**」「**梳理一下技能的要求和描述**」「**技能太长**」「**这条规则写在哪**」「**这个技能能不能拷到别的机器用**」——任一句即触发)⇒ 读 **`references/06-技能优化规程.md`**(2026-10-15 立)。
|
**⑨ 我要优化技能本身**(用户说「**优化技能**」「**技能怎么改更好**」「**梳理技能**」「**梳理一下技能的要求和描述**」「**技能太长**」「**这条规则写在哪**」「**这个技能能不能拷到别的机器用**」——任一句即触发)⇒ 读 **`references/06-技能优化规程.md`**(2026-10-15 立)。
|
||||||
**一句话判据**:**写技能时,假设读者是"另一台机器上的另一个会话"** —— 拿它回放一遍,毛病自己浮出来。
|
**一句话判据**:**写技能时,假设读者是"另一台机器上的另一个会话"** —— 拿它回放一遍,毛病自己浮出来。
|
||||||
**三层,按 B → C → D 这个顺序做**(层名与文末总表对齐;**环境配置 A 层另属一份规范,只给指针**):
|
**三层,按 B → C → D 这个顺序做**(🔴 本规程**只收通用要求**;`env/` 怎么放、路径怎么写、什么不入仓这类**某个技能包专有的配置规则不在其中**):
|
||||||
· **A 技能环境配置**(换机器能不能活)—— #1 配置外置 / #2 不写死本机 / #3 本机生成契约不入库 / #4 路径形态统一 / #5 入仓按白名单。
|
· **B 结构层**(结构清晰·重点突出·无冲突·边界清晰)—— #1 单一真源 #2 注入面与真源同源(🔴 每轮注入的面**改文字必须量长度**)#3 命名一致 #4 正文不自相矛盾。
|
||||||
🔴 判据正本=`SKILL.md §0` 的「包内目录怎么分」+「路径一律用相对」+ 十一条禁令第 11 条 + 仓根 `.gitignore`;06 里**不复述**。
|
· **C 流程层**(流程顺畅·功能正常)—— #5 步骤顺序正确 #6 编号连续 #7 无跳步 #8 步骤间职责不越界 #9 字段归属正确 #10 上下游不断裂 #11 引用路径正确 #12 字段不缺失 #13 产物链完整(**P0**)。
|
||||||
· **B 结构层**(结构清晰·重点突出·无冲突·边界清晰)—— #6 单一真源 #7 注入面与真源同源(🔴 每轮注入的面**改文字必须量长度**)#8 命名一致 #9 正文不自相矛盾。
|
· **D 表述层**(简洁·高效·实用·无歧义)—— #14 肯定表述(正本 ⇒ `references/rules.md §9`)#15 说人话 #16 一页纸。
|
||||||
· **C 流程层**(流程顺畅·功能正常)—— #10 步骤顺序正确 #11 编号连续 #12 无跳步 #13 步骤间职责不越界 #14 字段归属正确 #15 上下游不断裂 #16 引用路径正确 #17 字段不缺失 #18 产物链完整(**P0**)。
|
|
||||||
· **D 表述层**(简洁·高效·实用·无歧义)—— #19 肯定表述(正本 ⇒ `references/rules.md §9`)#20 说人话 #21 一页纸。
|
|
||||||
🔴 **优先级**:B 结构 > C 流程 > D 表述 —— 前两层出毛病**机制失效或断链**,表述只是**效果差**。
|
🔴 **优先级**:B 结构 > C 流程 > D 表述 —— 前两层出毛病**机制失效或断链**,表述只是**效果差**。
|
||||||
🔴 **目标(用户 2026-10-15 原话)**:让技能描述**结构清晰·重点突出·简洁·高效·实用·无歧义·流程顺畅·功能正常·规则边界清晰·无冲突**。
|
🔴 **目标(用户 2026-10-15 原话)**:让技能描述**结构清晰·重点突出·简洁·高效·实用·无歧义·流程顺畅·功能正常·规则边界清晰·无冲突**。
|
||||||
🔴 **文末附「技能优化描述 · 总表」21 条四层**;**验法按层不同**:A ⇒ 拷到别处跑一遍/B ⇒ 同源比对 md5/C ⇒ 画数据流看断点/D ⇒ 人读(⛔ 别假装它有自动结论)。
|
🔴 **文末附「技能优化描述 · 总表」16 条三层**;**验法按层不同**:B ⇒ 同源比对 md5/C ⇒ 画数据流看断点/D ⇒ 人读(⛔ 别假装它有自动结论)。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
## 为什么要有这篇(2026-10-06 ~ 10-15 的实证)
|
## 为什么要有这篇(2026-10-06 ~ 10-15 的实证)
|
||||||
|
|
||||||
近 10 天里,「把技能库盘一遍」这件事被零散地做过至少 6 次,每次都要重新摸一遍判据 ——
|
近 10 天里,「把技能库盘一遍」这件事被零散地做过至少 6 次,每次都要重新摸一遍判据 ——
|
||||||
结果每次都踩同一个坑,或漏同一类东西。以下 11 项是**从那些实际发生过的动作里归纳出来的**,
|
结果每次都踩同一个坑,或漏同一类东西。以下 7 项是**从那些实际发生过的动作里归纳出来的**,
|
||||||
不是凭空设计的清单。两个已证的坑先摆在前面:
|
不是凭空设计的清单。两个已证的坑先摆在前面:
|
||||||
|
|
||||||
- 🔴 **零值必须先自证**:2026-10-07 测"技能被加载过几次",指纹写错(技能名被**转义引号**包着,按普通引号匹配)
|
- 🔴 **零值必须先自证**:2026-10-07 测"技能被加载过几次",指纹写错(技能名被**转义引号**包着,按普通引号匹配)
|
||||||
@@ -42,40 +42,21 @@
|
|||||||
**④ 查功能重叠**
|
**④ 查功能重叠**
|
||||||
把"做同一件事"的技能成对列出来,注明**合并后落点**。重叠项在删/并时要一起看,别单删一个。
|
把"做同一件事"的技能成对列出来,注明**合并后落点**。重叠项在删/并时要一起看,别单删一个。
|
||||||
|
|
||||||
## 第三段 · 查隐患(这一段的每一项都对应过一次真实事故)
|
## 第三段 · 查隐患
|
||||||
|
|
||||||
🔴 **判据正本 = `references/06-技能优化规程.md` 的 A/B 两层**。本段只管**采集读数**,
|
🔴 **环境配置合规性不属本规程** —— 入仓白名单、本机生成契约、写死本机、路径形态这四项,
|
||||||
不重复写判据 —— 某项查出问题,按 06 的对应项修。
|
判据在**技能环境配置规范**(见 `01-文档索引.md` 同名行),由机制类包自己的体检挂载,**盘点时不重复查**。
|
||||||
|
|
||||||
**⑤ 白名单对不对**
|
**⑤ 正文有没有自相矛盾**
|
||||||
读数:列出仓内已跟踪的目录 + 技能根下未被放行的技能目录,两边对照。
|
|
||||||
🔴 判据 ⇒ **技能环境配置规范**(正本 仓根 `.gitignore` 的注释块;06 的 A 段只给指针)。漏放行的实证:
|
|
||||||
2026-10-11 `video-capture` 独立了但白名单没加,仓里只剩一份指向仓外的交接说明。
|
|
||||||
|
|
||||||
**⑥ 本机生成的契约有没有被误入库**
|
|
||||||
读数:在 `git ls-files` 里搜 `env/roots.env`、`references/manifest.md` 这类候选。
|
|
||||||
🔴 判据 ⇒ 同规范(`SKILL.md §0`「包内目录怎么分」)。
|
|
||||||
|
|
||||||
**⑦ 入库代码里有没有"写死这台机器"**
|
|
||||||
读数:对已入仓文件扫三样 —— 盘符字面量 / 绝对机器路径 / 工作区清单,逐条记位置。
|
|
||||||
🔴 判据 ⇒ 同规范(`SKILL.md §0`「路径一律用相对」+ 十一条禁令第 11 条);修法 ⇒ 配置外置,推不出来就如实报错留痕。
|
|
||||||
|
|
||||||
**⑧ 路径形态对不对**
|
|
||||||
读数:逐个引用点记下它引的是包内还是跨根。
|
|
||||||
🔴 判据 ⇒ 同规范(`SKILL.md §0`「例外只有一类:跨根引用」)。
|
|
||||||
|
|
||||||
**⑨ 正文有没有自相矛盾**
|
|
||||||
读数:同一概念在各篇出现的位置与写法,成对列出。
|
读数:同一概念在各篇出现的位置与写法,成对列出。
|
||||||
🔴 判据 ⇒ 06 的 **#9**;同一件事散在多处的,收敛口径见 06 的 **#6**。
|
🔴 判据 ⇒ 06 的 **#4**;同一件事散在多处的,收敛口径见 06 的 **#1**。
|
||||||
|
|
||||||
**⑩ 有没有多份副本**
|
**⑥ 有没有多份副本**
|
||||||
同一技能存在 ≥2 份 ⇒ 定"唯一形态",其余归档(留取回路径,⛔ 不直删)。
|
同一技能存在 ≥2 份 ⇒ 定"唯一形态",其余归档(留取回路径,⛔ 不直删)。
|
||||||
|
|
||||||
**⑪ 待提交清单**
|
**⑦ 待提交清单**
|
||||||
技能库相对 HEAD 有哪些改动(已跟踪 + 未跟踪分开列),逐条注明"谁在什么时候改的、为什么"。
|
技能库相对 HEAD 有哪些改动(已跟踪 + 未跟踪分开列),逐条注明"谁在什么时候改的、为什么"。
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 第四段 · 输出
|
## 第四段 · 输出
|
||||||
|
|
||||||
**产物落 `交付物/技能清单-<日期>.md`**,按上面 11 项分段写,每段带上**读数**(不是结论)。
|
**产物落 `交付物/技能清单-<日期>.md`**,按上面 11 项分段写,每段带上**读数**(不是结论)。
|
||||||
@@ -90,6 +71,6 @@
|
|||||||
|
|
||||||
## 一句话调用
|
## 一句话调用
|
||||||
|
|
||||||
用户点名范围(如"只盘 X 区""只看白名单")⇒ 只跑对应那几项,触发词清单见文首。
|
用户点名范围(如"只盘 X 区""只看分类")⇒ 只跑对应那几项,触发词清单见文首。
|
||||||
产物落 `交付物/技能清单-<日期>.md`。
|
产物落 `交付物/技能清单-<日期>.md`。
|
||||||
📌 姊妹篇:**改技能描述**(一条规则写在哪、怎么表述、能不能换机器用)⇒ `references/06-技能优化规程.md`。
|
📌 姊妹篇:**改技能描述**(一条规则写在哪、怎么表述、能不能换机器用)⇒ `references/06-技能优化规程.md`。
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
# 06 · 技能优化规程
|
# 06 · 技能优化规程
|
||||||
|
|
||||||
> **什么时候用**(本规程只管**描述、结构、流程** —— 怎么写、怎么组织、边界清不清;**环境配置另有一份规范**):用户说
|
> **什么时候用**(本规程**只收通用要求** —— 描述、结构、流程怎么写、怎么组织;**技能环境配置目录的专属规则不在本规程**):用户说
|
||||||
> 「**优化技能**」「**技能怎么改更好**」「**梳理技能**」「**梳理一下技能的要求和描述**」「**技能太长**」
|
> 「**优化技能**」「**技能怎么改更好**」「**梳理技能**」「**梳理一下技能的要求和描述**」「**技能太长**」
|
||||||
> 「**这条规则写在哪**」「**这个技能能不能拷到别的机器用**」—— 任一句即触发;点名某一层 ⇒ 只跑那一层。
|
> 「**这条规则写在哪**」「**这个技能能不能拷到别的机器用**」—— 任一句即触发;点名某一层 ⇒ 只跑那一层。
|
||||||
> **一句话判据**:**写技能时,假设读者是"另一台机器上的另一个会话"。**
|
> **一句话判据**:**写技能时,假设读者是"另一台机器上的另一个会话"。**
|
||||||
@@ -11,7 +11,8 @@
|
|||||||
> 技能优化是为了让技能相关描述 —— **结构清晰 · 重点突出 · 描述简洁 · 高效 · 实用 · 无歧义 ·
|
> 技能优化是为了让技能相关描述 —— **结构清晰 · 重点突出 · 描述简洁 · 高效 · 实用 · 无歧义 ·
|
||||||
> 流程顺畅 · 功能正常 · 规则边界清晰 · 无冲突**。
|
> 流程顺畅 · 功能正常 · 规则边界清晰 · 无冲突**。
|
||||||
|
|
||||||
这十项就是 B/C/D 三层的靶子。🔴 **不在本规程范围**:**技能环境配置**(每台机器各不同的东西怎么放、路径怎么写)—— 那是 A 层,只给指针。
|
这十项就是 B/C/D 三层的靶子。🔴 **本规程只收通用要求**:`env/` 怎么放、路径怎么写、什么不入仓
|
||||||
|
这类**某个技能包专有的配置规则**,归 `01-文档索引.md` 的「技能环境配置规范」一行所指的那份规范。
|
||||||
判据来源:近 10 天「技能怎么改」被反复提过,表面是六件不相关的事,**根因是同一个** —— 技能是「跨机器、跨会话共享的文本」,作者却按「本机、本会话」的假设写它。
|
判据来源:近 10 天「技能怎么改」被反复提过,表面是六件不相关的事,**根因是同一个** —— 技能是「跨机器、跨会话共享的文本」,作者却按「本机、本会话」的假设写它。
|
||||||
⚠️ **拿"另一台机器 + 另一个会话"回放一遍,毛病自己就浮出来**。
|
⚠️ **拿"另一台机器 + 另一个会话"回放一遍,毛病自己就浮出来**。
|
||||||
|
|
||||||
@@ -22,31 +23,21 @@
|
|||||||
优先级:**B 结构 > C 流程 > D 表述** —— 结构与流程出毛病会让**机制失效或断链**(别人照它做会做错事);
|
优先级:**B 结构 > C 流程 > D 表述** —— 结构与流程出毛病会让**机制失效或断链**(别人照它做会做错事);
|
||||||
表述出毛病**只是效果差**。
|
表述出毛病**只是效果差**。
|
||||||
|
|
||||||
### A 技能环境配置(本规程不展开)
|
|
||||||
|
|
||||||
🔴 这 5 条属**技能环境配置规范**,判据一律指回真源,⛔ 不复述(复述=第三处真源):
|
|
||||||
|
|
||||||
- **1 配置外置** ⇒ `SKILL.md §0`「包内目录怎么分」(用户 2026-10-11 令:「脚本是脚本 配置是配置」)
|
|
||||||
- **2 不写死本机** ⇒ `SKILL.md §0`「路径一律用相对」+ 十一条禁令第 11 条(2026-10-14 用户令)
|
|
||||||
- **3 本机生成契约不入库** ⇒ 同「包内目录怎么分」
|
|
||||||
- **4 路径形态统一** ⇒ `SKILL.md §0`「例外只有一类:跨根引用」
|
|
||||||
- **5 入仓按白名单** ⇒ 仓根 `.gitignore` 的注释块(用户 2026-10-09 令)
|
|
||||||
|
|
||||||
### B 结构层(→ 结构清晰 · 重点突出 · 规则边界清晰 · 无冲突)
|
### B 结构层(→ 结构清晰 · 重点突出 · 规则边界清晰 · 无冲突)
|
||||||
|
|
||||||
**6 单一真源**
|
**1 单一真源**
|
||||||
同一件事**只留一处定义**,其余位置写指针。判据:**改它的时候,我需不需要改第二个地方** —— 需要 ⇒ 那是两处真源。
|
同一件事**只留一处定义**,其余位置写指针。判据:**改它的时候,我需不需要改第二个地方** —— 需要 ⇒ 那是两处真源。
|
||||||
|
|
||||||
**7 注入面与真源同源**
|
**2 注入面与真源同源**
|
||||||
每轮注入的那份与包内那份**逐字一致**(防漂移判据:`scripts/selftest.py::t_reply_core_same_source`)。
|
每轮注入的那份与包内那份**逐字一致**(防漂移判据:`scripts/selftest.py::t_reply_core_same_source`)。
|
||||||
🔴 配套:**凡"每轮注入 / 有长度上限"的面,改文字必须量长度** ——"改完自测全绿"不等于"改的内容真进了上下文"。
|
🔴 配套:**凡"每轮注入 / 有长度上限"的面,改文字必须量长度** ——"改完自测全绿"不等于"改的内容真进了上下文"。
|
||||||
⚠️ 同源判据自己也要做**变异对照**(改一处应报红、复原应回绿)—— 判据只认一种文本形态就会**恒绿**。
|
⚠️ 同源判据自己也要做**变异对照**(改一处应报红、复原应回绿)—— 判据只认一种文本形态就会**恒绿**。
|
||||||
|
|
||||||
**8 命名一致**
|
**3 命名一致**
|
||||||
同一概念在全包用同一个叫法;改名前先列**伴随物清单**(只改主体必留隐患)。
|
同一概念在全包用同一个叫法;改名前先列**伴随物清单**(只改主体必留隐患)。
|
||||||
📌 术语正式名与旧称映射的**唯一天条真源** ⇒ `references/architecture.md §7 术语`(⛔ 别另抄一张表)。
|
📌 术语正式名与旧称映射的**唯一天条真源** ⇒ `references/architecture.md §7 术语`(⛔ 别另抄一张表)。
|
||||||
|
|
||||||
**9 正文不自相矛盾**
|
**4 正文不自相矛盾**
|
||||||
同一件事在技能里出现两种写法(尤其"正文"与"规则段"之间)⇒ 逐条对,留一处。
|
同一件事在技能里出现两种写法(尤其"正文"与"规则段"之间)⇒ 逐条对,留一处。
|
||||||
|
|
||||||
### C 流程层(→ 流程顺畅 · 功能正常)
|
### C 流程层(→ 流程顺畅 · 功能正常)
|
||||||
@@ -54,67 +45,62 @@
|
|||||||
> 来路:2026-08-10 另一工作区对创作流程做全量审计归纳的 13 项里,9 项属这一层;
|
> 来路:2026-08-10 另一工作区对创作流程做全量审计归纳的 13 项里,9 项属这一层;
|
||||||
> **多步流水线型技能**(如 `product-planning` 的四段)逐条对着查,单文件技能跳过本层。
|
> **多步流水线型技能**(如 `product-planning` 的四段)逐条对着查,单文件技能跳过本层。
|
||||||
|
|
||||||
**10 步骤顺序正确** —— 全流程步骤顺序无错乱(反例:步骤排反)
|
**5 步骤顺序正确** —— 全流程步骤顺序无错乱(反例:步骤排反)
|
||||||
**11 编号连续** —— 步骤内部编号不跳号(反例:第一步 → 第三步,缺第二步)
|
**6 编号连续** —— 步骤内部编号不跳号(反例:第一步 → 第三步,缺第二步)
|
||||||
**12 无跳步** —— 不跳过中间步骤(反例:产物链 5→6→7 跳了一步)
|
**7 无跳步** —— 不跳过中间步骤(反例:产物链 5→6→7 跳了一步)
|
||||||
**13 步骤间职责不越界** —— 各步骤各管一段(反例:后一棒把前一棒的场次表+情绪卡全塞进去)
|
**8 步骤间职责不越界** —— 各步骤各管一段(反例:后一棒把前一棒的场次表+情绪卡全塞进去)
|
||||||
**14 字段归属正确** —— 字段由哪个步骤产出就标哪个(反例:情绪设计卡标成后一棒,实际是前一棒)
|
**9 字段归属正确** —— 字段由哪个步骤产出就标哪个(反例:情绪设计卡标成后一棒,实际是前一棒)
|
||||||
**15 上下游不断裂** —— 上游输出的字段,下游输入列表要引用(反例:「目标体感」字段后两棒都没引用)
|
**10 上下游不断裂** —— 上游输出的字段,下游输入列表要引用(反例:「目标体感」字段后两棒都没引用)
|
||||||
**16 引用路径正确** —— 引用走对层级(流程 → 知识库 → 素材库)
|
**11 引用路径正确** —— 引用走对层级(流程 → 知识库 → 素材库)
|
||||||
**17 字段不缺失** —— 每步的输入列表字段完整(反例:某步输入缺「框架方案」)
|
**12 字段不缺失** —— 每步的输入列表字段完整(反例:某步输入缺「框架方案」)
|
||||||
**18 产物链完整** —— 中间产物必须落盘;**P0:只出最终产物 = 断链**
|
**13 产物链完整** —— 中间产物必须落盘;**P0:只出最终产物 = 断链**
|
||||||
|
|
||||||
### D 表述层(→ 描述简洁 · 高效 · 实用 · 无歧义)
|
### D 表述层(→ 描述简洁 · 高效 · 实用 · 无歧义)
|
||||||
|
|
||||||
**19 肯定表述**
|
**14 肯定表述**
|
||||||
写「要什么、怎么做」。⛔ 不写「不要 A/B/C」—— 负向词进匹配面/注入面,**反而把 X 拉高命中**。
|
写「要什么、怎么做」。⛔ 不写「不要 A/B/C」—— 负向词进匹配面/注入面,**反而把 X 拉高命中**。
|
||||||
例外:**以「经验沉淀」或「红线/避坑」为目的**的文档可以写负向,写法=**正向目标 + 括号里的踩坑依据**。
|
例外:**以「经验沉淀」或「红线/避坑」为目的**的文档可以写负向,写法=**正向目标 + 括号里的踩坑依据**。
|
||||||
⚠️ 两条边界:「配置里不含本工作区」是在**描述事实**;「三禁」这类**硬禁令**是约束本体,强度要留住。
|
⚠️ 两条边界:「配置里不含本工作区」是**描述事实**;「三禁」这类**硬禁令**是约束本体,强度要留住。
|
||||||
(正本 ⇒ `references/rules.md §9`)
|
(正本 ⇒ `references/rules.md §9`)
|
||||||
|
|
||||||
**20 说人话**
|
**15 说人话**
|
||||||
落盘文字先过"像不像人写的"这一关(禁四种 AI 味:三段式排比连用 / "…着"结尾的肤浅分析 / 模糊归因 / 拆成加粗小标题 + 竖排碎句)。
|
落盘文字先过"像不像人写的"这一关(禁四种 AI 味:三段式排比连用 / "…着"结尾的肤浅分析 / 模糊归因 / 拆成加粗小标题 + 竖排碎句)。
|
||||||
|
|
||||||
**21 一页纸**
|
**16 一页纸**
|
||||||
单份产出默认 ≤120 行,超长就拆。
|
单份产出默认 ≤120 行,超长就拆。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 怎么验(验法按层不同,⛔ 别拿一种套四层)
|
## 怎么验(验法按层不同,⛔ 别拿一种套三层)
|
||||||
|
|
||||||
- **A 环境配置** ⇒ 把这台机器上的包**拷到没有 `env/` 的位置跑一遍**,看它如实报错还是静默扫空 —— 最硬的一条。
|
|
||||||
- **B 结构层** ⇒ 同源比对 / md5 / 判据(有机器可查的部分)。
|
- **B 结构层** ⇒ 同源比对 / md5 / 判据(有机器可查的部分)。
|
||||||
- **C 流程层** ⇒ 画数据流,看断点与跳号。
|
- **C 流程层** ⇒ 画数据流,看断点与跳号。
|
||||||
- **D 表述层** ⇒ 人读;⛔ 这层**验不出自动结论**,别假装它通过了。
|
- **D 表述层** ⇒ 人读;⛔ 这层**验不出自动结论**,别假装它通过了。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 技能优化描述 · 总表(21 条,四层)
|
## 技能优化描述 · 总表(16 条,三层)
|
||||||
|
|
||||||
> **怎么来的**:① B/C/D 三层判据(=本规程正文);② 另一工作区的 `技能审计检查清单.md`(`E:/ProgramData/AIProject/mcn-short-video/技能审计检查清单.md`,2026-08-10 创作流程全量审计的 13 项;跨根引用,仅作来路说明)。
|
> **怎么来的**:① B/C/D 三层判据(=本规程正文);② 另一工作区的 `技能审计检查清单.md`(`E:/ProgramData/AIProject/mcn-short-video/技能审计检查清单.md`,2026-08-10 创作流程全量审计的 13 项;跨根引用,仅作来路说明)。
|
||||||
> **用法**:按 **1 → 21** 逐条过。**分级**:**P0 = 会让人出事或断链**(#2、#18)/**P1 = 不一致或冗余**(B 层 + C 层其余)/**P2 = 效果差**(D 层)。
|
> **用法**:按 **1 → 16** 逐条过。**分级**:**P0 = 会让人出事或断链**(#13 产物链)/**P1 = 不一致或冗余**(B 层 + C 层其余)/**P2 = 效果差**(D 层)。
|
||||||
> 🔴 **判据正本不在本表**:#1–#5 在 `SKILL.md §0` 与仓根规则;#6–#21 在本规程的 B/C/D 三层。表里只给锚点与反例。
|
> 🔴 **判据正本 = 本规程正文的对应项**,表里只给锚点与反例;⛔ **本表只收通用要求** —— `env/` 怎么放、
|
||||||
|
> 路径怎么写、什么不入仓这类**专有配置规则不在本表**,见 `01-文档索引.md` 的「技能环境配置规范」。
|
||||||
|
|
||||||
| # | 层 | 检查点 | 判据 | 典型反例(实测过的) |
|
| # | 层 | 检查点 | 判据 | 典型反例(实测过的) |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| 1 | A 环境配置 | 配置外置 | 见 A 段 | 本机路径写进入库代码 |
|
| 1 | B 结构 | 单一真源 | 见 §B #1 | 同一条判据散在 6 处,改一处漏一处 |
|
||||||
| 2 | A 环境配置 | 不写死本机 | 见 A 段 | `or r"D:\..."` 兜底;工作区清单写死 |
|
| 2 | B 结构 | 注入面与真源同源 | 见 §B #2 | 加条文顶破上限 ⇒ 尾部规则静默消失,下游只看到"已截断" |
|
||||||
| 3 | A 环境配置 | 本机生成契约不入库 | 见 A 段 | 入仓后换机器"同名覆盖"改掉对方配置 |
|
| 3 | B 结构 | 命名一致 | 见 §B #3 | 「任务会话 31 处 / 执行会话 29 处」混用 |
|
||||||
| 4 | A 环境配置 | 路径形态统一 | 见 A 段 | 同一件事三处三说地写文档库路径 |
|
| 4 | B 结构 | 正文不自相矛盾 | 见 §B #4 | 技能正文缺起实例命令、与另一处说法冲突 |
|
||||||
| 5 | A 环境配置 | 入仓按白名单 | 见 A 段 | 新技能独立了但白名单没加 ⇒ 仓里只剩指向仓外的引用 |
|
| 5 | C 流程 | 步骤顺序正确 | 见 §C #5 | 步骤排反 |
|
||||||
| 6 | B 结构 | 单一真源 | 见 §B #6 | 同一条判据散在 6 处,改一处漏一处 |
|
| 6 | C 流程 | 编号连续 | 见 §C #6 | 第一步→第三步缺第二步 |
|
||||||
| 7 | B 结构 | 注入面与真源同源 | 见 §B #7 | 加条文顶破上限 ⇒ 尾部规则静默消失,下游只看到"已截断" |
|
| 7 | C 流程 | 无跳步 | 见 §C #7 | 产物链 5→6→7 跳了一步 |
|
||||||
| 8 | B 结构 | 命名一致 | 见 §B #8 | 「任务会话 31 处 / 执行会话 29 处」混用 |
|
| 8 | C 流程 | 步骤间职责不越界 | 见 §C #8 | 后一棒把前一棒的场次表+情绪卡全塞进去 |
|
||||||
| 9 | B 结构 | 正文不自相矛盾 | 见 §B #9 | 技能正文缺起实例命令、与另一处说法冲突 |
|
| 9 | C 流程 | 字段归属正确 | 见 §C #9 | 情绪设计卡标成后一棒,实际是前一棒 |
|
||||||
| 10 | C 流程 | 步骤顺序正确 | 见 §C #10 | 步骤排反 |
|
| 10 | C 流程 | 上下游不断裂 | 见 §C #10 | 「目标体感」字段后两棒都没引用 |
|
||||||
| 11 | C 流程 | 编号连续 | 见 §C #11 | 第一步→第三步缺第二步 |
|
| 11 | C 流程 | 引用路径正确 | 见 §C #11 | 素材库误走直接路径,应走知识库间接引用 |
|
||||||
| 12 | C 流程 | 无跳步 | 见 §C #12 | 产物链 5→6→7 跳了一步 |
|
| 12 | C 流程 | 字段不缺失 | 见 §C #12 | 某步输入缺「框架方案」 |
|
||||||
| 13 | C 流程 | 步骤间职责不越界 | 见 §C #13 | 后一棒把前一棒的场次表+情绪卡全塞进去 |
|
| 13 | C 流程 | 产物链完整 | 见 §C #13(**P0**) | 只在对话里输出、没落盘 |
|
||||||
| 14 | C 流程 | 字段归属正确 | 见 §C #14 | 情绪设计卡标成后一棒,实际是前一棒 |
|
| 14 | D 表述 | 肯定表述 | 见 §D #14 | 描述里写「不用于海报」⇒ 匹配面反而把"海报"拉高 |
|
||||||
| 15 | C 流程 | 上下游不断裂 | 见 §C #15 | 「目标体感」字段后两棒都没引用 |
|
| 15 | D 表述 | 说人话 | 见 §D #15 | 四种 AI 味:三段式排比连用/"…着"结尾的肤浅分析/模糊归因/拆成加粗小标题+竖排碎句 |
|
||||||
| 16 | C 流程 | 引用路径正确 | 见 §C #16 | 素材库误走直接路径,应走知识库间接引用 |
|
| 16 | D 表述 | 一页纸 | 见 §D #16 | 一份 300 行的"速查" |
|
||||||
| 17 | C 流程 | 字段不缺失 | 见 §C #17 | 某步输入缺「框架方案」 |
|
|
||||||
| 18 | C 流程 | 产物链完整 | 见 §C #18(**P0**) | 只在对话里输出、没落盘 |
|
|
||||||
| 19 | D 表述 | 肯定表述 | 见 §D #19 | 描述里写「不用于海报」⇒ 匹配面反而把"海报"拉高 |
|
|
||||||
| 20 | D 表述 | 说人话 | 见 §D #20 | 四种 AI 味:三段式排比连用/"…着"结尾的肤浅分析/模糊归因/拆成加粗小标题+竖排碎句 |
|
|
||||||
| 21 | D 表述 | 一页纸 | 见 §D #21 | 一份 300 行的"速查" |
|
|
||||||
@@ -7920,14 +7920,14 @@ def t_term_table_single_source():
|
|||||||
return rows
|
return rows
|
||||||
|
|
||||||
|
|
||||||
@case("🔴 06 的 21 条条目名:SKILL.md §0 ⑨ 与 06 正文/总表三方逐条同名(⛔ 写成简写=对不上)")
|
@case("🔴 06 的 16 条条目名:SKILL.md §0 ⑨ 与 06 正文/总表三方逐条同名(⛔ 写成简写=对不上)")
|
||||||
def t_skill06_entries_same_source():
|
def t_skill06_entries_same_source():
|
||||||
"""🔴 2026-10-15 立(当日实测踩到)。
|
"""🔴 2026-10-15 立(当日实测踩到)。
|
||||||
|
|
||||||
`SKILL.md §0 ⑨` 是**匹配面**(点开技能就读到),`06` 正文与总表是**真源**。
|
`SKILL.md §0 ⑨` 是**匹配面**(点开技能就读到),`06` 正文与总表是**真源**。
|
||||||
实测:§0 把 C 层写成简写「职责不越界」,而正文是「步骤间职责不越界」——
|
实测:§0 把 C 层写成简写「职责不越界」,而正文是「步骤间职责不越界」——
|
||||||
两边都不报错,读者按简写去正文里搜就搜不到。
|
两边都不报错,读者按简写去正文里搜就搜不到。
|
||||||
⇒ 判据落在**21 条逐条同名**上(数字 + 名字都要对上)。
|
⇒ 判据落在**16 条逐条同名**上(数字 + 名字都要对上)。
|
||||||
"""
|
"""
|
||||||
import re as _re
|
import re as _re
|
||||||
SK = (HERE.parent / "SKILL.md").read_text(encoding="utf-8", errors="replace")
|
SK = (HERE.parent / "SKILL.md").read_text(encoding="utf-8", errors="replace")
|
||||||
@@ -7949,16 +7949,16 @@ def t_skill06_entries_same_source():
|
|||||||
|
|
||||||
a, b, c = _clean(a), _clean(b), _clean(c)
|
a, b, c = _clean(a), _clean(b), _clean(c)
|
||||||
|
|
||||||
rows = [("§0 ⑨ 读到条目名 %d 条(应 21)" % len(a), len(a) == 21),
|
rows = [("§0 ⑨ 读到条目名 %d 条(应 16)" % len(a), len(a) == 16),
|
||||||
("06 正文读到条目名 %d 条(应 21)" % len(b), len(b) == 21),
|
("06 正文读到条目名 %d 条(应 16)" % len(b), len(b) == 16),
|
||||||
("06 总表读到条目名 %d 条(应 21)" % len(c), len(c) == 21)]
|
("06 总表读到条目名 %d 条(应 16)" % len(c), len(c) == 16)]
|
||||||
for tag, other in (("06 正文", b), ("06 总表", c)):
|
for tag, other in (("06 正文", b), ("06 总表", c)):
|
||||||
bad = sorted(k for k in set(a) | set(other) if a.get(k) != other.get(k))
|
bad = sorted(k for k in set(a) | set(other) if a.get(k) != other.get(k))
|
||||||
detail = ""
|
detail = ""
|
||||||
if bad:
|
if bad:
|
||||||
k0 = bad[0]
|
k0 = bad[0]
|
||||||
detail = "(⛔ 首处不一致 #%d:§0=%r/%s=%r)" % (k0, a.get(k0), tag, other.get(k0))
|
detail = "(⛔ 首处不一致 #%d:§0=%r/%s=%r)" % (k0, a.get(k0), tag, other.get(k0))
|
||||||
rows.append(("§0 ⑨ 与 %s **21 条逐条同名**%s" % (tag, detail), not bad))
|
rows.append(("§0 ⑨ 与 %s **16 条逐条同名**%s" % (tag, detail), not bad))
|
||||||
return rows
|
return rows
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user