# Skill: 用户故事生成

从需求文档提取用户故事，定义验收标准，为后续规格说明和任务拆解提供基础。

## 前置条件

读取 `console/.claude/docs/{feature-name}/requirement.md`。如不存在，提示用户先执行 `/requirement`。

## 执行步骤

1. 读取需求文档，理解核心需求和业务规则
2. 按用户角色拆分用户故事，每个故事必须是独立可交付的
3. 为每个故事定义验收标准（Given-When-Then 格式）
4. 标注优先级和复杂度
5. 生成 `stories.md`

## 输出文件

`console/.claude/docs/{feature-name}/stories.md`

## 输出模板

```markdown
---
feature: {功能名称}
story_count: {故事数量}
created: {YYYY-MM-DD}
upstream: requirement.md
---

# {功能名称} — 用户故事

## 故事地图概览

| 编号 | 标题 | 角色 | 优先级 | 复杂度 |
|------|------|------|--------|--------|
| US-1 | {标题} | {角色} | P0 | M |
| US-2 | {标题} | {角色} | P1 | S |

---

## US-1: {故事标题}

**角色**: 作为 {角色}
**目标**: 我想要 {目标}
**价值**: 以便 {价值}

**优先级**: P0/P1/P2
**复杂度**: S(半天) / M(1天) / L(2-3天) / XL(一周+)

**验收标准**:
- Given {前置条件}, When {操作}, Then {预期结果}
- Given {前置条件}, When {操作}, Then {预期结果}

**UI 交互要点**（如适用）:
- {交互描述}

**关联需求**: R1, R2（对应 requirement.md 中的编号）

---

## US-2: {故事标题}

...（同上格式）
```

## 约束

- 每个故事必须是独立可交付的，不能有循环依赖
- 验收标准必须可测试，避免模糊描述（如"用户体验好"）
- 复杂度参考：S=半天, M=1天, L=2-3天, XL=一周+（超过 XL 必须拆分）
- 必须关联 requirement.md 中的需求编号
- 中文为主，代码路径和技术术语保留英文
