product-planning:产物路径统一到 docs/pm/<项目>/ui/ + 划清「说人话」的适用面

一、路径统一(用户 2026-10-15 选 A)
- 活文件里 designs/<项目>/ 一律改 docs/pm/<项目>/ui/,共 22 处(SKILL.md 10、③段 SKILL.md 6、
  execution-runbook.md 4、④段 SKILL.md 2);_留痕 下两份历史存档不动。
- 「项目与路径约定」里那句重写:slug 就是 docs/pm/<项目>/ 这一层的目录名,各段产物挂在它下面
  (①research/ ②prd/ ③④ui/ 跨段 专题/)。
- 依据:技能里「文档的两态」早就写「方案文件夹=docs/pm/<项目>/,含①research/ ②prd/ ③ui/」,
  而「产物落哪」表与各段正文写的是 designs/<项目>/ ⇒ 技能内部两套口径打架;两个真实项目
  (contentm_agent / ai1net-dsh-server)的原型实际都在 docs/pm/<项目>/ui/,designs/ 目录并不存在。

二、划清「说人话」的适用面(用户要求排查后立的)
- 排查结论:两份技能都有「注入个性」那半 —— humanizer 的 Soul Injection Techniques(11 条,
  含「有观点/加感官细节/允许跑题/结尾不必收束」)、humanizer-zh 的「个性与灵魂」(含
  「有观点/适当使用我/允许一些混乱:跑题、题外话、半成型的想法是人性的体现」)。
  照它写会出乱比喻与口水话,与产品文档要的客观书面说明文相反。
- 改法:内容准则里加一条「适用面要划清」——只取「去 AI 味」那半(模式清单/五条核心原则/
  禁用清单/五维评分);⛔ 不取两节「注入个性」;口吻档固定 technical;五维里「真实性」按
  「不机械生硬」读。另加一条「同一件事更严的那份说了算」:④段 doc-language-spec.md 是本包最严的
  语体规范,冲突以它为准。反面清单加一条。
- 验收:check_naming.py --ws E:/ProgramData/AIProject/contentm_agent = 通过 2063 / 失败 0 / 提示 27;
  工作区 CRLF 文件数 = 0。
This commit is contained in:
admin committed 2026-10-15 08:33:50 +08:00
1 parent d383876d89
commit f53d86dd4b
4 files changed
+26 -19

No files matched your search

+14 -7
View File
@@ -19,8 +19,8 @@ description: 产品规划总入口(唯一入口),四段式调度:① 产
|---|---|---|---|---|
| **① 产品需求** | 要做的东西凭什么成立:什么问题、为谁、为什么值得做 | 1a 需求文档(grill 压测)/ 1b 竞品分析 / 1c 用户画像 / 1d 产品策略 / 1e 使用场景 | `stage-discovery` | `docs/pm/<项目>/research/*`。其中 1b 交两种体例:`research/1b-竞品分析.md`(汇总对比)+ `research/1b-独立分析/<竞品名>.md`(独立分析) |
| **② 产品功能** | 要做哪些功能、什么不做、长成什么骨架 | 2a 产品功能 / 2b 界面布局 | `stage-requirements` | `docs/pm/<项目>/prd/2a-产品功能.md` 与 `prd/2b-界面布局.md`(两份) |
| **③ 界面交互** | 长什么样、怎么操作 | 3a 视觉规范 / 3b 原型 / 3c GPT参考版 / 3d 审查打磨 | `stage-delivery` | `docs/pm/<项目>/DESIGN.md`、`designs/<项目>/*.html`、`designs/<项目>/3c-GPT参考版.md` |
| **④ 原型说明文档** | 现有原型怎么用、每条需求落到哪、坏了怎样、怎么核对(按用户路径分段,每段四块:需求列表 → 用户场景 → 操作流程 → 功能) | 4a 场景盘点 / 4b 说明区 / 4c 演示引导(可选) | `stage-proto-doc` | 原型内嵌说明区 + 独立产品文档 `designs/<项目>/产品文档.html`(两份共用同一套 R/S/F 编号) |
| **③ 界面交互** | 长什么样、怎么操作 | 3a 视觉规范 / 3b 原型 / 3c GPT参考版 / 3d 审查打磨 | `stage-delivery` | `docs/pm/<项目>/DESIGN.md`、`docs/pm/<项目>/ui/*.html`、`docs/pm/<项目>/ui/3c-GPT参考版.md` |
| **④ 原型说明文档** | 现有原型怎么用、每条需求落到哪、坏了怎样、怎么核对(按用户路径分段,每段四块:需求列表 → 用户场景 → 操作流程 → 功能) | 4a 场景盘点 / 4b 说明区 / 4c 演示引导(可选) | `stage-proto-doc` | 原型内嵌说明区 + 独立产品文档 `docs/pm/<项目>/ui/产品文档.html`(两份共用同一套 R/S/F 编号) |
四段只通过落盘文件耦合。段间交接口如下,这是唯一的契约,越界即失效:
@@ -35,7 +35,7 @@ description: 产品规划总入口(唯一入口),四段式调度:① 产
> ②→③ 最容易搞坏。旧病灶:②段说「必须能读到」,③段读成「必须常驻主屏」,五类信息就全铺一屏成了信息墙。分档表把「读到」明确成「一次点击内可达」,防的就是这句歧义。骨架是灰块(有哪些块、什么顺序),③段给的是视觉与交互实现(排版、点哪有什么反馈、空态、响应式)。两件事各管一维,③段不会退化成照抄。
> 四段各占一个词,互不共用(2026-10-02 定):产品 / 功能 / 界面 / 说明。改段名前先对照这张表;两个段名里出现同一个词,边界一定在漂。旧名「调研与方案 / 需求与结构」都含「需求」,③段旧名里的「交付」是三段共有的属性,都属名实不符,已改。
> 🔴 **④段的沿革(2026-10-14 → 10-15)**:10-14 按用户令删掉**旧版**④段 —— 旧做法是往原型 HTML 注入说明区注解层(状态 → 场景 → 从左到右流程图 → 功能作用/输入边界/异常情况 三段 → 逐步骤演示引导),实测没法用,整段连方法论一并撤掉。10-15 用备份里的**新版**④段装上:改成「解释与记录现有原型」,交**两份产物**(原型内嵌说明区 + 独立产品文档 `designs/<项目>/产品文档.html`),内容按「需求列表 → 用户场景 → 操作流程 → 功能」四块 + 附录铺,配 R/S/F 编号体系与语体规范。判据正文在 `references/stage-proto-doc/`,⛔ 旧版那套(状态轴、三段必填、逐步骤演示)不再使用。
> 🔴 **④段的沿革(2026-10-14 → 10-15)**:10-14 按用户令删掉**旧版**④段 —— 旧做法是往原型 HTML 注入说明区注解层(状态 → 场景 → 从左到右流程图 → 功能作用/输入边界/异常情况 三段 → 逐步骤演示引导),实测没法用,整段连方法论一并撤掉。10-15 用备份里的**新版**④段装上:改成「解释与记录现有原型」,交**两份产物**(原型内嵌说明区 + 独立产品文档 `docs/pm/<项目>/ui/产品文档.html`),内容按「需求列表 → 用户场景 → 操作流程 → 功能」四块 + 附录铺,配 R/S/F 编号体系与语体规范。判据正文在 `references/stage-proto-doc/`,⛔ 旧版那套(状态轴、三段必填、逐步骤演示)不再使用。
> ①叫「产品需求」不叫「需求调研」:该段产出 `research/1a-需求文档.md`、`1b-竞品分析.md`、`1c-用户画像.md`,也产出 `1d-产品策略.md`、`1e-使用场景.md`,「调研」二字盖不住后半截。
> ⭐ 1b 是①段唯一交两种体例的子步:独立分析体 `research/1b-独立分析/<竞品名>.md`(竞品池每一个一份),汇总对比体 `research/1b-竞品分析.md`(恒一份)。职责边界与定案原话见 `references/stage-discovery/references/competitor-analysis.md` §0.4。
@@ -57,7 +57,7 @@ description: 产品规划总入口(唯一入口),四段式调度:① 产
### `<项目>` 是什么
项目 slug 用小写字母、数字、连字符(例 `my-tool`、`video-canvas`)。它同时是 `docs/pm/<项目>/` 与 `designs/<项目>/` 的目录名,两处必须同名,一个字都不能差。
项目 slug 用小写字母、数字、连字符(例 `my-tool`、`video-canvas`)。它就是 `docs/pm/<项目>/` 这一层的目录名,一个字都不能差;各段产物都挂在它下面 —— ①段 `research/`、②段 `prd/`、③段与④段 `ui/`、跨段 `专题/`。
### slug 怎么定(按序取第一个成立的)
@@ -76,8 +76,8 @@ description: 产品规划总入口(唯一入口),四段式调度:① 产
|---|---|
| ① 产品需求 | `docs/pm/<项目>/research/` |
| ② | `docs/pm/<项目>/prd/` |
| ③ | `docs/pm/<项目>/DESIGN.md`、`designs/<项目>/*.html`、`designs/<项目>/3c-GPT参考版.md` |
| ④ | 原型内嵌说明区(写进 `designs/<项目>/*.html` 自身)+ 独立产品文档 `designs/<项目>/产品文档.html` |
| ③ | `docs/pm/<项目>/DESIGN.md`、`docs/pm/<项目>/ui/*.html`、`docs/pm/<项目>/ui/3c-GPT参考版.md` |
| ④ | 原型内嵌说明区(写进 `docs/pm/<项目>/ui/*.html` 自身)+ 独立产品文档 `docs/pm/<项目>/ui/产品文档.html` |
### 文档的两态:当前版与过期版
@@ -156,7 +156,7 @@ DESIGN.md 说明:`@google/design.md` 提供 `lint` / `diff` / `export` / `spec
- ②只读 `docs/pm/<项目>/research/*`;缺失时标注 `【假设】`继续,不催促回补①
- ③只读 `docs/pm/<项目>/prd/*`;缺失时同样标 `【假设】`继续
- ④只读 `designs/<项目>/*.html`(界面事实的唯一依据),另按需读 `docs/pm/<项目>/prd/*` 与 `research/1a-需求文档.md` 定业务意图;缺失时标 `【假设】`继续,并在段末偏离单里写明
- ④只读 `docs/pm/<项目>/ui/*.html`(界面事实的唯一依据),另按需读 `docs/pm/<项目>/prd/*` 与 `research/1a-需求文档.md` 定业务意图;缺失时标 `【假设】`继续,并在段末偏离单里写明
## 执行规则
@@ -192,6 +192,12 @@ DESIGN.md 说明:`@google/design.md` 提供 `lint` / `diff` / `export` / `spec
- 门槛:按 `humanizer-zh` 五维评分(直接性 / 节奏 / 信任度 / 真实性 / 精炼度)≥45 / 50 才准落盘;低于 45 回炉重写。
- ⛔ 取不到判据来源时(2026-10-08 补):两份技能都不在位或读不到 ⇒ **不许凭感觉判「这条够人话」**。在段末报告与 `3d-审查报告.md` 里明写「无判据来源,本项未判」,按与 §供给·工艺数值判据 的「证据缺口」同一口径处理。
- 五条核心原则(源技能《核心规则速查》摘引):删填充短语(开场白、强调性拐杖词);打破公式结构(二元对比、戏剧性分段、修辞性设置);变化节奏(长短交错,两项优于三项,段尾多样);信任读者(直接陈述事实,跳过软化、辩解、手把手引导);删金句(读起来像可引用的话,就重写它)。
- 🔴 **适用面要划清(2026-10-15 补,排查后立的)**:本包只取两份技能里**「去 AI 味」那一半**,⛔ 不取**「注入个性」那一半**。
取这些:模式清单(`humanizer` 的 `references/patterns.zh.md`)、五条核心原则、禁用清单、五维评分表。
不取这些:`humanizer` 的 `Soul Injection Techniques` 与 `humanizer-zh` 的「个性与灵魂」两节 —— 它们明写「有观点、不要只报告事实」「用具体的感官/体验细节代替抽象说法」「允许跑题与题外话」「适当使用第一人称」「结尾不必收束」,与本包产出要的**客观书面说明文**正好相反(照它写会出乱比喻、口水话、不能简明扼要)。实测依据:`humanizer-zh` 那节的「改写后(鲜活)」示例,把一句中性陈述改成了带个人腔调与场景感的散文。
口吻档:本包产出**固定取 `technical`**(精确用词、一句一个意思、⛔ 无比喻除非确能澄清),⛔ 不用 casual/warm/blunt。
五维里**「真实性」按「不机械生硬」读**,⛔ 不按「要有个人态度」读;其余四维(直接性/节奏/信任度/精炼度)本就指向简明,照用。
- 🔴 **同一件事更严的那份说了算**:④段的 `references/doc-language-spec.md`(客观书面说明文 + 逐条禁用清单)是本包最严的一份语体规范;任一段落盘文字与它冲突,**以它为准**。
- 交付留证:产出文档在段末报告里写明「已过内容准则,评分 X/50」;改规则文件时,在当日 memory 里记下这一关过了。
- 只调一段时不越界:用户说「只做第 N 段」,就跑该段,不展开其他段,也不用「你还没做调研」去催促。
- 提问上限 3 个:其余用合理假设,并在文档里标注 `【假设】`。例外是 `grill-me` 提问模式,不受此限(①段的「需求澄清」与②段的「需求压测」各一次),该模式的价值就是穷尽提问;此时须先声明「将连续多轮提问」,退出后恢复本约束。
@@ -253,6 +259,7 @@ DESIGN.md 说明:`@google/design.md` 提供 `lint` / `diff` / `export` / `spec
- 让③段顺手把说明区或产品文档写了(那是第④段 `stage-proto-doc` 的活)
- ④段里重新规划产品、重新设计界面,或写原型上没有的页面 / 功能 / 业务规则(④段只解释与记录**现有**原型)
- 问外部模型时堆砌背景:把过程留痕、废弃做法、内部约束清单整段贴进去(应按「征询外部模型(GPT)的提问口径」只给关键背景 + 明确问题)
- 过「说人话」时把「注入个性」那半也照做:加观点、加第一人称、写感官细节与比喻、允许跑题(应按内容准则只取「去 AI 味」那半,产出仍是客观书面说明文)
## 改名 / 改供给后的自检
@@ -5,7 +5,7 @@ description: 产品规划第③段,界面交互。设计工程供给默认来
# ③ 界面交互
回答两个问题:长什么样、怎么操作。产出 `docs/pm/<项目>/DESIGN.md` 与 `designs/<项目>/*.html`。
回答两个问题:长什么样、怎么操作。产出 `docs/pm/<项目>/DESIGN.md` 与 `docs/pm/<项目>/ui/*.html`。
> 段名为什么是「界面交互」(2026-10-02 定):
> 删「交付」:①②③都产出落盘文件,「交付」是三段共有的属性,不是③的专属;④段也在交付(说明区与独立产品文档),留着会让人以为③管完就结束了。
@@ -88,7 +88,7 @@ description: 产品规划第③段,界面交互。设计工程供给默认来
| ③段子步 | 做什么 | 产物 | 闸 |
|---|---|---|---|
| 3a 视觉规范 | 定契约(减法 + 加法)→ 定调(选定设计系统)→ 落令牌表〔方法主线按 `oil-ui-pro` 的方向探索走;要拉开方向让用户挑时用它的对比页〕 | 设计契约 + 令牌表 → `DESIGN.md` | Gate-1 方向门 |
| 3b 原型 | 按模板种子 + 版式骨架构建 | `designs/<项目>/<原型>.html` | — |
| 3b 原型 | 按模板种子 + 版式骨架构建 | `docs/pm/<项目>/ui/<原型>.html` | — |
| 3c GPT 参考版 | 让 GPT 按需求+风格**独立生成一版当参照物**(本段特有,两个设计技能都不覆盖) | `3c-GPT参考版.md` | — |
| 3d 审查与打磨 | 收口 → 动效 → 终检〔按 `oil-ui-pro` 的评审协议做一轮独立评审打分〕 | file:line 清单 + `3d-审查报告.md` | Gate-2 / Gate-3 |
@@ -232,7 +232,7 @@ Gate-1 方向门(硬闸,不可跳)——按本表逐项自检(字段定
```
4. 等回答出完再取(停止生成按钮消失或出现复制按钮),把 HTML 与那三句话原文取回,不要读一半就走;回答被截断就先让它分页给全再取。
5. 落盘 `designs/<项目>/3c-GPT参考版.md`,三段式:提问原文(含贴进去的需求与风格)→ 模型回答原文(含三句话说明 + 完整 HTML,HTML 放代码块)→ **对照表**。
5. 落盘 `docs/pm/<项目>/ui/3c-GPT参考版.md`,三段式:提问原文(含贴进去的需求与风格)→ 模型回答原文(含三句话说明 + 完整 HTML,HTML 放代码块)→ **对照表**。
对照表固定四列:
@@ -302,7 +302,7 @@ Gate-1 方向门(硬闸,不可跳)——按本表逐项自检(字段定
### 审计报告落盘
`designs/<项目>/3d-审查报告.md`,固定七节:范围 + 挡位 + 阻断项表 + 建议项表 + 状态覆盖核对表 + 结构核对表 + Gate 结论(含「本轮是否跑了脚本」一句)。
`docs/pm/<项目>/ui/3d-审查报告.md`,固定七节:范围 + 挡位 + 阻断项表 + 建议项表 + 状态覆盖核对表 + 结构核对表 + Gate 结论(含「本轮是否跑了脚本」一句)。
## 硬约束
@@ -346,8 +346,8 @@ Gate-1 方向门(硬闸,不可跳)——按本表逐项自检(字段定
- 渲染终检已过(溢出 0 / 对比度按真实像素达标 / 结构与排版量测无阻断且无「无法判定」项 / 两个视口的截图都存进 `_gate_shots/`),或已写明为何不适用。量测数字以 DOM 取值与脚本输出为准,不得用「目测」代替
- 每个浮层都手工打开数过可见关闭出口(`== 1`),`Esc`/点遮罩能关、焦点锁在层内且关闭后回到触发按钮,结论连同触发路径写进 `3d-审查报告.md`。「代码里看着只有一个」不算
- 对外提交/交付留档的截图只用视口帧(`_gate_shots/<视口>.png`);`_full/` 下的长图不得作为评审输入
- `designs/<项目>/3c-GPT参考版.md` 存在,含提问原文、参考版原文(三句话 + 完整 HTML)与四列对照表(采纳项已改完并复测);未取到参考版的已明示
- `designs/<项目>/3d-审查报告.md` 存在,含阻断/建议两张表 + 状态覆盖核对 + Gate-2/3 结论
- `docs/pm/<项目>/ui/3c-GPT参考版.md` 存在,含提问原文、参考版原文(三句话 + 完整 HTML)与四列对照表(采纳项已改完并复测);未取到参考版的已明示
- `docs/pm/<项目>/ui/3d-审查报告.md` 存在,含阻断/建议两张表 + 状态覆盖核对 + Gate-2/3 结论
- Gate-2 与 Gate-3 均已通过(书面结论,非口头)
- 重大改版:旧版文件仍在磁盘上,且收尾给出新旧差异(改了什么 / 为什么 / 代价)
@@ -254,7 +254,7 @@
- 防溢出三件套:grid 写 `minmax(0,1fr)`(不是 `1fr`)、flex 子项加 `min-width:0`、表格 / 代码块外层 `overflow-x:auto`
- 交互态齐全:`hover` / `active` / `focus-visible` 三态都要写,焦点环不许被 `outline:none` 抹掉(`craft/accessibility-baseline.md`)
- 规范 HTML:非空元素显式闭合、属性双引号
- 文件名要有描述性;集中放 `designs/<项目>/`,不散落仓库根
- 文件名要有描述性;集中放 `docs/pm/<项目>/ui/`,不散落仓库根
### 3.4 本项目附加纪律(`open-design` 未涉及)
@@ -387,7 +387,7 @@
> 这一格是**假的**(那五条当时零覆盖),而它正是「全绿却难看」的开关。
无头截图已代劳其中的溢出与响应式破损,其余仍需人眼(截图查不出「点了没反应」,那靠 3b 的 `browser-harness` 实测)。
落盘 `designs/<项目>/3d-审查报告.md`,按 `05` §五的模板:范围 + 挡位 + 阻断项表 + 建议项表 + 状态覆盖核对表 + Gate 结论。
落盘 `docs/pm/<项目>/ui/3d-审查报告.md`,按 `05` §五的模板:范围 + 挡位 + 阻断项表 + 建议项表 + 状态覆盖核对表 + Gate 结论。
---
@@ -464,13 +464,13 @@
- [ ] 原型 HTML 单文件自包含、双击可开,内联自检三条通过(无 unpkg / 无外部 jsx 引用 / 挂载点在)
- [ ] 状态穷举六项逐条有结论(`05` §三第 1 项)
- [ ] 每个按钮、每个跳转都用 `browser-harness` 真点过,含空 / 加载 / 错误 / 失败重试四态,并回报控制台报错原文与「点了没反应」清单
- [ ] `designs/<项目>/3c-GPT参考版.md` 存在,含提问原文、参考版原文、四列对照表;未取到已明示
- [ ] `docs/pm/<项目>/ui/3c-GPT参考版.md` 存在,含提问原文、参考版原文、四列对照表;未取到已明示
- [ ] D3 收口已按 5.1 三处判据人工过完:Gate-1 自检表 + `craft/` 四份规约 + 本项目追加判据,阻断项清零(取值结果已抄进报告)
- [ ] D5 终检已真渲染:`1440x900` 与 `390x844` 两个视口各截一张,视口帧已留档;横向溢出 0 / 对比度不达标 0 / 结构与排版阻断 0,且无「无法判定」项(DOM 取值已抄进报告)
- [ ] 每个浮层都手工打开数过可见关闭出口(`== 1`)+ `Esc` / 点遮罩能关、焦点锁在层内且关闭后回到触发按钮;结论与触发路径已写进 `3d-审查报告.md`
- [ ] 对外提交 / 交付留档的截图只用视口帧;`_full/` 长图未作为评审输入
- [ ] 契约里每个写出来的数字都已实测回填(首屏条数 / 行高 / 承载占比 / 面积占比 / 对比度比值),「契约值 / 实测值」并排列出;未回填即阻断;契约未声明判据的档位已记为证据缺口
- [ ] `designs/<项目>/3d-审查报告.md` 存在,含阻断 / 建议两张表 + 状态覆盖核对 + 结构核对(数字抄自脚本输出,非「目测」)+ Gate-2/3 结论
- [ ] `docs/pm/<项目>/ui/3d-审查报告.md` 存在,含阻断 / 建议两张表 + 状态覆盖核对 + 结构核对(数字抄自脚本输出,非「目测」)+ Gate-2/3 结论
- [ ] Gate-2 与 Gate-3 均已通过(书面结论,非口头)
- [ ] 重大改版:旧版文件仍在磁盘上,且收尾给出新旧差异(改了什么 / 为什么 / 代价)
- [ ] 偏离单已附,且无静默偏离
@@ -17,7 +17,7 @@ description: 产品规划第④段,原型说明文档。在③段已跑通的
| 来自 | 读什么 | 用来定什么 |
|---|---|---|
| ③ | `designs/<项目>/*.html` | 界面事实的唯一依据:页面、模块、控件、状态、交互、跳转、反馈 |
| ③ | `docs/pm/<项目>/ui/*.html` | 界面事实的唯一依据:页面、模块、控件、状态、交互、跳转、反馈 |
| ② | `docs/pm/<项目>/prd/2a-产品功能.md` · `prd/2b-界面布局.md` | 术语口径、优先级、功能条目编号 |
| ① | `docs/pm/<项目>/research/1a-需求文档.md` | 需求来源与「不做什么」的边界 |
@@ -44,7 +44,7 @@ description: 产品规划第④段,原型说明文档。在③段已跑通的
**产物 B · 独立产品文档**
- 单独一个 HTML 文件,落 `designs/<项目>/产品文档.html`,双击能开,能单独发给不看原型的人。
- 单独一个 HTML 文件,落 `docs/pm/<项目>/ui/产品文档.html`,双击能开,能单独发给不看原型的人。
- 四块顺序固定,另加附录「原型页面地址」。
## 4c 演示引导(可选)