agentsclimarketplace

Clarify requirements

Skill kelegele/oh-my-pm/skills/clarify-requirements

Oh-My-PM - Product Manager AI Agent Workflow System via Claude Code Skills

Install
npx -y skills add kelegele/oh-my-pm --skill clarify-requirements

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

感知阶段的信息收集与需求澄清。在进入 PRD 生成前,系统性地识别缺失信息、逐步确认、生成 PRD 内容方案供用户审阅。当用户提供需求描述但信息不完整,或说"帮我梳理一下需求"、"还缺什么信息"、"先确认下需求再生成"时使用。

SKILL.md

7.9 KB, as published. Nobody here has run it

Clarify Requirements

Overview

在 PRD 生成前,确保所有感知数据已收集,且用户批准了内容方案。参考 superpowers brainstorming 的"逐步确认 → 方案审阅 → 用户批准"流程设计。

HARD GATE

在以下条件全部满足前,禁止调用 prd-gen 或任何 design 层 skill

  1. 信息差距分析完成
  2. 每个缺失项已逐一向用户确认(一次一个问题)
  3. PRD 内容方案已呈现给用户
  4. 用户已明确批准方案

Anti-Pattern: "信息够了,直接生成吧"

禁止。即使你认为信息已经足够,也必须呈现方案并获得用户批准。"简单"需求更容易因为遗漏关键信息而导致 PRD 返工。

Process Flow

digraph clarify {
    "Explore context" [shape=box];
    "Gap analysis" [shape=box];
    "Ask one question at a time" [shape=box];
    "Handle missing assets" [shape=box];
    "Generate PRD plan" [shape=box];
    "Present plan to user" [shape=box];
    "User approves?" [shape=diamond];
    "Save clarification result" [shape=box];
    "Proceed to PRD generation" [shape=doublecircle];

    "Explore context" -> "Gap analysis";
    "Gap analysis" -> "Ask one question at a time";
    "Ask one question at a time" -> "Handle missing assets";
    "Handle missing assets" -> "Generate PRD plan";
    "Generate PRD plan" -> "Present plan to user";
    "Present plan to user" -> "User approves?";
    "User approves?" -> "Generate PRD plan" [label="no, revise"];
    "User approves?" -> "Save clarification result" [label="yes"];
    "Save clarification result" -> "Proceed to PRD generation";
}

Step-by-Step Process

Step 1: Explore Context

检查 docs/product/ 目录中已有的感知数据:

  • docs/product/.ompm/market-analysis.json — 市场情报
  • docs/product/.ompm/competitive-analysis.json — 竞品分析
  • docs/product/.ompm/user-research.json — 用户研究
  • docs/product/positioning.md — 产品定位
  • docs/product/.ompm/prioritization.json — 优先级排序

记录已有数据,避免重复收集。

Step 2: Scenario Detection

使用 AskUserQuestion 确定需求场景:

Q: 请选择需求场景

OptionDescription
迭代更新基于现有功能进行迭代优化
新功能在现有产品上添加新模块
0-1 新产品从零开始规划全新产品

Step 3: Gap Analysis

根据场景类型,对比用户已提供的信息与 context-requirements

场景必需字段检查项
迭代更新current_feature_desc, ui_state, iteration_goal是否提供了当前功能描述?是否有 UI 截图/HTML/链接?是否明确了迭代目标?
新功能product_architecture, design_specs, entry_point是否描述了产品整体架构?是否有设计规范?是否说明了入口位置?
0-1 新产品background, constraints, reference_products是否说明了产品背景与目标用户?是否有资源约束?是否提供了参考产品?

逐条列出缺失项,准备下一步逐一确认。

Step 4: Ask One Question At A Time

核心规则:每条缺失信息单独提问,绝不一次性抛出多个问题。

对每个缺失项,使用 AskUserQuestion 提问,优先使用多选格式:

示例问题模板

缺失项提问方式
缺少 UI 截图"当前功能的界面状态,你如何提供?" → A. 已有截图 B. 有 HTML 文件 C. 有在线链接 D. 暂无,先跳过
缺少竞品列表"需要分析哪些竞品?" → multi-select + "其他"选项
缺少目标用户"目标用户是?" → A. 已定义用户画像 B. 我口述你来整理 C. 需要先做用户研究
缺少参考产品"有参考产品吗?" → A. 有,我来说 B. 你帮我搜索行业标杆 C. 不需要参考

处理用户说"稍后提供"的情况

  • 记录哪些项是 pending 状态
  • 在 PRD 方案中将这些项标记为 [待补充]
  • 不阻塞流程,但明确标注缺失

Step 5: Generate PRD Plan

基于已收集的信息,生成 PRD 内容方案:

## PRD 内容方案

### 场景确认
- **场景类型**: 迭代更新 / 新功能 / 0-1 新产品
- **核心需求**: [一句话概括]

### 已收集信息
- [列出用户已提供的所有信息]

### 待补充项
- [列出 pending 项,标注 [待补充]]

### 预计生成的 PRD 章节
| 章节 | 内容概要 | 依赖 |
|:-----|:---------|:-----|
| 第0章 行业对标 | 将研究 X 个标杆产品 | 需用户提供参考产品 |
| 第1章 项目概述 | 基于用户描述展开 | 已完成 |
| 第2章 业务分析 | 目标用户 X,痛点 Y | [待补充] 用户画像 |
| 第3章 功能需求 | [列出从用户需求中识别的关键功能] | 已完成 |
| 第4章 非功能性需求 | 行业标准要求 | 自动生成 |
| 第5章 用户体验流程 | 基于功能推导 | 需 UI 截图补充 |
| 第6章 项目风险 | 基于功能复杂度 | 自动生成 |
| 第7章 合规建议 | 基于数据类型 | 自动生成 |
| 第8章 原型设计 | [待确认是否生成] | - |
| 第9章 成功指标 | 基于目标推导 | 自动生成 |

### 关键决策点
- [列出需要用户在 PRD 生成前确认的关键决策]

Step 6: User Approval

使用 AskUserQuestion 让用户审阅方案:

Q: 请审阅 PRD 内容方案

OptionDescription
确认,按此方案生成 PRD进入 PRD 生成流程
需要调整方案回到 Step 5 修改方案
我有更多信息要补充回到 Step 4 补充信息,重新生成方案
先回到感知阶段调用 competitive-analysis / user-research 等 skill 补充感知数据

Step 7: Save Clarification Result

将澄清结果保存到 docs/product/.ompm/clarification-result.json

{
  "scenario": "iteration|new_feature|new_product",
  "collected_info": {
    "field1": "value1",
    "field2": "value2"
  },
  "pending_items": [
    {"field": "ui_state", "reason": "用户稍后提供截图"}
  ],
  "prd_plan": {
    "chapters_planned": ["第0章", "第1章", "..."],
    "key_decisions": ["决策1", "决策2"],
    "user_approved": true,
    "approved_at": "ISO 8601"
  }
}

Quality Standards

  • 每个必需字段已确认或标记为 pending
  • 至少一次 AskUserQuestion 用于场景确认
  • PRD 内容方案包含 9 章概要 + 关键决策点
  • 用户已明确批准方案
  • 澄清结果已保存到 docs/product/.ompm/clarification-result.json

Context Integration

Reads:

  • docs/product/.ompm/market-analysis.json — 市场情报
  • docs/product/.ompm/competitive-analysis.json — 竞品分析
  • docs/product/.ompm/user-research.json — 用户研究
  • docs/product/positioning.md — 产品定位

Writes:

  • docs/product/.ompm/clarification-result.json — 需求澄清结果

Output To:

  • prd-gen — 需求澄清作为 PRD 生成输入
  • competitive-analysis — 如需补充竞品分析
  • user-research — 如需补充用户研究
  • market-intelligence — 如需补充市场情报

Example Usage

User: "小鹅通有个打卡功能要加 AI 评价,需求是这样的..."
→ 检测到信息不完整(缺少 UI 截图、AI 助理现状、关联应用配置)
→ 逐步询问缺失项
→ 生成 PRD 内容方案
→ 用户确认后进入 PRD 生成

User: "帮我梳理一下这个需求还缺什么信息"
→ 直接调用 clarify-requirements
→ 系统性地识别和确认缺失信息

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.