需求池清洗与归类
核心原则
- 保留原始数据,不修改或删除唯一副本;为来源、原子项、候选需求和需求簇生成稳定 ID。
- 区分原文、观察到的问题、发生场景、底层需求、原始解决方案、分析假设和未知项。
- 每条候选需求必须可追溯到来源;每次拆分/合并都保留映射。
- 相似度只产生复核候选,不能自动合并;相关但不同的问题保持独立并用需求簇关联。
- 只对有证据的优先级维度评分,记录理由和置信度;提出者职级不等于价值。
- 本 Skill 只治理候选需求池,不输出 PRD、规格、方案、承诺、最终排序或审批结论。
执行流程
- 建立输入基线:检查真实字段、来源渠道、时间、反馈者角色和原文;自由文本生成稳定来源 ID。仅在缺失信息阻断追溯或改变处理范围时询问,其余标记未知。
- 标准化输入:CSV、JSONL、Markdown 或文本可使用
scripts/normalize_input.py。XLSX 先用电子表格能力检查工作簿和 Sheet,再导出工作副本,不覆盖原文件。 - 原子化与清洗:读取 triage-rules.md,拆分包含多个独立问题的来源项,去除寒暄/签名/测试噪声,并保留被排除内容的原因和来源映射。
- 识别重复候选:先查完全重复,再运行
scripts/find_duplicate_candidates.py产生近似候选。仅当角色、场景、问题、期望结果和关键约束实质一致且通过复核时合并。 - 分类与聚类:读取 taxonomy.md,分别标注业务域、问题类型、角色、场景、生命周期和证据强度;围绕共同问题/结果聚类,而非只看关键词。
- 形成候选记录:按 output-schema.md 记录问题、场景、用户、底层需求、原始方案、证据、频次、置信度、分类、簇、开放问题、优先级输入和复核状态。
- 初步优先级:读取 prioritization.md,分别评估价值、严重度、覆盖/频次、战略匹配、证据置信度和工作量;安全、合规、信息安全、不可逆数据丢失和关键中断设置升级标记。
- 生成并验证:使用
assets/demand-pool-template.csv生成结构化产物,运行scripts/validate_output.py。验证失败、冲突、低置信度、疑似误合并和关键字段缺失全部进入复核队列。
合并判定
只有以下条件同时满足时才建议合并:
- 同一或等价角色与场景;
- 问题、期望结果和成功标准实质相同;
- 关键约束不冲突;
- 合并不会掩盖不同严重度、分层或根因;
- 所有来源 ID 可完整保留。
否则保持独立,通过 cluster_id 或关联字段连接。人工未确认前状态只能是“疑似重复/待复核”。
默认产物
clean-demand-pool.csv:候选需求记录。source-mapping.csv:来源 → 原子项 → 候选需求映射。review-queue.csv:冲突、低置信度、歧义合并和缺失字段。run-summary.json:输入、拆分、排除、候选、簇、复核和校验统计。
只生成结构化数据和简短处理摘要,不扩展为叙述式需求规格。
飞书多维表格(仅显式请求)
先读取 lark-base-adapter.md,核验认证、目标 Base/数据表和真实字段。必须先生成并验证本地产物,再用 scripts/prepare_lark_payload.py 准备幂等载荷并预览变更。远程写入属于外部变更,须有用户明确请求;失败时停止远程写入并交付本地产物。
不得自行创建 Base、数据表、字段、视图、工作流或仪表盘,不得猜测字段名。
按需资源路由
- 如果要拆分、清洗、判断证据或根因,读取 triage-rules.md。
- 如果要分类和聚类,读取 taxonomy.md。
- 如果要评分或解释初步优先级,读取 prioritization.md。
- 如果要生成/验证字段或状态,读取 output-schema.md。
- 如果用户明确要求飞书读写,读取 lark-base-adapter.md。
- 如果需要拆分、合并和边界示例,读取 examples.md。
不要一次性加载全部 references。
完成检查
- 每条候选需求至少有一个来源;所有拆分、排除和合并都有映射/原因。
- 问题、需求、原始方案、事实和假设已分开;冲突与低置信度进入复核队列。
- 初步优先级有分维度证据并明确为非最终结论。
- 输出不包含 PRD、最终需求说明、方案、承诺或隐含审批。
- 本地产物已校验;任何远程写入均有明确授权和可追踪结果。
Scan to join WeChat group