---
name: pm-pool
version: 1.1.0
description: |
  Use when: 有新需求需要录入跟踪、需求状态需要变更、需要统一管理需求池、需求数量增多需要结构化
  Do NOT use when: 需求极少可直接管理、仅需一次性分析无需持续跟踪
allowed-tools:
  - Read
  - Write
  - Edit
  - AskUserQuestion
  - Bash
---

## Preamble (run first)

```bash
bash "$(dirname "${BASH_SOURCE[0]}")"/check-update.sh 2>/dev/null || true
# 创建需求调研目录
mkdir -p docs/01-需求调研

# 检查是否有需求池
if [ ! -f "docs/01-需求调研/需求池管理表.md" ]; then
  echo "⚠️  未找到需求池管理表"
  echo ""
  echo "将创建新的需求池"
fi
```

---

## 执行流程


### 步骤 1: 选择操作

使用 AskUserQuestion 询问：

> 🎯 您要对需求池进行什么操作？
>
> A) 添加新需求
> B) 查看需求池
> C) 更新需求状态
> D) 删除需求
> E) 导出需求池

---

### 步骤 2: 执行操作

---

#### 操作 A: 添加新需求

使用 AskUserQuestion 逐个询问：

**问题 1: 需求名称**

> 请输入需求名称：
>
> 例如："用户登录"、"搜索功能"

---

**问题 2: 需求类型**

> 需求类型是什么？
>
> A) 新功能
> B) 功能优化
> C) Bug修复
> D) 技术债务
> E) 其他

---

**问题 3: 优先级**

> 需求优先级？
>
> A) P0 - 紧急重要
> B) P1 - 重要不紧急
> C) P2 - 紧急不重要
> D) P3 - 不紧急不重要

---

**问题 4: 来源**

> 需求来源？
>
> A) 用户反馈
> B) 业务部门
> C) 产品规划
> D) 竞品分析
> E) 其他（请手动输入）

---

**问题 5: 描述**

> 请详细描述需求：
>
> 包括背景、目标、验收标准等

---

AI 将需求信息添加到需求池管理表。

---

#### 操作 B: 查看需求池

读取 `docs/01-需求调研/需求池管理表.md`，格式化输出：

> 📋 需求池概览
>
> **需求总数**: {N}个
> **P0**: {N}个
> **P1**: {N}个
> **P2**: {N}个
> **P3**: {N}个
>
> **按状态分类**:
> - 待评估: {N}个
> - 已规划: {N}个
> - 开发中: {N}个
> - 已完成: {N}个
>
> 查看详情？

---

#### 操作 C: 更新需求状态

列出所有需求，让用户选择要更新的需求：

> 请选择要更新的需求：
>
> A) {需求1} - 当前状态: 待评估
> B) {需求2} - 当前状态: 已规划
> C) {需求3} - 当前状态: 开发中
> ...

用户选择后，询问新状态：

> 新状态是什么？
>
> A) 待评估
> B) 已规划
> C) 开发中
> D) 测试中
> E) 已上线
> F) 已关闭

更新需求池管理表。

---

#### 操作 D: 删除需求

列出所有需求，让用户选择要删除的需求：

> 请选择要删除的需求：
>
> A) {需求1}
> B) {需求2}
> ...

确认后删除。

---

#### 操作 E: 导出需求池

生成可分享的需求池文档：

> 选择导出格式：
>
> A) Markdown
> B) CSV
> C) JSON

---

### 步骤 3: 更新需求池管理表

如果需求池管理表不存在，使用 Write 创建：

```markdown
# 需求池管理表

## 一、需求概览

- **需求总数**: {N}个
- **更新时间**: {当前时间}

---

## 二、需求列表

| ID | 需求名称 | 类型 | 优先级 | 状态 | 来源 | 创建时间 |
|----|----------|------|--------|------|------|----------|
| R001 | {需求1} | {类型} | {优先级} | {状态} | {来源} | {时间} |
| R002 | {需求2} | {类型} | {优先级} | {状态} | {来源} | {时间} |

---

## 三、需求详情

### R001: {需求名称}

**类型**: {类型}

**优先级**: {优先级}

**状态**: {状态}

**来源**: {来源}

**描述**:
{详细描述}

**验收标准**:
- {标准1}
- {标准2}

**负责人**: {负责人}

**预计完成时间**: {时间}

---

## 四、统计信息

### 4.1 按优先级

- P0: {N}个
- P1: {N}个
- P2: {N}个
- P3: {N}个

### 4.2 按状态

- 待评估: {N}个
- 已规划: {N}个
- 开发中: {N}个
- 已上线: {N}个

---

**最后更新**: {时间戳}
**生成工具**: super-pm v1.1.0
```

如果需求池已存在，使用 Edit 更新。

---

### 步骤 4: 输出完成提示

使用 AskUserQuestion：

> ✅ 需求池已更新！
>
> 📄 需求池管理表：`docs/01-需求调研/需求池管理表.md`
>
> 🎯 下一步：
>
> A) 继续管理需求池
> B) 执行 /pm-priority - 对需求排序
> C) 执行 /pm-mvp - 规划MVP
> D) 查看需求池

---

## 兜底机制

### 场景 1: 需求池不存在

自动创建新的需求池。

### 场景 2: 需求数量过多

提供筛选和搜索功能。

---

## 注意事项

1. **唯一ID**：每个需求分配唯一ID（R001, R002...）
2. **状态流转**：记录状态变更历史
3. **优先级可调整**：根据业务变化调整
4. **Markdown存储**：需求池人类可读可编辑
5. **定期清理**：建议定期清理已完成需求

---

## 输出质量对比

**✅ Good 示例**：
```
- 有数据引用：「根据 Q4 数据，留存率从 35% 降至 28%」
- 有验证来源：「数据来源：Google Analytics, 2025-12-01」
- 有明确建议：「建议将新手引导步骤从 5 步减少至 3 步」
```

**❌ Bad 示例**：
```
- 模糊结论：「数据表明留存率有所下降」
- 无来源：「根据经验，这个功能很重要」
- 没有行动建议：「留存是个问题」
```

---

## 常见误区 / Red Flags — STOP

出现以下情况立即停止并回溯：

| 误区 | 正确做法 |
|------|---------|
| 使用"应该"、"大概"、"看起来"做结论 | 必须基于实际数据和验证 |
| 未运行检查就声称已完成 | 先验证，再陈述 |
| 因时间紧迫跳过关键步骤 | 没有例外，时间紧更要严格 |
| "这次应该没问题"的想法 | 每次都要重新验证 |

---

## 产出质量检查 / Verification Checklist

- [ ] 前置依赖已满足（输入文档/数据已收集）
- [ ] 核心步骤已全部执行
- [ ] 输出文档已生成到 `docs/` 目录
- [ ] 每个判断都有数据/证据支撑
- [ ] 已推荐 2-3 个后续 skill

> ⚠️ 任何一项未通过 → 补全后再标记完成。

---
