产品技能

product-skills
分类设计
作者Alireza Rezvani
许可MIT
评分4.20/5
使用10.9K

产品团队 — 领域编排器与探索循环

此编排器承担两项职责。路由: 分叉上下文,使用 scripts/product_goal_router.py 将产品咨询分类至 16 个产品团队通道(12 个捆绑 + 4 个独立插件),执行其中一个并返回摘要。循环: 将产品工作作为带有机器可检查门禁的有界 Agent 循环运行 —— 包括持续探索循环(由 discovery_cadence_tracker.py 进行每周节奏评分,由 ost_linter.py 强制执行树状结构)以及通过全库 agent-harness 执行的目标级运行。

调用时机

| 症状 | 子技能 |
|---|---|
| "确定功能优先级 / RICE / PRD" | product-manager-toolkit |
| "OKRs,战略级联" | product-strategist |
| "用户画像,可用性,研究综合" | ux-researcher-designer |
| "设计令牌,WCAG 对比度" | ui-design-system |
| "竞品矩阵,拆解" | competitive-teardown |
| "留存,分群,漏斗,KPI" | product-analytics |
| "A/B 测试,样本量,假设" | experiment-designer |
| "探索,假设,机会树" | product-discovery |
| "路线图沟通,发布日志,更新日志" | roadmap-communicator |
| "Spec → 可运行仓库" | spec-to-repo |
| "落地页 (Next.js/Tailwind)" | landing-page-generator |
| "SaaS 样板代码" | saas-scaffolder |
| "用户故事,Sprint 容量" | agile-product-owner (独立) |
| "Apple HIG 审计" | apple-hig-expert (独立) |
| "从现有代码库生成 PRD" | code-to-prd (独立) |
| "总结论文/文章" | research-summarizer (独立) |

路由逻辑 (确定性)

bash
python3 scripts/product_goal_router.py --text "<the goal>" --output json

退出码 0 → route_to 指定技能名称(含 skill_path,包括独立插件):加载其 SKILL.md 并遵循其工作流。退出码 2 → 提出一个澄清问题,列出候选技能并给出推荐答案。退出码 3 → 无信号:要求用户重新陈述目标并指明交付物。严禁默默猜测;严禁默默链式执行 —— 必须先输出摘要,确认后再链式执行。

探索循环 (该领域的周期性 Agent 循环)

现代探索是一种每周习惯,而非项目阶段 (Torres)。将其作为有界循环运行
包含两个机器门禁(machine gates):

1. 观察 (Observe) — 维护 discovery_log.json(访谈、假设测试;格式参考 assets/sample_discovery_log.json)并评估节奏:

bash
python3 scripts/discovery_cadence_tracker.py --input discovery_log.json

若访谈次数 < 2 次则拒绝执行(exit 5)—— 此时尚无可衡量之节奏。输出内容:健康度 0–100、判定结果(HEALTHY/AT-RISK/DORMANT)、具体缺口以及 next_loop_action
2. 选择 (Choose) — 追踪器的 next_loop_action 即为选择结果:预约触达点、根据结果重新锚定指南,或测试优先级最高的未验证假设(路由至 product-discovery 的 assumption_mapper 进行优先级排序)。
3. 执行 (Act) — 使用路由后的子技能工具运行访谈/假设测试。
4. 验证 (Verify) — 在驱动路线图之前,确保树结构稳健:
bash
python3 scripts/ost_linter.py --input ost.json    # exit 2 = NEEDS-REWORK,在引用该树之前必须修复

规则:仅限一个可衡量的结果根节点 (O1);机会点应为需求而非功能 (O2);目标机会点需对比 $\ge 2$ 个方案 (O3);每个方案必须有对应的假设测试 (O4);不得出现孤立方案 (O5 —— 这是“功能工厂”的典型标志)。
5. 记录 / 重复或停止 (Record / Repeat-or-stop) — 更新日志,保持每周连续记录。停止状态:HEALTHY + 假设已验证 $\rightarrow$ 晋级至 experiment-designer(构建 A/B 门禁)或 product-manager-toolkit(编写 PRD);连续 4 周以上 DORMANT $\rightarrow$ 直接向指定的产品负责人汇报 —— 不要让需求发现悄无声息地死去。

对于构建规模的目标(如“将此验证后的规格书转化为仓库并验证”),请通过全库测试框架进行编译:

bash
python3 engineering/agent-harness/skills/agent-harness/scripts/goal_compiler.py \
  --goal "<goal>" --manifest engineering/agent-harness/skills/agent-harness/assets/harnesses/product-team.json \
  --out .agent-harness/plan.json

该领域最强的三个收尾门禁将作为任务验证接入:../spec-to-repo/scripts/validate_project.py (exit 0)、code-to-prd 的黄金标准 expected_outputs/ 以及 research-summarizer 的引用计数检查。

硬性规则

1. 证据先于定论:除非 ost_linter.py 返回 exit 0,否则路线图项不得引用 OST;不得将单一参与者的反馈视为洞察(那是轶事,而非洞察)。
2. 结果优先:每个循环必须挂载在一个可衡量的结果之下 —— linter 的 O1 规则是准入门禁。
3. 实验由数学把关:样本量必须来自 ../experiment-designer/scripts/sample_size_calculator.py,绝不能凭直觉;在报告判定结果时必须附带 MDE(最小可检测效应)。
4. 优先级排序需明确框架:稳态使用 RICE,时间敏感时使用 WSJF/延迟成本,针对未满足需求使用机会评分 —— 必须指明使用了哪个框架及其原因(参见 references/product_operating_model.md)。
5. AI 功能必须随评测一同交付:对于概率性功能,黄金数据集 + 评分量表是 PRD 的质量契约 (references/ai_product_evals.md)。
6. 严禁修改用于评判自己的门禁;预算耗尽时应上报给指定人员,绝不能报告为成功。

强制性问题库(文档质询模式)

每轮仅限一个问题,包含推荐答案和权威引用。在确定路径决策之前,严禁运行子技能或启动循环:

  • 需求发现 (DISCOVERY) 路径:“本次需求发现服务于哪个单一结果?请用数字表述。推荐做法:先将其写在 OST 根节点中 ——
没有结果的机会只是在打造“功能工厂”。经典参考:Torres,《持续探索习惯》;机会解决方案树 (producttalk.org)。"
  • 优先级 (PRIORITIZE) 泳道:"时间敏感性是否改变了此排名——延迟任何一项一个季度是否会削弱其价值?建议:如果是,在 RICE 之外运行 WSJF/延迟成本并对比排名;标记那些在单步估算变化时排名会发生反转的项目。经典参考:Reinertsen,《产品开发流原则》;对 SAFe WSJF 伪精度的批判。"
  • 实验 (EXPERIMENT) 泳道:"什么样的基准率和最小可检测效应 (MDE) 能证明此测试运行时间的合理性?建议:先计算样本量 n;如果 4 周内无法达到,请测试更大的杠杆。经典参考:统计功效分析 (experiment-designer)。"
  • 分析 (ANALYTICS) 泳道:"你的北极星指标是价值交换的领先指标,还是收入/虚荣指标?建议:使用带有输入树的领先价值指标。经典参考:Amplitude,《北极星指南》。"
  • 战略 (STRATEGY) 泳道:"这些 OKR 是结果 (outcomes) 还是交付清单 (shipping lists)?建议:结果——输出型 OKR 是运营模型失败的首要原因。经典参考:Cagan,《Transformed》(SVPG, 2024)。"
  • 构建 (BUILD) 泳道 (spec-to-repo / saas-scaffolder):"哪个经过验证的假设表明这确实需要被构建?建议:链接到通过测试的 OST;构建是测试想法最昂贵的方式。经典参考:Torres;Bland,《测试商业想法》。"

假设

1. 用户拥有(或建议拥有)产品决策权。
2. 探索数据以 JSON 日志形式存储在工作区中——循环由文件支持且可恢复;每个工具都提供 --sample 参数以便先查看数据结构。
3. 四个独立插件与包一起安装(如果未安装,路由仍可通过路径路由至它们)。

非目标

  • 非交付循环——Sprint/流/Jira 工作路由至 project-management
  • 非通用循环引擎——那是 engineering/agent-harness;此编排器是产品领域适配器(路由 + 探索门禁)。
  • 非活动营销——marketing/landing 构建从零开始的营销页;此处的 landing-page-generator 构建产品 Next.js/TSX 页面。

输出产物

| 模式 | 产物 |
|---|---|
| 路由 | 子技能自身的产物 + $\le$ 200 字摘要(含一个引用经典的挑战) |
| 探索循环 | discovery_log.json + 节奏报告 + 经过 lint 检查的 ost.json |
| 框架运行 | .agent-harness/plan.json + state.json + 闭环移交 |

反模式(避免)

  • ❌ 为了“全面”而运行所有 16 个泳道——应路由至一个,生成摘要,并在确认后链式执行。
  • ❌ 引用未通过 lint 检查的 OST,或将单一参与者的轶事提升为洞察。
  • ❌ 发布一个 PRD 中没有评估方案(黄金集 + 评分标准)的 AI 功能。
  • ❌ 让探索进程悄无声息地中断——DORMANT 状态将按名称升级提醒。
  • ❌ 在截止日期主导时,将 RICE 作为唯一的优先级衡量维度。

参考资料

  • 循环引擎:engineering/agent-harness · 循环词汇表:loop-library