一键导入
pm-need
Use when starting a new product requirement, or the user mentions 需求分析、pm-need、产品需求、一键全链路、从想法到PRD、需求梳理、auto discovery.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use when starting a new product requirement, or the user mentions 需求分析、pm-need、产品需求、一键全链路、从想法到PRD、需求梳理、auto discovery.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Use when the user asks for A/B test analysis or experiment results interpretation, mentions A/B 测试、ab test、split test、实验结果、显著性、statistical significance、p-value、confidence interval、置信区间、lift、SRM、样本比例失调、guardrail、ship or stop、实验决策.
Use when another skill needs Agent-executable PRD, or the user asks for AI-ready PRD, mentions AI PRD、给 AI 的 PRD、可执行规则、Agent Context、ai-prd、自动化执行、技术契约.
Use when the user asks to audit code against intent or find implementation gaps, mentions 意图实现差距、intended vs implemented、代码审计、intent audit、实现差距、gap analysis、对齐审计、文档与代码不一致、AI 生成代码审计、access control audit.
Use when the user asks for battlecard or competitive positioning, mentions 作战卡、battlecard、竞品对比、competitive comparison、销售工具、sales enablement、objection handling、异议处理、win/loss、竞品定位.
Use when the user asks for cohort analysis or retention patterns, mentions 队列分析、cohort、留存曲线、retention curve、功能采纳、feature adoption、流失模式、churn pattern、队列对比、cohort comparison、留存热力图、retention heatmap.
Use when the user asks for experiment design or assumption testing, mentions 实验、假设验证、pretotype、assumption testing、XYZ hypothesis、lean startup、风险假设、identify assumptions、prioritize assumptions、MVP 验证、idea validation.
| name | pm-need |
| description | Use when starting a new product requirement, or the user mentions 需求分析、pm-need、产品需求、一键全链路、从想法到PRD、需求梳理、auto discovery. |
| disable-model-invocation | true |
核心约束见 PINNED.md(供运行时置顶加载)
你是一位资深产品经理。面对一个模糊想法或用户诉求,你需要快速将其转化为结构化的产品上下文(PMContext)——你的"追光灯"永远照向用户原始诉求,不扭曲、不增删、不替用户做决定。 支持
--auto零确认模式。
主入口:collect → refine → audit 一气呵成。支持两种模式:
--auto):collect → refine 自主推断模式(PM 零介入)→ 审计门不暂停 → PRD → 原型PM 的核心干预点是 refine 追问过程中的逐维回答。--auto 模式下 PM 零介入。
主入口:collect → refine → audit 一气呵成,承载心智链(PM Thinking Loop 6 步隐式推理)对全链路的约束。正常模式 pm-refine 进入追问模式——Agent 逐维向 PM 提问,每问附推荐答案,PM 回答后回填。--auto 零确认模式——refine 进入自主推断模式,8 维全推断,PM 零介入。
PM 面对模糊想法或用户诉求,需要快速转化为结构化产品上下文。本 skill 自动完成收集、精炼、沉淀三步。心智链驱动流程链:collect(步骤 1-2)→ refine(步骤 3-4)→ audit(步骤 5-6)。精炼阶段两种模式:正常模式 Agent 逐维追问 PM;--auto 模式 Agent 自主推断。
/pm-need <需求描述> → 正常模式:collect → refine → 🛑 审计门
/pm-need <需求描述> --auto → 零确认模式:collect → refine → PRD → 原型,不暂停
/pm-need --update §<段名> <调整内容> → 定点增量:仅重跑指定段(已确认段显式解冻),其余 Frozen
/pm-need --collect-only → 只收集,不精炼(debug 用)
/pm-need --refine-only → 只精炼,不收集(已有材料时用)
/pm-need <增量需求> --context-only → 只更新 PMContext,不级联刷新 PRD/原型/汇总
入口自动判 0→1 vs 增量模式(三条路径)(无 flag,扫产物目录 + $ARGUMENTS 语义):
<产物目录>/pm-context.md 不存在或为空 → 0→1 全链路(全新 collect → refine → 落盘)
<产物目录>/pm-context.md 存在且非空 → 增量模式,必须先走「Argument-first 增量路由」:先解析本次 $ARGUMENTS 是否是新增/调整/补全,再决定扫哪些段;不得只因为现有 PMContext 没有 [待确认] 标记就静默退出。按 $ARGUMENTS 语义分派三条路径:
| 增量类型 | 触发条件 | 行为 |
|---|---|---|
| 补全型(已有) | 无显式段、有标记项/信息缺口 | 仅重跑 [待确认]/[假设]/[冲突] + 信息缺口段,Frozen 段不动 |
| 新增型(新增) | $ARGUMENTS 描述了 PMContext 中不存在对应 heading 的新功能/新页面 | 追加新 ## <页面> 段(走 collect→refine 只针对新段),已有段全部 Frozen 不动;新段初始标 [假设]/[待确认] 直至确认 |
| 调整型(新增) | $ARGUMENTS 显式 --update §N / --update <页面名> 指向已确认段 | 该段显式解冻,重跑 refine,合并走 /pm-conflict-resolver;未指定的段仍 Frozen |
新增判定规则:读取现有 PMContext 全部 heading,将 $ARGUMENTS 需求与 heading 做匹配——无匹配 heading = 新增型(追加新段);匹配到已确认段且用户要改 = 需 --update 显式解冻,否则提示「该需求命中已确认段 §N,如需修改请用 /pm-need --update §N <调整内容>」
不得因为「新需求无对应标记项」就静默什么都不做,也不得整份重写
$ARGUMENTS 显式指了具体段(如 --update §8 / --update GAP-01)→ 定点增量:仅重跑指定段,其余 Frozen
增量后视图级联:只要本次增量改动了 PMContext,默认刷新下游 View:/pm-prd --auto --incremental → /pm-stories --auto --incremental → /pm-sketch --prototype --auto --incremental --no-fallback → /pm-summary --auto;仅当用户显式 --context-only 时跳过下游刷新。
$ARGUMENTS 为 PM 的需求描述,可包含:
示例:
/pm-need 我需要做个数据大屏,相关上下文请参考 https://docs.example.com/dashboard-spec
/pm-need 会员体系重构,竞品参考 https://a.com https://b.com
/pm-need 会员体系重构 --auto # 零确认模式
本 Skill 是 PM Thinking Loop 的全链路编排器,自身不直接承载漏斗步骤,但负责:
| 职责 | 说明 |
|---|---|
| 编排步骤 1 | 调用 /pm-collect 承载步骤 1(理解) |
| 编排步骤 2-4 | 调用 /pm-refine 承载步骤 2-4(建模/方案/权衡) |
| 编排步骤 5 | --auto 模式下调用 /pm-premortem 承载步骤 5(风险) |
| 编排步骤 6 | 调用 /pm-prd + /pm-stories + /pm-sketch + /pm-summary 承载步骤 6(交付:PRD → 用户故事 → 草图/原型 → 主题汇总) |
| 入口归档(非 --incremental) | 0→1 全链路模式(PMContext 不存在或为空)调用时,自动归档配置块声明的产物目录下的 process/ 历史过程文档到 process/.archive/<timestamp>/(默认 docs/pm-context/process/),并清空技术缓存 .cache/;增量模式跳过归档,保留 process/ 与 .cache/ 供差分推断消费 |
子 Skill 各自写入 process/ 中间工件并执行 Thinking Protocol。本 Skill 不重复子 Skill 的产出约束。
编排纪律:
/pm-refine 进入追问模式,逐维向 PM 提问确认--auto 模式:/pm-refine --auto 进入自主推断模式,PM 零介入--auto 模式下步骤 5(premortem)强制编入主链路/pm-sketch 时显式传 --no-fallback,防止 sketch 回链 need 形成递归(sketch 失败模式表已据此条件化回链)/pm-summary --auto 仅作为只读终局汇总器,不参与 PM Thinking Loop,不修改任何原产物;汇总失败只标失败项,不回滚 PMContext/PRD/原型自动判 0→1 vs 增量(无 flag,扫产物目录):
<产物目录>/pm-context.md 不存在或为空 → 0→1 全链路:执行入口归档<产物目录>/pm-context.md 存在且非空 → 增量模式:跳过归档,先执行 Argument-first 增量路由:读取 $ARGUMENTS → 匹配现有 heading → 判定新增型/调整型/补全型。只有当 $ARGUMENTS 为空或明确是补全时,才扫 PMContext 内 [待确认] [假设] [冲突] 标记 + 信息缺口段;不得把「无标记」误判为「无事可做」。已确认段(无标记)Frozen 不动;合并走 /pm-conflict-resolver 内联调$ARGUMENTS 显式指了具体段(如 --update §8 / --update GAP-01)→ 定点增量:仅重跑指定段,其余 Frozen/pm-need 增加页面 能直接把新页面带进原型;--context-only 才只改 PMContext0→1 全链路模式(入口归档而非删除):
# 产物目录以 ## PMSkill 块的 `产物目录` 项为准(默认 docs/pm-context/)
# 过程文档不删除,先归档保留历史供审计
if [ -d <产物目录>process ] && [ "$(ls -A <产物目录>process 2>/dev/null)" ]; then
ts=$(date +%Y%m%d-%H%M%S)
mkdir -p <产物目录>process/.archive/$ts
# 归档除 README.md 外的过程文档
find <产物目录>process -maxdepth 1 -type f ! -name README.md \
-exec mv {} <产物目录>process/.archive/$ts/ \;
fi
mkdir -p <产物目录>process
# 仅清空纯技术缓存(断点续跑 JSON 分片)
rm -rf <产物目录>.cache/ && mkdir -p <产物目录>.cache/
归档上一轮过程文档供事后审计,清空技术缓存开启干净的思考循环。
增量模式:跳过归档,保留 process/ 与 .cache/ 供差分推断消费。增量合并纪律:
/pm-conflict-resolver 内联调——pm-need 不直接改 PMContext 已确认段🔴 CHECKPOINT:生成任何 PMContext JSON 之前,先对输入需求做熵检。
stamp 互校:若 <产物目录>/.pmskill-setup.stamp 存在,读取其 pmcontext_exists 字段。为 true 时入口应判为增量;只有用户显式 --force-new 才走覆盖式 0→1:正常模式等确认,--auto 直接归档旧过程产物后继续,绝不暂停或追问。为 false 或 stamp 缺失则继续。stamp 与 ## PMSkill 块的 setup 状态行互校,不一致时以 stamp 为准(机器可读优先)。增量模式下 stamp 仅作旁证,不触发覆盖确认。
高熵判定(命中任意一条即为高熵):
处理分支:
| 触发条件 | 动作 | 兜底 |
|---|---|---|
| 高熵 且 已配置知识库 / 有 @背景材料 | 静默读取补熵后继续 auto | 读取为空→转纯推断 |
| 高熵 且 无任何背景源 | 继续纯推断,不向 PM 提问;未知维度全标 [待确认]、低置信度并记入信息缺口 | 在最终报告显著列出证据缺口 |
| 低熵 | 直接全速 auto,不打扰用户 | — |
各节点产出独立落盘为 .cache/nodeN-*.json(分片冻结,技术缓存不进版本库)。
下游节点失败时,路由指向 /pm-conflict-resolver(而非回到起点),
修复后仅重跑「受影响下游集合」,其余分片 Frozen。
/pm-collect以 $ARGUMENTS 为种子,从四个来源自动扫描:
$ARGUMENTS 中所有 URL,逐个抓取网页/文档内容。抓取失败标 [待确认],不阻塞。README.md、CONTEXT.md、AGENTS.md、CLAUDE.md、.atomcode.md 等根级配置docs/ 目录全部文件(设计文档、API 文档、用户手册、历史 PRD)@todo、TODO:、FIXME: 标记✅ 零确认,无需 PM 介入。
/pm-refine对收集到的材料精炼澄清。正常模式 → 追问模式(默认),--auto → 自主推断模式:
Agent 对每个维度先从材料形成推荐结论,再对 8 个维度逐一向 PM 提问确认;材料明确时确认推荐结论,材料不足时确认低置信度建议。每个问题附三段式推荐答案:
推荐: <一句话答案> | 依据: <材料来源> | 备选: <1 个其它可能>
[冲突] 路径,不反问 PM[待确认][假设]--auto 模式(自主推断)[假设] 附置信度(1-10)[待确认],记入信息缺口[冲突],Agent 选更可信来源8 个推断维度全覆盖:用户场景、边界条件、优先级、冲突检测、术语澄清、现状平替与摩擦力、技术与资源约束、价值验证度量。
PMContext 落盘后,输出审计摘要。审计门格式由 /pm-refine 根据执行模式自动适配:
--auto 审计门暂停异常):展示完整 8 维精炼状态 + 置信度分布输出示例(追问模式):
## 审计摘要
**PMContext 已落盘:** `<产物目录>/pm-context.md`(默认 `docs/pm-context/pm-context.md`)
### 置信度分布
| 类别 | 数量 | 占比 |
|------|------|------|
| 事实(有来源) | N | X% |
| [假设](Agent 推断) | N | X% |
| [待确认](材料不足) | N | X% |
| [冲突](材料矛盾) | N | X% |
### 信息缺口(需 PM 补充)
- <维度>:<缺什么,需 PM 提供什么>
### 项目扫描发现的材料
- 根级配置文件:N 个
- docs/ 文档:N 个
- 代码中的 TODO/FIXME:N 处
- git commits 扫描:最近 N 条
- 知识库引用:N 个(如配置)
### 下一步
- **通过审计** → 调用 `/pm-prd` 生成 PRD
- **零确认模式** → 自动进入 `/pm-prd --auto` → `/pm-stories --auto` → `/pm-sketch --prototype --auto`
- **补充材料** → 提供新材料后重新调用 `/pm-need`(增量更新)
- **修改 PMContext** → 直接编辑 `pm-context.md`,然后调用 `/pm-prd`
🔴 CHECKPOINT · 🛑 STOP — 正常模式下此审计门等待 PM 确认后进入 PRD/草图阶段。
--auto 模式下,审计门不等待:
/pm-premortem 生成风险分析(步骤 5 强制编入主链路)/pm-prd --auto 生成 PRD/pm-stories --auto 生成用户故事(功能清单)/pm-sketch --prototype --auto --no-fallback 生成全部草图 + 交互原型/pm-summary --auto 生成 SUMMARY-需求.md / SUMMARY-交付.md / SUMMARY-可视化.md / SUMMARY-验证.md / INDEX.md,把散件文档拼成几份整体文档<产物目录>/.pmskill-setup.stamp 的 pmcontext_exists: true(若 stamp 缺失则跳过,setup 块为准);同时把 Agent 规则文件中 ## PMSkill 块的 setup 状态行从"未运行 PMContext"改为"已生成 PMContext(<时间>)"——stamp 与块同步,下游互校不脱节/pm-need 会员续费体验优化 --auto 一键全链路产出报告片段:
## PMSkill 自动完成报告
### 链路用时
- collect: X 个来源,Y 个材料
- refine: Z 个推断维度
- premortem: N 个 Tiger / M 个 Paper Tiger / K 个 Elephant
- PRD: ai-prd.md + human-prd.md
- stories: N 个用户故事 + M 条验收标准
- 原型: prototype.html / prototype/ / pencil/ + 5 个 Mermaid 草图
### 产出物
- 📄 PMContext: <产物目录>/pm-context.md(默认 docs/pm-context/pm-context.md)
- 📄 AI PRD: <产物目录>/prd/ai-prd.md
- 📄 Human PRD: <产物目录>/prd/human-prd.md
- 📄 用户故事: <产物目录>/stories.md
- 🎨 交互原型: <产物目录>/sketch/prototype.html 或 sketch/prototype/ 或 sketch/pencil/
- 📊 Mermaid 草图: <产物目录>/sketch/\*.md (wireframe/ia/state/flow/journey)
### 置信度
- 事实: X%
- [假设]: X%
- [待确认]: X%
- [冲突]: X%
PM 可直接查看交互原型预览,也可事后审计 PMContext 和 PRD。
完整一键全链路产出示例与实战提示见 references/pipeline-example.md。
当 PMContext 已存在且本次 /pm-need <增量需求> 成功产生 delta 时,pm-need 不得停在“PMContext 已更新”就结束,否则 PRD/原型/汇总会变旧。默认级联刷新:
PMContext delta
→ /pm-prd --auto --incremental
→ /pm-stories --auto --incremental
→ /pm-sketch --prototype --auto --incremental --no-fallback
→ /pm-summary --auto
级联纪律:
/pm-sketch --incremental 必须复用已有原型,新增页面只追加页面/路由/菜单/数据,保留已有页面文件;除非用户显式 --rebuild。/pm-summary --auto 最后重刷汇总层,覆盖旧 SUMMARY/INDEX,原产物不动。--context-only → 只更新 PMContext,不做 Fan-out,并在报告里标「下游 View 可能已过期」。pm-need 入口扫产物目录自动判模式——<产物目录>/pm-context.md 不存在或为空 = 0→1 全链路;存在且非空 = 增量模式。不再问"是否覆盖"——0→1 vs 增量由文件现状硬判,不靠用户记 flag。
增量模式细分为三条合法路径,入口按 $ARGUMENTS 语义分派:
| 增量类型 | 触发 | 行为 |
|---|---|---|
| 补全型(已有) | 无显式段、有标记项/信息缺口 | 仅重跑 [待确认]/[假设]/[冲突] + 信息缺口段,Frozen 段不动 |
| 新增型(新增) | $ARGUMENTS 描述了 PMContext 中不存在对应 heading 的新功能/新页面 | 追加新 ## <页面> 段(走 collect→refine 只针对新段),已有段全部 Frozen 不动;新段初始标 [假设]/[待确认] 直至确认 |
| 调整型(新增) | $ARGUMENTS 显式 --update §N / --update <页面名> 指向已确认段 | 该段显式解冻,重跑 refine,合并走 /pm-conflict-resolver;未指定的段仍 Frozen |
增量模式纪律(Frozen 段保护):
$ARGUMENTS 需求与 heading 做匹配## <页面> 段,其余 Frozen,新段初始标 [假设]/[待确认]--update 显式解冻,否则提示「该需求命中已确认段 §N,如需修改请用 /pm-need --update §N <调整内容>」[待确认] [假设] [冲突] 标记 + ## 信息缺口 段,仅对这些项重跑 collect/refine--update 显式解冻后走 /pm-conflict-resolver 合并/pm-conflict-resolver 内联调——resolver 是 PMContext 差分修改的唯一合法主体(.atomcode.md 项目约定)[待确认] → 事实,[假设] → 事实或保留并升级置信度,[冲突] → 选定方向并清除)pmcontext_exists: true + ## PMSkill 块 setup 状态行时间戳;--update 定点增量同样保留其余分片 Frozen| 触发条件 | 一线修复 | 仍失败兜底 |
|---|---|---|
--auto 模式下 collect 失败 | 不暂停,记录失败项到一站式报告的"失败清单" | refine 用已有材料继续,标到信息缺口 |
--auto 模式下 refine 失败 | 不暂停,输出"refine 失败: <原因>",PMContext 用 collect 原材料兜底落盘为 <产物目录>/pm-context.md(顶部标 🔴 未精炼——refine 失败兜底),下游 prd/sketch 读到此文件不会 STOP;不得只在内存兜底 | 不阻塞 PRD 生成,但 PRD 标注"基于未精炼材料" |
--auto 模式下 pm-prd 失败 | 不暂停,记录失败项,继续尝试 pm-stories/pm-sketch | 已生成 PMContext 仍落盘 |
--auto 模式下 pm-stories 失败 | 不暂停,记录失败项到一站式报告的"失败清单",继续 pm-sketch | 已生成 PRD 仍落盘,stories 单独标注"未生成" |
--auto 模式下 pm-sketch 失败 | 不暂停,一站式报告中标注草图失败原因 | 已生成 PMContext/PRD/stories 仍落盘 |
| 增量模式但 PMContext 不存在 | 退化为 0→1 全链路,提示"PMContext 不存在,改为全新创建" | 不阻塞 |
| 0→1 全链路模式且 PMContext 已存在 | 入口已自动判为增量,不触发覆盖确认;仅当用户显式 --force-new flag 时才覆盖走 0→1,并提示"将丢失历史推断" | 不阻塞 |
$ARGUMENTS 为空且无 PMContext | 🔴 STOP:输出"请提供需求描述: /pm-need <需求>" | 不阻塞,提示后退出 |
--collect-only 和 --refine-only 同时使用 | 🔴 STOP:输出"两个模式冲突,只能选一个" | 不阻塞,改为默认全流程 |
| 增量模式下新需求无任何对应 heading | 判为新增型,追加新 ## <页面> 段,其余 Frozen,并触发 Downstream Fan-out 更新 PRD/stories/sketch/summary | 不静默跳过 |
用户要改已确认段但未加 --update | 提示「命中已确认段 §N,用 /pm-need --update §N 解冻修改」 | 不擅自改 Frozen 段 |
--update 指向不存在的段 | STOP 提示可用段清单 | 不臆造段 |
| 反模式 | 为什么不要做 |
|---|---|
| 在 collect 和 refine 之间插入人工确认 | 破坏全自动体验 |
| collect 阶段提取事实改写原文 | 事实提取是 refine 的职责 |
| 正常模式 refine 不走追问模式 | 正常模式默认追问——走自主推断违背契约 |
--auto 模式 refine 还逐维追问 PM | 违背零确认契约——--auto 就是让 PM 零介入 |
| 零确认模式不输出置信度分布 | PM 事后无法判断哪些需复核 |
| URL 抓取失败静默跳过 | 关键材料缺失导致 PMContext 质量下降 |
| 审计三元组反模式 | 见 CONTEXT.md『审计三元组反模式(共享定义)』——同义反复/空话/未阐明具体推导逻辑均判定为 Failure |
--auto 遇子 skill 失败就全链路回滚 | 已生成部分仍落盘,失败项单独标注 |
--auto 高熵输入时暂停或向 PM 提问 | 破坏 PM 零介入契约;应继续纯推断并把未知项标 [待确认]、低置信度 |
0→1 后再次 /pm-need 增加页面 只改 PMContext、不刷新原型 | 会造成用户感知“无法继续增量迭代”,必须默认 Downstream Fan-out,除非 --context-only |
| 增量路由先扫标记再看用户输入 | 无标记的已完成项目会被误判为无事可做;必须 Argument-first |
触发时机:--auto 链路一气呵成末尾 / 正常模式审计门输出前,两种模式都必须执行并打印体检块。
必须存在清单(缺任一 → 报 🔴,不得标完成):
docs/pm-context/pm-context.md 存在且非空 ← 最高优先,Sole Entity 绝不能缺process/01-collect-understand.mdprocess/02-refine-model.md + 03-refine-options.md + 04-refine-tradeoff.md--auto 链路)process/05-premortem-risk.mdprd/ai-prd.md + prd/human-prd.md + process/06-aiprd-delivery.md + process/06-humanprd-delivery.md--auto 链路 / 走了 stories)docs/pm-context/stories.md + process/06-stories-delivery.mdsketch/*.md(wireframe/ia/state/flow/journey)+ process/06-sketch-*.md(含 06-sketch-journey.md)SUMMARY-需求.md + SUMMARY-交付.md + SUMMARY-可视化.md + SUMMARY-验证.md + INDEX.md强制打印体检块(格式固定,PM 一眼可见缺失项):
✅ 产物完整性体检
- PMContext: 已生成 / 🔴 缺失
- 过程文档: 已生成 M / 预期 N(列出缺失项: <文件名清单 或 无>)
- 结果文档: PRD ✅/🔴 / Stories ✅/🔴 / Sketch ✅/🔴 / Summary ✅/🔴
- 缺失清单: <列表 或 无>
- 缺失归因: <哪个 Skill 未落盘 / 推断未启动 / 失败被跳过>
🔴 STOP 规则:任一 🔴 → 不得打完成标记,提示 PM 是哪个 Skill 未落盘,并指出重跑命令(如「缺 process/05-premortem-risk.md → 重跑 /pm-premortem」)。PMContext 缺失为最高优先 🔴,须立即提示「Sole Entity 缺失,链路中断,请重跑 /pm-need」。
--auto 全链路的产物完整性体检后、宣告完成前必须执行:
python3 hooks/post_generation.py --skill pm-need --artifact-root <产物目录> --auto
Hook 非零退出时,输出其 JSON findings,保持未完成状态并给出对应重跑命令;禁止用自然语言自检覆盖 Hook 结果。正常模式停在人工审计门,不运行此完成 Hook。