<<<<<<< HEAD # Workspace Constitution ## SIMA × AI 协作最高规约(CLAUDE.md) > 本文件定义本项目开发、协作、迭代行为的最高规范**。 > 任何未遵循本规约的方法、流程或输出,视为无效或需重做。 --- ## -1. 技能精神宪章(Spirit) > 详见 [skills/SPIRIT.md](skills/SPIRIT.md) ### 第一纲领:于细微处发大隙 > **这是所有 SIMA Skills 必备的品质。** **核心要求**: - 产品文档必须穷举所有分支、状态、边界条件 - 必须列举所有字段取值、配置项、角色权限 - 必须覆盖"在 XX 状态/角色/场景下"的不同行为路径 - 文档中不能有未展开的"等情况"、"多种模式"等模糊表述 **验证清单**(每次输出前自问): - [ ] 是否有分支场景我没有追踪? - [ ] 是否有字段枚举我没有列举完整? - [ ] 是否有"用户操作后"的不同路径我没有探索? - [ ] 是否有"不同角色下"的行为差异我没有说明? ### 第二纲领:工具先行,深入证据,并行攻坚 > **不做字面功夫,要深入实质。调用一切能调用的工具,团结一切可团结的力量。** **核心要求**: - **工具先行**:手上有什么 MCP 就用什么 MCP,能读资产就读资产 - **深入证据**:不在假设上构建,要读 CodeMap、DomainMap、Runtime、用户资料 - **并行攻坚**:该发动多个 Agent 就开多个,独立任务并行执行 - **团结力量**:需要找资料就找资料,需要花力气就花力气,攻坚克难不避艰辛 **验证清单**(每次执行任务前自问): - [ ] 我是否已盘点了手上所有可用资产?(CodeMap、DomainMap、Runtime、Chrome DevTools...) - [ ] 我是否在用证据深入分析,而非基于假设? - [ ] 我是否可以并行启动多个 Agent/任务? - [ ] 我是否该花力气去找/采集新证据? ### 第三纲领:实践才能检验真理 > **需求文档和设计稿充满逻辑推理,但不是事实。Runtime 才是真相 —— 界面、字段、真实的数据和行为。** **核心要求**: - **Runtime 是唯一的事实来源**:需求是"应该如何",Runtime 是"实际如何" - **一切结论必须有证据**:截图、CodeMap、DomainMap、用户提供的资料 - **快照是证据的载体**:所有 Runtime 探索必须留下截图/snapshot 作为"呈堂证供" - **无证据则标记为假设**:没有证据验证的结论,必须在文档中标记为 `[ASSUMPTION]` **验证清单**(每次输出结论前自问): - [ ] 我的结论有证据吗? - [ ] 我是否用 chrome-devtools 截图验证了页面? - [ ] 不同场景下的差异是否都有证据了? - [ ] 截图/证据是否保存到 materials/ 目录作为存档? - [ ] 没有证据的结论是否标记为 `[ASSUMPTION]`? **文档标记规范**: ```markdown > **验证状态**: ✅ 已验证 / ⚠️ 部分验证 / ❌ 未验证(假设) > **证据位置**: materials/xxx.png 或 [CODEMAP:assets/codemap/...] ``` --- ## 0. 本 Workspace 的根本目标(Mission) 本 Workspace 的目标不是"生成若干产品文档", 而是: > **构建一套可复用的、可演化的产品文档生成方法与 Skills, 使 AI 能稳定地产出接近专业 PM 水平的 PRD、FRD、DAR 等产品文档。** 最终交付物包括但不限于: - 高质量产品文档(PRD/FRD/DAR) - 一组或多组可复用的 PM Assist Skills - 对应的方法论、流程与验证标准 --- ## 1. 核心方法论(Methodology) ### 1.1 WWH / PDCA —— 做事的基本法则 #### WWH(What / Why / How) **What(现状与目标澄清)** 必须明确回答: - **需求是什么**(原始需求、业务目标) - **文档类型是什么**(PRD / FRD / DAR) - **已有资料是什么**(CodeMap / DomainMap / Runtime / 用户资料) What 阶段只做「描述与对照」,不做方案设计。 --- **Why(差距与根因洞察)** 必须回答: - 为什么要做这个需求? - 当前系统有什么问题或缺陷? - 业务目标是什么?风险是什么? Why 必须覆盖(但不限于): - 业务背景 - 用户痛点 - 技术现状 - 风险识别 Why 阶段**不允许直接给解决方案**。 --- **How(方案设计与实施路径)** 基于 Why 的洞察,回答: - 通过什么方案、流程、配置,才能达成需求目标? - 不同角色、不同端、不同状态下的处理逻辑是什么? --- ### 1.2 PDCA(戴明环) 本 Workspace 内所有任务,**必须声明自己当前所处阶段**: - **P — Plan**:基于 WWH 制定文档生成计划,明确证据采集清单 - **D — Do**:生成、重构、改写具体文档片段,引用证据 - **C — Check**:对照模板、验证证据充足性、检查逻辑一致性 - **A — Act**: - 固化有效方法 - 修正无效路径 - 抽象并沉淀为 Skill > ❗ 未声明 PDCA 阶段的输出,视为无效输出。 --- ## 2. Workspace 资源与路径认知(Resource Awareness) ### 2.1 基本原则 - 本 Workspace 中的所有资源,都必须被明确认知其: - 含义 - 作用 - 使用时机 - 阅读深度要求 --- ### 2.2 资源使用方式约定 - **CodeMap**(`assets/codemap/`) - 含义:代码结构、字段定义、调用链 - 使用场景:理解系统现状、技术实现细节 - 阅读方式:定向深挖到字段/分支层级 - **强制要求**:PRD/FRD 必须至少引用 1 个 CodeMap 证据 - **DomainMap**(`assets/domainmap/`) - 含义:业务概念、流程、规则、分支证据 - 使用场景:业务逻辑、领域建模 - 阅读方式:精读关键节点 - **强制要求**:PRD/FRD 必须至少引用 1 个 DomainMap 证据 - **RuntimeScan**(`assets/runtime-scan/`) - 含义:真实系统运行态、页面截图、接口数据 - 使用场景:验证实际行为、补全流程闭环 - 阅读方式:问题导向式精读 - **用户提供资料**(`materials/`) - 含义:原型、截图、文档、链接 - 使用场景:需求澄清、设计验证 - 阅读方式:全文精读并摘要 --- ## 3. 标准推进流程(From 需求到文档) ### Step 0:阶段声明(强制) 每一次输出前,必须明确声明: - 当前处于 What / Why / How - 当前处于 PDCA 的哪个阶段 --- ### Step 1:文档类型分流(What) 根据用户初始描述进行分支;不确定就追问: - **PRD**:新需求、流程优化、产品规划、业务方案 - **FRD**:具体功能实现、接口/数据/流程细节 - **DAR**:线上缺陷、事故复盘、根因分析 > 选择后加载对应模板: - PRD → `skills/pmassist/references/prd.md` - FRD → `skills/pmassist/references/frd.md` - DAR → `skills/pmassist/references/dar.md` --- ### Step 2:工作目录与资料采集(Plan) 必须同时具备: 1. 项目工作目录(`./{项目简称}-{YYYYMMDD-HHMM}`) 2. 资料索引文件(`materials_index.md`) 3. 证据采集计划(需要读取的 CodeMap / DomainMap / Runtime) 输出形式必须是**结构化清单**。 --- ### Step 3:证据深挖与分析(Do) 原则: - **不允许基于假设生成文档** - 必须至少读取并引用以下层级中的每一类至少 1 个证据: - CodeMap:前端结构、后端字段、调用链 - DomainMap:领域证据、分支证据 - Runtime:页面截图、接口数据 通过多轮对话不断调优: - 结构 - 证据引用 - 逻辑推理 - 表达精度 --- ### Step 4:质量验证(Check) 必须回答: - 哪些章节已有证据支撑? - 哪些章节是 `[ASSUMPTION]`? - 证据→章节映射表是否完整? - 是否包含必备的图表(至少 1 个 mermaid 图 + 1 个表)? --- ### Step 5:Skill 抽象与固化(Act) 从成功文档中反向提炼: - 输入条件 - 关键推理步骤 - 输出结构 - 使用前置条件 最终产出: > **可复用的 PM Assist Skill,而非单次生成结果。** --- ## 4. 真实环境访问与事实获取规范(Runtime Access Rule) ### 4.1 基本原则 当分析或生成内容 **依赖真实系统行为、运行态信息或正式环境数据** 时: > **禁止仅基于推测、历史文档或假设进行推理。** 必须通过可验证的方式获取事实信息。 --- ### 4.2 指定工具约束(强制) 当需要访问以下内容时: - 系统正式 Runtime 环境 - Web 管理后台 / 前台页面 - 实际页面流程、字段、交互 - 真实接口返回或运行结果 **必须优先使用以下工具:** > **chrome-devtools MCP** 用途包括但不限于: - 页面结构与 DOM 分析 - 网络请求与接口行为观察 - 实际字段、状态、流程验证 - 运行态与设计文档差异比对 --- ### 4.3 使用时机声明(强制) 在使用 chrome-devtools MCP 前,必须明确声明: - 为什么需要访问真实环境 - 当前处于 PDCA 的哪个阶段 - 本次访问的目标是什么(验证 / 补全 / 对照) > ❗ 未经声明即进行的推理性输出,视为不可靠输出。 --- ### 4.4 事实优先级声明 当 **运行态事实** 与 **既有文档 / 推断结论** 不一致时: > **以 Runtime 事实为准,文档必须修正。** --- ## 5. 文档资产清单机制(Assets Index Rule) ### 5.1 启动阶段强制动作(Project Bootstrap Rule) 在本 Workspace **首次启动或新一轮文档生成开始前**, 必须先生成一个统一的文档资产清单文件: > **`materials_index.md`** 该文件是 Workspace 的**认知索引入口**。 --- ### 5.2 materials_index.md 的核心目的 - 快速建立对已有资料的整体认知 - 避免重复读取与无效上下文注入 - **显著降低 Token 消耗** - 为后续 Plan / Do 阶段提供"可定位证据来源" --- ### 5.3 materials_index.md 必须包含的内容 `materials_index.md` 至少应包含以下结构化信息: - 资料 ID(`SRC-001`, `CODEMAP-001` 等) - 资料名称 / 路径 - 类型(CodeMap / DomainMap / Runtime / 用户资料) - **简要说明(1–3 行)** - 推荐使用场景(What / Why / How / Check) - 建议阅读深度: - 掠读(Scan) - 精读(Deep Read) - 仅定位(Reference) --- ### 5.4 使用约束 - 在文档生成过程中: - **优先引用 materials_index.md 中的资源** - 明确指出使用的是哪一项资产(`[SRC-001]`, `[CODEMAP:...]`) - 当新增重要资源时: - 必须同步更新 materials_index.md > ❗ 未进入 materials_index.md 的重要资源,视为"不可被稳定复用的知识"。 --- ## 6. 证据标注与映射规则(Evidence Mapping Rule) ### 6.1 强制要求 每个关键结论、数据、规则必须标注来源: - **CodeMap 证据**:`[CODEMAP:assets/codemap/frontend/routes.yaml]` - **DomainMap 证据**:`[DOMAINMAP:assets/domainmap/branch_evidence.yaml]` - **Runtime 证据**:`[RUNTIME:screenshot_001.png]` - **用户资料**:`[SRC-001]` - **无证据**:`[ASSUMPTION]` --- ### 6.2 证据→章节映射表(强制) 在 PRD/FRD/DAR 中必须维护"证据映射表": | 章节 | 关键结论 | 证据来源 | |-----|---------|---------| | 2.1 核心概念定义 | 预估里程定义 | [CODEMAP:dataobjects/Order.yaml] | | 2.2 双轨计费生效条件 | 商户配置逻辑 | [DOMAINMAP:branch_evidence.yaml] | | 3.1 下单流程 | 路线获取逻辑 | [RUNTIME:screenshot_002.png] | --- ### 6.3 证据缺口清单(Check 阶段强制输出) 若章节无法绑定证据,必须显式标记并列入"证据缺口清单": | 章节 | 缺失证据 | 影响 | 下一步 | |-----|---------|-----|-------| | 4.2 外协订单处理 | BC段里程计算规则 | 无法验证结算逻辑 | 需 Runtime 验证或用户确认 | --- ## 7. 问题清单与问答闭环(Question List Rule) ### 7.1 强制要求 每轮 PDCA 的 Plan / Do 阶段,必须生成问题清单: - **P0 阻塞问题**(必须回答,否则不进入下轮) - **P1 关键决策问题**(影响方案设计) - **P2 细节确认问题**(影响细节完整性) 问题格式模板(`questions/round_N.yaml`): ```yaml round: 1 questions: - id: Q1-1 priority: P0 question: "商户双轨计费配置的默认值是?" options: ["开启", "关闭", "其他"] status: pending ``` --- ### 7.2 问答闭环原则 - 未解决 P0 时,禁止生成下一轮完整输出,只能继续追问 - P1/P2 问题必须在 Check 阶段验证是否已解决 - 所有问题解答必须记录到 `decision_log.md` --- ## 8. Skill 的基本定义(约束性说明) 在本 Workspace 中: - **Skill ≠ Prompt** - Skill 是一套: - 明确输入 - 稳定处理流程 - 结构化输出 - 可多次复用的能力单元 Skill 是本 Workspace 的**核心资产**。 --- ## 9. 终止条件(Exit Criteria) 只有在满足以下条件时,某一轮 PDCA 才可结束: - 文档质量稳定接近专业 PM 水平 - 证据映射表完成且无关键缺口 - P0/P1 问题全部关闭 - 已成功抽象出可复用 Skill 否则,必须继续进入下一轮 PDCA。 --- ## 10. 最高约束声明 > 在本 Workspace 中: > - **方法优先于结果** > - **流程优先于一次性生成** > - **证据优先于假设** > - **Skill 优先于单篇文档** --- ## 11. 额外操作性总原则(Operational Summary) - **真实世界 → 用工具,不用猜** - **复杂问题 → 先建索引,再深入** - **证据不足 → 标记假设,不硬编** - **Token 是成本,结构是杠杆** 本 Constitution 为最高规范,优先级高于任何临时指令或即兴讨论。 --- ## 附录:技能调用速查 ### pmassist(产品文档协作助手) **路径**: `skills/pmassist/` **用途**: 创建或修订 PRD、FRD、DAR 等产品类文档 **核心方法论**: WWH + PDCA **快速使用**: ```bash # 初始化会话工作区 python3 skills/pmassist/scripts/init_session.py \ --path ./项目名-YYYYMMDD-HHMM \ --doc prd|frd|dar \ --alias 项目简称 \ --title "文档标题" \ --desc "原始需求描述" ``` **模板位置**: - PRD: `skills/pmassist/references/prd.md` - FRD: `skills/pmassist/references/frd.md` - DAR: `skills/pmassist/references/dar.md` **文档类型区分**: - **PRD**: 新需求、流程优化、产品规划、业务方案 - **FRD**: 具体功能实现、接口/数据/流程细节 - **DAR**: 线上缺陷、事故复盘、根因分析 --- ## 附录:项目记忆管理规范 ### 记忆文件位置 本项目在两个层次维护记忆: | 层次 | 路径 | 说明 | |------|------|------| | 项目级(版本控制) | `.claude/memory/project_memory.md` | 项目架构、规范、约定;随代码一起提交 | | 项目级(结构化) | `.claude/memory/context.json` | 机器可读的结构化上下文 | | 用户级(跨项目) | `~/.claude/projects/D--workspace-fly-home-flow/memory/` | Claude Code 自动管理的用户记忆 | ### 记忆更新时机 完成以下操作后,必须同步更新 `.claude/memory/project_memory.md` 和 `context.json`: - ✅ 架构决策或设计模式变更 - ✅ 新增关键技术栈或依赖 - ✅ 代码规范或约定的建立与修正 - ✅ 重要工具类/工作流的新发现 - ✅ 已完成工作区或里程碑 ### 更新流程 1. 先 Read 现有记忆文件 2. 评估需要新增或修改的内容(增量式,不删旧上下文) 3. 同步更新 `project_memory.md`(人类可读)和 `context.json`(机器可读) 4. 更新 `lastUpdated` 字段为当天日期(格式 `YYYY-MM-DD`) ======= # Workspace Constitution ## SIMA × AI 协作最高规约(CLAUDE.md) > 本文件定义本项目开发、协作、迭代行为的最高规范**。 > 任何未遵循本规约的方法、流程或输出,视为无效或需重做。 --- ## -1. 技能精神宪章(Spirit) > 详见 [skills/SPIRIT.md](skills/SPIRIT.md) ### 第一纲领:于细微处发大隙 > **这是所有 SIMA Skills 必备的品质。** **核心要求**: - 产品文档必须穷举所有分支、状态、边界条件 - 必须列举所有字段取值、配置项、角色权限 - 必须覆盖"在 XX 状态/角色/场景下"的不同行为路径 - 文档中不能有未展开的"等情况"、"多种模式"等模糊表述 **验证清单**(每次输出前自问): - [ ] 是否有分支场景我没有追踪? - [ ] 是否有字段枚举我没有列举完整? - [ ] 是否有"用户操作后"的不同路径我没有探索? - [ ] 是否有"不同角色下"的行为差异我没有说明? ### 第二纲领:工具先行,深入证据,并行攻坚 > **不做字面功夫,要深入实质。调用一切能调用的工具,团结一切可团结的力量。** **核心要求**: - **工具先行**:手上有什么 MCP 就用什么 MCP,能读资产就读资产 - **深入证据**:不在假设上构建,要读 CodeMap、DomainMap、Runtime、用户资料 - **并行攻坚**:该发动多个 Agent 就开多个,独立任务并行执行 - **团结力量**:需要找资料就找资料,需要花力气就花力气,攻坚克难不避艰辛 **验证清单**(每次执行任务前自问): - [ ] 我是否已盘点了手上所有可用资产?(CodeMap、DomainMap、Runtime、Chrome DevTools...) - [ ] 我是否在用证据深入分析,而非基于假设? - [ ] 我是否可以并行启动多个 Agent/任务? - [ ] 我是否该花力气去找/采集新证据? ### 第三纲领:实践才能检验真理 > **需求文档和设计稿充满逻辑推理,但不是事实。Runtime 才是真相 —— 界面、字段、真实的数据和行为。** **核心要求**: - **Runtime 是唯一的事实来源**:需求是"应该如何",Runtime 是"实际如何" - **一切结论必须有证据**:截图、CodeMap、DomainMap、用户提供的资料 - **快照是证据的载体**:所有 Runtime 探索必须留下截图/snapshot 作为"呈堂证供" - **无证据则标记为假设**:没有证据验证的结论,必须在文档中标记为 `[ASSUMPTION]` **验证清单**(每次输出结论前自问): - [ ] 我的结论有证据吗? - [ ] 我是否用 chrome-devtools 截图验证了页面? - [ ] 不同场景下的差异是否都有证据了? - [ ] 截图/证据是否保存到 materials/ 目录作为存档? - [ ] 没有证据的结论是否标记为 `[ASSUMPTION]`? **文档标记规范**: ```markdown > **验证状态**: ✅ 已验证 / ⚠️ 部分验证 / ❌ 未验证(假设) > **证据位置**: materials/xxx.png 或 [CODEMAP:assets/codemap/...] ``` --- ## 0. 本 Workspace 的根本目标(Mission) 本 Workspace 的目标不是"生成若干产品文档", 而是: > **构建一套可复用的、可演化的产品文档生成方法与 Skills, 使 AI 能稳定地产出接近专业 PM 水平的 PRD、FRD、DAR 等产品文档。** 最终交付物包括但不限于: - 高质量产品文档(PRD/FRD/DAR) - 一组或多组可复用的 PM Assist Skills - 对应的方法论、流程与验证标准 --- ## 1. 核心方法论(Methodology) ### 1.1 WWH / PDCA —— 做事的基本法则 #### WWH(What / Why / How) **What(现状与目标澄清)** 必须明确回答: - **需求是什么**(原始需求、业务目标) - **文档类型是什么**(PRD / FRD / DAR) - **已有资料是什么**(CodeMap / DomainMap / Runtime / 用户资料) What 阶段只做「描述与对照」,不做方案设计。 --- **Why(差距与根因洞察)** 必须回答: - 为什么要做这个需求? - 当前系统有什么问题或缺陷? - 业务目标是什么?风险是什么? Why 必须覆盖(但不限于): - 业务背景 - 用户痛点 - 技术现状 - 风险识别 Why 阶段**不允许直接给解决方案**。 --- **How(方案设计与实施路径)** 基于 Why 的洞察,回答: - 通过什么方案、流程、配置,才能达成需求目标? - 不同角色、不同端、不同状态下的处理逻辑是什么? --- ### 1.2 PDCA(戴明环) 本 Workspace 内所有任务,**必须声明自己当前所处阶段**: - **P — Plan**:基于 WWH 制定文档生成计划,明确证据采集清单 - **D — Do**:生成、重构、改写具体文档片段,引用证据 - **C — Check**:对照模板、验证证据充足性、检查逻辑一致性 - **A — Act**: - 固化有效方法 - 修正无效路径 - 抽象并沉淀为 Skill > ❗ 未声明 PDCA 阶段的输出,视为无效输出。 --- ## 2. Workspace 资源与路径认知(Resource Awareness) ### 2.1 基本原则 - 本 Workspace 中的所有资源,都必须被明确认知其: - 含义 - 作用 - 使用时机 - 阅读深度要求 --- ### 2.2 资源使用方式约定 - **CodeMap**(`assets/codemap/`) - 含义:代码结构、字段定义、调用链 - 使用场景:理解系统现状、技术实现细节 - 阅读方式:定向深挖到字段/分支层级 - **强制要求**:PRD/FRD 必须至少引用 1 个 CodeMap 证据 - **DomainMap**(`assets/domainmap/`) - 含义:业务概念、流程、规则、分支证据 - 使用场景:业务逻辑、领域建模 - 阅读方式:精读关键节点 - **强制要求**:PRD/FRD 必须至少引用 1 个 DomainMap 证据 - **RuntimeScan**(`assets/runtime-scan/`) - 含义:真实系统运行态、页面截图、接口数据 - 使用场景:验证实际行为、补全流程闭环 - 阅读方式:问题导向式精读 - **用户提供资料**(`materials/`) - 含义:原型、截图、文档、链接 - 使用场景:需求澄清、设计验证 - 阅读方式:全文精读并摘要 --- ## 3. 标准推进流程(From 需求到文档) ### Step 0:阶段声明(强制) 每一次输出前,必须明确声明: - 当前处于 What / Why / How - 当前处于 PDCA 的哪个阶段 --- ### Step 1:文档类型分流(What) 根据用户初始描述进行分支;不确定就追问: - **PRD**:新需求、流程优化、产品规划、业务方案 - **FRD**:具体功能实现、接口/数据/流程细节 - **DAR**:线上缺陷、事故复盘、根因分析 > 选择后加载对应模板: - PRD → `skills/pmassist/references/prd.md` - FRD → `skills/pmassist/references/frd.md` - DAR → `skills/pmassist/references/dar.md` --- ### Step 2:工作目录与资料采集(Plan) 必须同时具备: 1. 项目工作目录(`./{项目简称}-{YYYYMMDD-HHMM}`) 2. 资料索引文件(`materials_index.md`) 3. 证据采集计划(需要读取的 CodeMap / DomainMap / Runtime) 输出形式必须是**结构化清单**。 --- ### Step 3:证据深挖与分析(Do) 原则: - **不允许基于假设生成文档** - 必须至少读取并引用以下层级中的每一类至少 1 个证据: - CodeMap:前端结构、后端字段、调用链 - DomainMap:领域证据、分支证据 - Runtime:页面截图、接口数据 通过多轮对话不断调优: - 结构 - 证据引用 - 逻辑推理 - 表达精度 --- ### Step 4:质量验证(Check) 必须回答: - 哪些章节已有证据支撑? - 哪些章节是 `[ASSUMPTION]`? - 证据→章节映射表是否完整? - 是否包含必备的图表(至少 1 个 mermaid 图 + 1 个表)? --- ### Step 5:Skill 抽象与固化(Act) 从成功文档中反向提炼: - 输入条件 - 关键推理步骤 - 输出结构 - 使用前置条件 最终产出: > **可复用的 PM Assist Skill,而非单次生成结果。** --- ## 4. 真实环境访问与事实获取规范(Runtime Access Rule) ### 4.1 基本原则 当分析或生成内容 **依赖真实系统行为、运行态信息或正式环境数据** 时: > **禁止仅基于推测、历史文档或假设进行推理。** 必须通过可验证的方式获取事实信息。 --- ### 4.2 指定工具约束(强制) 当需要访问以下内容时: - 系统正式 Runtime 环境 - Web 管理后台 / 前台页面 - 实际页面流程、字段、交互 - 真实接口返回或运行结果 **必须优先使用以下工具:** > **chrome-devtools MCP** 用途包括但不限于: - 页面结构与 DOM 分析 - 网络请求与接口行为观察 - 实际字段、状态、流程验证 - 运行态与设计文档差异比对 --- ### 4.3 使用时机声明(强制) 在使用 chrome-devtools MCP 前,必须明确声明: - 为什么需要访问真实环境 - 当前处于 PDCA 的哪个阶段 - 本次访问的目标是什么(验证 / 补全 / 对照) > ❗ 未经声明即进行的推理性输出,视为不可靠输出。 --- ### 4.4 事实优先级声明 当 **运行态事实** 与 **既有文档 / 推断结论** 不一致时: > **以 Runtime 事实为准,文档必须修正。** --- ## 5. 文档资产清单机制(Assets Index Rule) ### 5.1 启动阶段强制动作(Project Bootstrap Rule) 在本 Workspace **首次启动或新一轮文档生成开始前**, 必须先生成一个统一的文档资产清单文件: > **`materials_index.md`** 该文件是 Workspace 的**认知索引入口**。 --- ### 5.2 materials_index.md 的核心目的 - 快速建立对已有资料的整体认知 - 避免重复读取与无效上下文注入 - **显著降低 Token 消耗** - 为后续 Plan / Do 阶段提供"可定位证据来源" --- ### 5.3 materials_index.md 必须包含的内容 `materials_index.md` 至少应包含以下结构化信息: - 资料 ID(`SRC-001`, `CODEMAP-001` 等) - 资料名称 / 路径 - 类型(CodeMap / DomainMap / Runtime / 用户资料) - **简要说明(1–3 行)** - 推荐使用场景(What / Why / How / Check) - 建议阅读深度: - 掠读(Scan) - 精读(Deep Read) - 仅定位(Reference) --- ### 5.4 使用约束 - 在文档生成过程中: - **优先引用 materials_index.md 中的资源** - 明确指出使用的是哪一项资产(`[SRC-001]`, `[CODEMAP:...]`) - 当新增重要资源时: - 必须同步更新 materials_index.md > ❗ 未进入 materials_index.md 的重要资源,视为"不可被稳定复用的知识"。 --- ## 6. 证据标注与映射规则(Evidence Mapping Rule) ### 6.1 强制要求 每个关键结论、数据、规则必须标注来源: - **CodeMap 证据**:`[CODEMAP:assets/codemap/frontend/routes.yaml]` - **DomainMap 证据**:`[DOMAINMAP:assets/domainmap/branch_evidence.yaml]` - **Runtime 证据**:`[RUNTIME:screenshot_001.png]` - **用户资料**:`[SRC-001]` - **无证据**:`[ASSUMPTION]` --- ### 6.2 证据→章节映射表(强制) 在 PRD/FRD/DAR 中必须维护"证据映射表": | 章节 | 关键结论 | 证据来源 | |-----|---------|---------| | 2.1 核心概念定义 | 预估里程定义 | [CODEMAP:dataobjects/Order.yaml] | | 2.2 双轨计费生效条件 | 商户配置逻辑 | [DOMAINMAP:branch_evidence.yaml] | | 3.1 下单流程 | 路线获取逻辑 | [RUNTIME:screenshot_002.png] | --- ### 6.3 证据缺口清单(Check 阶段强制输出) 若章节无法绑定证据,必须显式标记并列入"证据缺口清单": | 章节 | 缺失证据 | 影响 | 下一步 | |-----|---------|-----|-------| | 4.2 外协订单处理 | BC段里程计算规则 | 无法验证结算逻辑 | 需 Runtime 验证或用户确认 | --- ## 7. 问题清单与问答闭环(Question List Rule) ### 7.1 强制要求 每轮 PDCA 的 Plan / Do 阶段,必须生成问题清单: - **P0 阻塞问题**(必须回答,否则不进入下轮) - **P1 关键决策问题**(影响方案设计) - **P2 细节确认问题**(影响细节完整性) 问题格式模板(`questions/round_N.yaml`): ```yaml round: 1 questions: - id: Q1-1 priority: P0 question: "商户双轨计费配置的默认值是?" options: ["开启", "关闭", "其他"] status: pending ``` --- ### 7.2 问答闭环原则 - 未解决 P0 时,禁止生成下一轮完整输出,只能继续追问 - P1/P2 问题必须在 Check 阶段验证是否已解决 - 所有问题解答必须记录到 `decision_log.md` --- ## 8. Skill 的基本定义(约束性说明) 在本 Workspace 中: - **Skill ≠ Prompt** - Skill 是一套: - 明确输入 - 稳定处理流程 - 结构化输出 - 可多次复用的能力单元 Skill 是本 Workspace 的**核心资产**。 --- ## 9. 终止条件(Exit Criteria) 只有在满足以下条件时,某一轮 PDCA 才可结束: - 文档质量稳定接近专业 PM 水平 - 证据映射表完成且无关键缺口 - P0/P1 问题全部关闭 - 已成功抽象出可复用 Skill 否则,必须继续进入下一轮 PDCA。 --- ## 10. 最高约束声明 > 在本 Workspace 中: > - **方法优先于结果** > - **流程优先于一次性生成** > - **证据优先于假设** > - **Skill 优先于单篇文档** --- ## 11. 额外操作性总原则(Operational Summary) - **真实世界 → 用工具,不用猜** - **复杂问题 → 先建索引,再深入** - **证据不足 → 标记假设,不硬编** - **Token 是成本,结构是杠杆** 本 Constitution 为最高规范,优先级高于任何临时指令或即兴讨论。 --- ## 附录:技能调用速查 ### pmassist(产品文档协作助手) **路径**: `skills/pmassist/` **用途**: 创建或修订 PRD、FRD、DAR 等产品类文档 **核心方法论**: WWH + PDCA **快速使用**: ```bash # 初始化会话工作区 python3 skills/pmassist/scripts/init_session.py \ --path ./项目名-YYYYMMDD-HHMM \ --doc prd|frd|dar \ --alias 项目简称 \ --title "文档标题" \ --desc "原始需求描述" ``` **模板位置**: - PRD: `skills/pmassist/references/prd.md` - FRD: `skills/pmassist/references/frd.md` - DAR: `skills/pmassist/references/dar.md` **文档类型区分**: - **PRD**: 新需求、流程优化、产品规划、业务方案 - **FRD**: 具体功能实现、接口/数据/流程细节 - **DAR**: 线上缺陷、事故复盘、根因分析 --- ## 附录:项目记忆管理规范 ### 记忆文件位置 本项目在两个层次维护记忆: | 层次 | 路径 | 说明 | |------|------|------| | 项目级(版本控制) | `.claude/memory/project_memory.md` | 项目架构、规范、约定;随代码一起提交 | | 项目级(结构化) | `.claude/memory/context.json` | 机器可读的结构化上下文 | | 用户级(跨项目) | `~/.claude/projects/D--workspace-fly-home-flow/memory/` | Claude Code 自动管理的用户记忆 | ### 记忆更新时机 完成以下操作后,必须同步更新 `.claude/memory/project_memory.md` 和 `context.json`: - ✅ 架构决策或设计模式变更 - ✅ 新增关键技术栈或依赖 - ✅ 代码规范或约定的建立与修正 - ✅ 重要工具类/工作流的新发现 - ✅ 已完成工作区或里程碑 ### 更新流程 1. 先 Read 现有记忆文件 2. 评估需要新增或修改的内容(增量式,不删旧上下文) 3. 同步更新 `project_memory.md`(人类可读)和 `context.json`(机器可读) 4. 更新 `lastUpdated` 字段为当天日期(格式 `YYYY-MM-DD`) >>>>>>> e1d85c48c09f4096267ecbe268b303094f2c2606