本文へ移動
cccskills
無料GitHub で公開

user-story

把功能需求拆解为用户故事和可测试的验收标准时使用。适用于 PRD 第 7 节、Sprint 准备、给 QA 的测试输入。优先使用 INVEST 检查 + Given/When/Then 格式。

インストール方法を見る

含まれるファイル(3)

  • SKILL.md5.5 KB
  • templates/acceptance-criteria-template.md685 B
  • templates/user-story-template.md729 B

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

用户故事拆解

适用场景

  • 把功能模块拆成可独立交付的用户故事
  • 为每个功能点定义可测试的验收标准
  • 给开发拆任务、给 QA 写测试用例提供输入
  • 验证需求是否足够清晰可执行

核心格式

用户故事三段式

作为 <用户角色>
我希望 <完成某个动作>
以便 <获得某个价值>

示例:

✅ 好的:

作为已登录的普通用户
我希望能在订单详情页一键申请退款
以便不用再发邮件给客服等待回复

❌ 差的:

作为系统
我要支持退款功能

(没有用户、没有价值、把技术任务伪装成用户故事)

验收标准 Given/When/Then

Given <前置条件>
When <用户行为>
Then <系统结果>

示例:

Given 用户已登录且订单状态为"已支付"
When 用户在订单详情页点击"申请退款"按钮
Then 系统创建退款申请并显示"已提交,预计 3 个工作日处理"
And 订单状态变为"退款审核中"

每个用户故事至少包含:

  • 1 条主路径验收标准
  • 至少 1 条异常路径验收标准

INVEST 用户故事检查

每条故事写完后用以下 6 项自检:

I - Independent(独立)
   能否独立交付?是否依赖其他故事必须先完成?

N - Negotiable(可协商)
   是否保留了协作和讨论空间?还是把实现细节写死了?

V - Valuable(有价值)
   是否对用户有明确价值?还是技术内部需要?

E - Estimable(可估算)
   能不能估出工期?信息是否足够?

S - Small(足够小)
   AI 工作流能否 30~60 分钟内完成?超过就要继续拆。

T - Testable(可测试)
   有没有 Given/When/Then 验收标准?能不能验证?

拆分模式(Richard Lawrence 9 模式)

当一个故事太大时,按以下模式拆:

1. 工作流步骤拆分
   注册流程 → 填写信息 / 验证邮箱 / 完善资料

2. 业务规则变体
   订单退款 → 7 天内 / 超过 7 天 / 已发货 / 未发货

3. 操作(CRUD)拆分
   用户管理 → 创建 / 查询 / 修改 / 删除

4. 数据类型变体
   附件上传 → 图片 / 文档 / 视频

5. 数据接口拆分
   导入 → CSV / Excel / API

6. 延迟性能优化
   先实现功能 / 后优化性能

7. 简单/复杂场景拆分
   简单退款(自动) / 复杂退款(人工审核)

8. 主要/次要操作
   主操作 / 撤销 / 历史记录

9. 横切关注点
   先实现功能 / 后加权限 / 再加日志

工作流程

1. 接收功能需求或 PRD 第 6 节内容
   ↓
2. 识别用户角色(每个角色单独考虑)
   ↓
3. 列出每个角色要完成的任务
   ↓
4. 用三段式写故事
   ↓
5. 用 INVEST 检查
   ↓
6. 太大就用拆分模式继续拆
   ↓
7. 每条故事写主路径 + 异常路径验收标准
   ↓
8. 输出故事清单(含优先级)

输出格式

## US-001: 用户申请退款

**故事**:
作为已登录的普通用户
我希望能在订单详情页一键申请退款
以便不用再发邮件给客服等待回复

**优先级**:P0(Must Have)
**预估工期**:30 分钟(AI 节奏)
**依赖**:订单详情页(US-XXX)

**验收标准**:

主路径:
- Given 用户已登录且订单状态为"已支付"
- When 用户点击"申请退款"
- Then 创建退款申请,订单状态变为"退款审核中"

异常路径 1:订单已超过退款期限
- Given 订单已支付超过 30 天
- When 用户点击"申请退款"
- Then 显示"超过退款期限"提示,按钮置灰

异常路径 2:订单状态不允许退款
- Given 订单状态为"已退款"或"已取消"
- When 用户进入订单详情页
- Then 不显示"申请退款"按钮

**INVEST 检查**:
- [x] Independent:不依赖其他故事
- [x] Negotiable:实现方式可讨论
- [x] Valuable:用户价值明确
- [x] Estimable:30 分钟可完成
- [x] Small:足够小
- [x] Testable:有 G/W/T 标准

质量自检

□ 是否用了"作为...我希望...以便..."三段式?
□ 用户角色是否具体?(不能只写"用户")
□ 价值描述是否真实?(不能只写"为了完成功能")
□ 是否通过了 INVEST 6 项检查?
□ 是否同时有主路径和异常路径验收标准?
□ Given/When/Then 是否可测试?
□ 是否估算了 AI 工期?

常见坑

  1. 把技术任务伪装成用户故事——"作为系统,我要..."
  2. 价值段写空话——"为了提升用户体验"
  3. 验收标准只写正向——异常场景是 QA 最关心的
  4. 故事太大不拆——超过 60 分钟必须用 9 模式拆
  5. 用户角色太宽泛——"用户" → 改成"已登录的免费用户"
  6. G/W/T 不可测试——"Then 用户感到满意" → 改成具体可观察的系统行为

配套模板

  • templates/user-story-template.md — 单条故事模板
  • templates/acceptance-criteria-template.md — 故事清单模板(含优先级矩阵)

与其他 skill 的协作

上游:
  prd-writing → 第 6 节功能需求转化为用户故事
  mvp-scoping → 标注每条故事的优先级(Must/Should/Could/Won't)

下游:
  转交项目经理 → 拆排期
  转交 QA → 设计测试用例
  转交开发 → 实现功能

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

A/B 测试设计与分析时使用。适用于产品实验、功能验证、转化率优化。融合假设驱动 + 样本量计算 + 置信度判断。

日本語の概要は準備中です。原文の説明を表示しています。

zhaoxuya520/AI-Fullstack-Delivery-Workflow532026年5月19日 更新

上线前业务方/产品方验收时使用。适用于功能交付确认、UAT、发布会签。融合 BDD Given-When-Then、Specification by Example、ATDD。

日本語の概要は準備中です。原文の説明を表示しています。

zhaoxuya520/AI-Fullstack-Delivery-Workflow532026年5月19日 更新

设计无障碍可访问的界面时使用。适用于满足 WCAG 标准、键盘导航、屏幕阅读器支持。优先使用 WCAG 2.2 AA 级标准 + 键盘 + 焦点 + 对比度 + ARIA。

日本語の概要は準備中です。原文の説明を表示しています。

zhaoxuya520/AI-Fullstack-Delivery-Workflow532026年5月19日 更新

实现可访问性(无障碍)时使用。覆盖 WCAG 2.2 AA / ARIA / 键盘导航 / 屏幕阅读器 / 颜色对比 / 焦点管理。融合 React Aria / Radix UI / Headless UI 实践 + axe-core 自动化测试。

日本語の概要は準備中です。原文の説明を表示しています。

zhaoxuya520/AI-Fullstack-Delivery-Workflow532026年5月19日 更新

AI 模型部署时使用。适用于推理服务 / GPU / TensorRT / 监控 / 扩缩容。

日本語の概要は準備中です。原文の説明を表示しています。

zhaoxuya520/AI-Fullstack-Delivery-Workflow532026年5月19日 更新

数据分析报告输出时使用。适用于业务分析报告、周报、专项分析、决策支持。融合洞察 + 建议 + 行动项。

日本語の概要は準備中です。原文の説明を表示しています。

zhaoxuya520/AI-Fullstack-Delivery-Workflow532026年5月19日 更新

zhaoxuya520 のスキルをすべて見る

このスキルの問題を報告する