# User Story

> 用户故事 (User Story)

- Skill: `dvcrn/user-story` (Agent Skill)
- Install (CLI): `npx skillmds@latest add dvcrn/user-story`
- Raw SKILL.md: https://api.skillmd.com/api/skills/dvcrn/user-story/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: dvcrn (https://skillmd.com/u/dvcrn)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/dvcrn/user-story

---

# 用户故事 (User Story)

> 版本：v1.0.0  
> 创建：2026-03-09  
> 作者：Elatia 🌀 (基于 Product-Manager-Skills 提炼)  
> 许可：MIT  
> 类型：Component Skill

---

## 📋 技能描述

**面向场景**: 需求准备进入开发、需要与研发团队对齐、敏捷迭代规划  
**目标用户**: 产品经理、需求分析师、Scrum Master  
**核心价值**: 将需求转化为可执行的开发任务，聚焦用户价值而非功能列表

---

## 🎯 核心能力

### 1. 标准用户故事格式
使用 Mike Cohn 的经典格式：
```
作为 [角色]
我想要 [完成什么任务]
以便于 [获得什么价值]
```

### 2. Gherkin 验收标准
编写可执行的验收标准：
```gherkin
Given [前提条件]
When [执行动作]
Then [预期结果]
```

### 3. 故事拆分与估算
- 拆分过大的故事（>13 点）
- 识别依赖关系
- 提供估算参考

---

## 🔧 使用方式

### 方式 1: 交互式引导

```markdown
/user-story
```

**引导问题**:

**1. 用户角色是谁？**
> - 主要角色：[谁使用这个功能]
> - 角色特征：[关键属性]

**2. 用户想完成什么任务？**
> - 任务描述：[动词 + 宾语]
> - 任务频率：[每天/每周/偶尔]

**3. 用户获得什么价值？**
> - 业务价值：[对用户的帮助]
> - 情感价值：[带来的感受]

**4. 验收标准是什么？**
> - 正常流程：[Happy Path]
> - 异常流程：[Edge Cases]
> - 边界情况：[Limits]

---

### 方式 2: 快速模式

```markdown
/user-story quick \
  --role "销售人员" \
  --task "快速生成客户方案" \
  --value "节省时间，提升成单率" \
  --acceptance "30 分钟内完成方案，支持导出 PPT"
```

---

## 📝 输出模板

```markdown
# User Story: [简短标题]

## 故事描述
作为 [角色]
我想要 [完成什么任务]
以便于 [获得什么价值]

## 验收标准 (Gherkin 格式)

### 场景 1: [正常流程]
Given [前提条件]
When [执行动作]
Then [预期结果]

### 场景 2: [异常流程]
Given [前提条件]
When [执行动作]
Then [预期结果]

### 场景 3: [边界情况]
Given [前提条件]
When [执行动作]
Then [预期结果]

## 技术备注
- [技术考虑点]
- [依赖关系]
- [性能要求]

## 设计资源
- [设计稿链接]
- [原型链接]

## 估算参考
- 故事点：[1/2/3/5/8/13/20]
- 复杂度：[低/中/高]
- 风险：[低/中/高]
```

---

## 📚 示例

### 示例：方案生成功能

```markdown
# User Story: 快速生成客户方案

## 故事描述
作为 销售人员
我想要 一键生成客户解决方案 PPT
以便于 在 30 分钟内完成专业方案，节省时间提升成单率

## 验收标准

### 场景 1: 正常流程
Given 销售人员已填写客户需求信息
When 点击"生成方案"按钮
Then 30 秒内生成完整方案 PPT，包含封面/需求分析/解决方案/案例/报价

### 场景 2: 模板选择
Given 销售人员选择了行业模板
When 点击"生成方案"
Then 使用所选模板风格生成方案

### 场景 3: 内容不足
Given 客户需求信息填写不完整
When 点击"生成方案"
Then 提示需要补充的字段，并高亮显示

### 场景 4: 导出 PPT
Given 方案已生成
When 点击"导出 PPT"
Then 下载可编辑的.pptx 文件，格式与预览一致

## 技术备注
- 使用后端模板引擎生成 PPT
- 支持并发生成（多人同时使用）
- 响应式预览（适配不同屏幕）

## 设计资源
- 设计稿：[Figma 链接]
- 原型：[ProtoPie 链接]

## 估算参考
- 故事点：8
- 复杂度：中
- 风险：中（依赖 PPT 生成库）
```

---

## 🎯 质量标准

### 好的用户故事 (INVEST 原则)
- ✅ **I**ndependent（独立的）— 不依赖其他故事
- ✅ **N**egotiable（可协商的）— 细节可讨论
- ✅ **V**aluable（有价值的）— 对用户有价值
- ✅ **E**stimable（可估算的）— 团队能估算大小
- ✅ **S**mall（小的）— 能在一个 Sprint 内完成
- ✅ **T**estable（可测试的）— 有明确验收标准

### 常见陷阱
- ❌ 功能列表（"添加 XX 按钮"）
- ❌ 技术任务（"优化数据库查询"）
- ❌ 验收标准模糊（"性能好"→ 应具体为"响应<1 秒"）
- ❌ 故事过大（>13 点，需要拆分）
- ❌ 忽略异常流程

---

## 🔗 与其他技能的关系

| 技能 | 关系 | 使用时机 |
|------|------|----------|
| problem-statement | 前置 | 先明确问题，再写故事 |
| epic-hypothesis | 前置 | 大功能先定义史诗假设 |
| prd-development | 后置 | 多个故事整合为 PRD |
| user-story-splitting | 后置 | 故事过大时拆分 |

---

## 📈 成功指标

| 指标 | 目标值 | 测量方式 |
|------|--------|----------|
| 开发理解度 | ≥90% | 开发团队反馈 |
| 返工率 | <10% | 因需求不清导致的返工 |
| 验收通过率 | ≥95% | 一次通过测试的比例 |

---

## 🔖 版本历史

| 版本 | 日期 | 变更 |
|------|------|------|
| v1.0.0 | 2026-03-09 | 初始版本，基于 Product-Manager-Skills 提炼 |

---

## 📄 许可

MIT License

---

*基于 Product-Manager-Skills by Dean Peters · CC BY-NC-SA 4.0*  
*适配 OpenClaw 标准：Elatia 🌀*

