技能仓:技能根绝对路径清零(用户令:严格禁止技能中写这里绝对路径)

用户原话:「SKILL.md:189 判据源写 E:/ProgramData/.workbuddy/skills/
严格禁止技能中写这里绝对路径(除非跨根目录因引用),跨环境全部报错」

起因:product-planning/SKILL.md:189「判据来源」那句写了技能根绝对路径。
按同一判据全仓反查后清掉 10 个文件:

· product-planning:SKILL.md(判据来源 / video-capture 位置 / 本技能位置 + 新增「路径写相对或占位」规则)、
  references/_留痕/SKILL-总入口-20261007改说人话前.md、stage-delivery/assets/video-capture/SKILL.md、
  scripts/check_naming.py(注释)
· session-mechanism:SKILL.md(反例改占位 + 例外条款改写:由「文档/注释不在此列」改为「例外只有跨根引用」)、
  references/deploy.md(安装目录)、scripts/session-rules-check.py(docstring)、
  boards/会话看板/board-launch.py.tpl(模板占位符)
· video-capture:ATTRIBUTION.md(沿革)
· 改包纪律.md:3 条 cd 命令

判据(用户给的两分法):
· 技能根(本包自己 + 同根技能)⇒ 一律不写绝对路径,写 <技能根>/<技能名>/
· 跨根引用(工作区根 / 文档库根 / 本机软件安装位 / 宿主数据目录)⇒ 才落到具体位置,优先读环境变量

验收:
· product-planning 命名闸门:通过 2060 / 失败 0
· session-mechanism 全量自测:PASS 110 / FAIL 0
· 全仓 grep -r 反查该形态:清零(install.log 为运行时产物已 ignore;browser-harness/.venv 为 pip 元数据)
· 3 个被编辑器写成 CRLF 的文件已转回 LF,与 .gitattributes 的 eol=lf 对齐
This commit is contained in:
admin committed 2026-10-14 21:10:29 +08:00
1 parent 7a08cd3366
commit 2f656098de
10 files changed
+19 -18

No files matched your search

+2 -2
View File
@@ -390,8 +390,8 @@ def main():
skill_root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 🔴🔴 2026-10-07 技能迁全局后的**必须修正**:
# 旧写法 `ws = os.path.dirname(skill_root)` 是按「技能包在工作区根」写的。
# 技能搬到 `E:/ProgramData/.workbuddy/skills/product-planning/` 之后,
# `ws` 会算成 `E:/ProgramData/.workbuddy/skills` ⇒ **`docs/pm/*` 一个都扫不到**
# 技能从工作区搬到技能根(`<技能根>/product-planning/`)之后,
# `ws` 会算成技能根 ⇒ **`docs/pm/*` 一个都扫不到**
# ⇒ `check_whitelist()` 静默扫零个目录、**恒绿通过**(假绿比报红更危险)。
# ⇒ 工作区一律**显式给**:`--ws <工作区>`;没给就向上找「含 docs/pm 的那一层」,
# 再找不到就**明确报 FAIL**,⛔ 绝不静默跳过。