Files
workbuddy_skills/product-planning/references/manifest.md
T
admin acfb252bee feat(skills): 两包资源索引机制与双向对账脚本
- product-planning:新建 references/manifest.md 作资源唯一登记处(资源/落点/引用点/口径);
  顶层 SKILL 加两条硬规矩,design-capture、stage-delivery、execution-runbook、stage-requirements
  四处把散落路径改为「落点见 references/manifest.md」
- session-mechanism:01-文档索引 新增 §四「包内资源索引」,并说明不放 manifest.md 的理由
  (那份由 install.py 本机生成、被 .gitignore 挡着)
- 新增两包共用的 scripts/check_resource_index.py(双向对账)与 product-planning/scripts/check_figures.py(图片机检),
  selftest 补对应用例,06-技能优化规程 写入写法规矩
- .gitignore:新增 _留痕/ 不入库(改造前整包快照,180K/688K,库内从无先例)
2026-10-18 18:07:40 +08:00

59 lines
9.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# manifest · 资源索引(product-planning)
> **这一份管什么**:本包「有哪些资源、落在哪、被谁引用」的**唯一登记处**。
> 散文与段文档里**只写资源名**(本表第一列),路径**只在本表写一次** —— 目录一搬,只改这一行。
> **机检**:改完包跑
> `python "<技能根>/session-mechanism/scripts/check_resource_index.py" --pkg "<本包根>"`
> (两包共用一份实现,⛔ 不各写一份)。它做双向对账:落点是否存在 / 登记的引用点是否为真 /
> 是否有人绕开本表在别处写路径字面量 / 有没有登记了却没人用的资源。
>
> **`口径` 列**:`只写一次` = 该资源的路径字面量只许出现在本表与 `许可字面量` 列登记的文件里,
> 出现在别处机检直接报 🔴(这就是「避免资源到处引用」的硬闸门);
> `可多次` = 只登记「谁在用、在哪」,不限字面量(代码路径、规程路径这类必须精确到文件)。
>
> **`被谁引用` 与 `许可字面量` 别混**:前者是「谁在用」,可由机检 `--sync-refs` 自动回写;
> 后者是「谁被允许写路径字面量」,**人工开的口子**,⛔ 自动回写会把它冲成「谁都许可」、G3 就变空闸门。
>
> **加新资源**:在本表加一行即可。引用它的地方写资源名,⛔ 不要把路径抄进散文 ——
> 抄进去就会成为下一处「改目录要改 N 个地方、漏一处还不报错」。
| 资源 | 落点 | 干什么 | 被谁引用 | 许可字面量 | 口径 | 入仓 |
|---|---|---|---|---|---|---|
| 样式套目录 | `references/stage-delivery/assets/design-systems/` | ③段自带设计套(每个项目只选一套;tiaoyue 那套在此) | SKILL.md、assets/design-capture/SKILL.md、assets/design-capture/scripts/build_style_package.py、references/stage-delivery/SKILL.md、references/stage-delivery/references/execution-runbook.md、references/stage-requirements/SKILL.md | `references/stage-delivery/references/execution-runbook.md` | 只写一次 | 否 |
| 工具箱·diagram-design | `assets/diagram-design/` | ②④段画图(41 种图型,MIT) | SKILL.md、assets/diagram-design/SKILL.md、assets/diagram-design/assets/example-loop-terminal.html、assets/diagram-design/references/doctor.md、assets/diagram-design/references/export-registry.md、assets/diagram-design/references/export.md、assets/diagram-design/references/import-drawio.md、assets/diagram-design/references/import-excalidraw.md、assets/diagram-design/references/import-mermaid.md、assets/diagram-design/references/onboarding.md、assets/diagram-design/references/primitive-terminal.md、assets/diagram-design/references/profiles.md(共 17 个) | — | 可多次 | 是 |
| 工具箱·design-capture | `assets/design-capture/` | 抓网站设计风格(色彩 / 排版 / 组件) | SKILL.md、assets/design-capture/ATTRIBUTION.md、assets/design-capture/SKILL.md、assets/design-capture/scripts/build_style_package.py、assets/design-capture/scripts/capture_design_system.mjs、references/stage-delivery/SKILL.md、references/stage-delivery/assets/design-systems/design-system-tiaoyue/assets/component-library/components.css、references/stage-delivery/references/execution-runbook.md | — | 可多次 | 是 |
| 工具箱·element-picker | `assets/element-picker/` | 浏览器里点选元素,取出 CSS 选择器与所属网页 | SKILL.md、assets/element-picker/SKILL.md、references/stage-delivery/SKILL.md | — | 可多次 | 是 |
| 工具箱·video-capture | `assets/video-capture/` | 只剩交接说明;实体是全局技能 `video-capture` | SKILL.md、assets/video-capture/ATTRIBUTION.md、assets/video-capture/SKILL.md、references/stage-delivery/SKILL.md | — | 可多次 | 是 |
| ②段模板·产品规划模板 | `references/stage-requirements/assets/产品规划模板.md` | ②段两张表的表头唯一定义处 | references/stage-requirements/SKILL.md | — | 可多次 | 是 |
| ④段模板·产品文档模板 | `references/stage-proto-doc/assets/产品文档模板.html` | ④段产品文档模板 | SKILL.md、references/stage-proto-doc/SKILL.md、references/stage-proto-doc/references/doc-area-spec.md | — | 可多次 | 是 |
| 同根技能·oil-ui-pro | `<技能根>/oil-ui-pro/` | ③段方法主线(基础层设计系统 / 评分循环) | SKILL.md、references/stage-delivery/SKILL.md、references/stage-delivery/references/execution-runbook.md、references/stage-delivery/references/layouts-tooling.md | — | 可多次 | 是 |
| 同根技能·open-design | `<技能根>/open-design/` | ③段模板与 craft 判据 | assets/design-capture/ATTRIBUTION.md、assets/design-capture/SKILL.md、assets/design-capture/scripts/build_style_package.py、assets/design-capture/scripts/capture_design_system.mjs、references/stage-delivery/SKILL.md、references/stage-delivery/assets/design-systems/design-system-tiaoyue/assets/brand.json、references/stage-delivery/assets/design-systems/design-system-tiaoyue/assets/tokens.css、references/stage-delivery/assets/design-systems/design-system-tiaoyue/references/capture-notes.md、references/stage-delivery/assets/design-systems/design-system-tiaoyue/references/known-conflicts.md、references/stage-delivery/references/execution-runbook.md、references/stage-delivery/references/layouts-tooling.md | — | 可多次 | 是 |
| 同根技能·humanizer | `<技能根>/humanizer/` | 文案判据的唯一来源 | SKILL.md、references/stage-discovery/SKILL.md | — | 可多次 | 是 |
| 同根技能·browser-harness | `<技能根>/browser-harness/` | 浏览器实测 | references/stage-delivery/SKILL.md、references/stage-delivery/references/execution-runbook.md、references/stage-delivery/scripts/_common.py、references/stage-delivery/scripts/grab_selftest.py、references/stage-delivery/scripts/run_viewports.py | — | 可多次 | 是 |
| 全局技能·video-capture | `<技能根>/video-capture/` | 取视频 + 抽帧(实体件) | SKILL.md、assets/video-capture/ATTRIBUTION.md、assets/video-capture/SKILL.md、references/stage-delivery/SKILL.md | — | 可多次 | 是 |
| 机检·资源索引对账 | `<技能根>/session-mechanism/scripts/check_resource_index.py` | 本表的双向对账机检(两个技能包共用) | SKILL.md | — | 可多次 | 是 |
| ①段规程 | `references/stage-discovery/` | ①段(调研方案)流程规程 | SKILL.md、references/stage-discovery/SKILL.md、references/stage-discovery/references/grill-me.md、references/stage-requirements/SKILL.md、scripts/check_naming.py | — | 可多次 | 是 |
| ②段规程 | `references/stage-requirements/` | ②段(需求结构)流程规程 | SKILL.md、references/stage-delivery/SKILL.md、references/stage-discovery/SKILL.md、references/stage-requirements/SKILL.md、scripts/check_naming.py | — | 可多次 | 是 |
| ③段规程 | `references/stage-delivery/` | ③段(界面交付)流程规程 | SKILL.md、references/stage-delivery/SKILL.md、references/stage-delivery/references/execution-runbook.md、references/stage-delivery/references/layouts-tooling.md、references/stage-requirements/SKILL.md、scripts/check_naming.py、scripts/selftest_product_root.py | — | 可多次 | 是 |
| ④段规程 | `references/stage-proto-doc/` | ④段(说明文档)流程规程 | SKILL.md、references/stage-delivery/SKILL.md、references/stage-proto-doc/SKILL.md、references/stage-proto-doc/references/doc-area-spec.md、references/stage-proto-doc/references/guided-tour.md、scripts/check_naming.py | — | 可多次 | 是 |
| 本包脚本 | `scripts/` | 命名闸门 / 用词闸门 / 产品根自检 | SKILL.md、assets/design-capture/SKILL.md、assets/diagram-design/SKILL.md、assets/diagram-design/assets/example-beeswarm-dark.html、assets/diagram-design/assets/example-beeswarm-full.html、assets/diagram-design/assets/example-beeswarm.html、assets/diagram-design/assets/example-bubble-dark.html、assets/diagram-design/assets/example-bubble-full.html、assets/diagram-design/assets/example-bubble.html、assets/diagram-design/assets/example-bump-dark.html、assets/diagram-design/assets/example-bump-full.html、assets/diagram-design/assets/example-bump.html(共 70 个) | — | 可多次 | 是 |
## 为什么「样式套目录」被单独设成「只写一次」
用户 2026-10-16 原话:**「为什么这么多地方引用 一个样式库,是不是技能中没有统一索引机制」**。
取证(2026-10-16 实测,6 个文件、20 处路径字面量):③段 `SKILL.md` 9 处、③段运行手册 5 处、
`assets/design-capture/SKILL.md` 3 处、②段 `SKILL.md` 1 处、`assets/design-capture/scripts/build_style_package.py` 1 处、缓存 1 处。
其中「供给索引」「怎么读它」「跨段同源路径」三类引用**目的不同,本身合理**;真正的缺陷是
**路径字面量被反复手抄** —— 改一次目录要改 N 个地方,**漏一处不报错**。
⇒ 处置:路径收敛到本表这一行,散文改写资源名「样式套目录」;
**唯一保留字面量的引用点**=`references/stage-delivery/references/execution-runbook.md` 的 D−1「三处供给仍在位」检查
(那一步真的要判目录在不在,已登记在上表 `许可字面量` 列 ⇒ 机检 G3 放行它)。
## 与「技能级 `assets/`」那条口径的分工
入口 `SKILL.md` 那条红线(凡引**工具**一律写「技能级 `assets/<工具名>/`」,2026-10-16 22:57 用户令)
**继续有效**,与本表不冲突:那条规定的是**引用工具时写什么形态**,本表登记的是**这些资源落在哪、谁在用**。
⇒ 工具类资源在上表里一律 `可多次`,机检只登记、不限制字面量。