npx skills add https://github.com/danhvb/my-ba-skills --skill 'User Story Writing'撰写清晰、有价值的用户故事,在敏捷/混合环境中传达需求,并指导开发团队。
As a [用户角色]
I want [目标/期望]
So that [收益/价值]
Title: [简短、描述性的标题]
As a [用户角色]
I want [目标/期望]
So that [收益/价值]
Acceptance Criteria:
- [验收标准 1]
- [验收标准 2]
- [验收标准 3]
Notes:
[额外上下文、线框图、业务规则]
Definition of Done:
- [ ] 代码完成并经过同行评审
- [ ] 单元测试编写完成并通过
- [ ] 集成测试通过
- [ ] 满足验收标准
- [ ] 文档已更新
每个用户故事都应该是:
故事 1:访客结账
Title: 无需创建账户的访客结账
As a 首次客户
I want 无需创建账户即可完成购买
So that 我可以快速结账,没有阻碍
Acceptance Criteria:
- Given 我的购物车中有商品
When 我点击"以访客身份结账"
Then 我可以在不登录的情况下输入配送和支付信息
- Given 我完成了访客结账
When 我收到订单确认
Then 我看到一个创建账户的选项
- Given 我的订单总额超过 $5000
When 我尝试以访客身份结账
Then 出于安全考虑,我被要求创建一个账户
Business Rules:
- 订单 > $5000 时不可使用访客结账
- 订单确认需要电子邮件
- 访客订单与电子邮件关联以供将来参考
Story Points: 8
Priority: Must Have
Sprint: Sprint 3
故事 2:实时运费计算
Title: 实时运费显示
As a 客户
I want 在输入支付信息前看到运费
So that 我提前知道总成本,避免意外
Acceptance Criteria:
- Given 我输入一个有效的配送地址
When 我进入配送方式选择页面
Then 我看到所有可用的配送选项及其费用
- Given 我选择了一个配送方式
When 我查看订单摘要
Then 运费包含在总价中
- Given 运费 API 不可用
When 我尝试计算运费
Then 我看到一个包含预估费用的备用消息
Technical Notes:
- 与 ShipStation API 集成
- 运费缓存 5 分钟
- 5 秒后超时,显示备用信息
Story Points: 5
Priority: Must Have
Sprint: Sprint 3
故事 3:自动线索评分
Title: 基于行为的自动线索评分
As a 销售经理
I want 线索根据其活动自动评分
So that 我的团队专注于最合格的潜在客户
Acceptance Criteria:
- Given 一个潜在客户访问了定价页面
When 该活动被追踪到
Then 其评分增加 15 分
- Given 一个潜在客户的评分达到 60
When 评分更新时
Then 该线索自动标记为 MQL
- Given 一个潜在客户的评分达到 75
When 评分更新时
Then 该线索被分配给销售代表,并通知该代表
- Given 我查看一个线索记录
When 我查看线索评分
Then 我可以看到评分明细(为何是这个分数)
Scoring Rules:
- 人口统计:职位(0-20)、公司规模(0-15)、行业(0-5)
- 行为:定价页面(15)、白皮书(10)、网络研讨会(15)、演示请求(25)
Story Points: 13
Priority: Must Have
Sprint: Sprint 5
故事 4:离线查看订单
Title: 在移动应用中离线查看订单
As a 移动应用用户
I want 在离线时查看我的订单历史
So that 我可以在没有网络连接的情况下查看订单详情
Acceptance Criteria:
- Given 我之前在线时查看过订单
When 我离线打开应用
Then 我可以看到缓存的订单历史
- Given 我处于离线状态
When 我尝试查看订单详情
Then 我看到上次同步的信息,并带有"离线"指示器
- Given 我重新获得网络连接
When 应用检测到连接
Then 订单数据在后台自动刷新
Technical Notes:
- 在本地存储中缓存最近 50 个订单
- 使用 SQLite 进行离线存储
- 如果已连接,在应用前台时同步
Story Points: 8
Priority: Should Have
Sprint: Sprint 7
故事 5:多级采购审批
Title: 多级采购订单审批工作流
As a 采购经理
I want 采购订单经过适当的审批级别流转
So that 支出根据公司政策得到控制
Acceptance Criteria:
- Given 创建了一个 $1K-$10K 的采购订单
When 采购订单被提交
Then 它流转到部门经理处审批
- Given 创建了一个 $10K-$50K 的采购订单
When 采购订单被提交
Then 它流转到部门经理,然后是财务总监
- Given 创建了一个 >$50K 的采购订单
When 采购订单被提交
Then 它流转到部门经理,财务总监,然后是 CFO
- Given 审批人不在办公室
When 采购订单需要其审批
Then 它自动流转到其指定的备份审批人
- Given 审批人拒绝了采购订单
When 提交拒绝时
Then 请求人会收到带有拒绝原因的通知
Approval Matrix:
- $0-$1K: 自动批准
- $1K-$10K: 部门经理
- $10K-$50K: 部门经理 → 财务总监
- >$50K: 部门经理 → 财务总监 → CFO
Story Points: 13
Priority: Must Have
Sprint: Sprint 4
故事 6:客户身份解析
Title: 跨渠道统一客户档案
As a 营销分析师
I want 来自 Web、移动端和 CRM 的客户数据被统一
So that 我对每个客户有一个完整的视图
Acceptance Criteria:
- Given 一个客户在 Web 和移动端使用相同电子邮件登录
When 身份解析运行时
Then 两个档案合并为单个客户记录
- Given 一个客户有多个电子邮件
When 我手动链接这些档案
Then 所有活动都整合到主档案下
- Given 档案已合并
When 我查看客户记录
Then 我在时间线中看到跨所有渠道的所有触点
- Given 发生合并冲突(不同的姓名、地址)
When 系统检测到冲突
Then 它标记为需要人工审核
Matching Rules:
- 电子邮件(精确匹配)- 高置信度
- 电话 + 姓名(模糊匹配)- 中等置信度
- Cookie ID + 电子邮件域名 - 低置信度
Story Points: 21
Priority: Must Have
Sprint: Sprint 2-3 (2 个冲刺)
史诗:大型工作体(多个冲刺)
Epic: 移动应用客户自助服务
Goal: 使客户能够通过移动应用管理账户
Timeline: Q1 2026
Stories: 25-30 个故事
特性:一组相关的故事(1-3 个冲刺)
Feature: 移动应用中的订单管理
Stories: 查看订单、跟踪发货、发起退货
Sprint: Sprint 5-6
用户故事:单一功能(1 个冲刺)
Story: 查看订单历史
Tasks: API 集成、UI 开发、离线缓存
Sprint: Sprint 5
任务:技术实现步骤(小时/天)
Task: 实现订单列表 API 端点
Estimate: 4 小时
Given [上下文/前置条件]
When [动作/事件]
Then [预期结果]
示例:
Given 我是一个已登录的客户
When 我点击"查看订单"
Then 我看到一个按日期排序(最新的在前)的订单列表
- [ ] 标准 1
- [ ] 标准 2
- [ ] 标准 3
示例:
- [ ] 订单列表显示订单号、日期、总额、状态
- [ ] 订单分页显示(每页 20 条)
- [ ] 用户可以按状态筛选(全部、处理中、已发货、已送达)
- [ ] 用户可以按订单号搜索
- [ ] 点击订单打开订单详情
Scenario 1: [理想路径]
Scenario 2: [替代路径]
Scenario 3: [错误情况]
1. 工作流步骤
2. 业务规则
3. CRUD 操作
4. 数据变体
5. 平台
6. 简单/复杂
故事在以下情况下已准备好进入冲刺:
故事在以下情况下完成:
✅ 应该做:
❌ 不应该做:
撰写用户故事后:
acceptance-criteria 技能)每周安装次数
–
代码仓库
首次出现
–
安全审计
Write clear, valuable user stories that communicate requirements in Agile/Hybrid environments and guide development teams.
As a [user role]
I want [goal/desire]
So that [benefit/value]
Title: [Short, descriptive title]
As a [user role]
I want [goal/desire]
So that [benefit/value]
Acceptance Criteria:
- [Criterion 1]
- [Criterion 2]
- [Criterion 3]
Notes:
[Additional context, wireframes, business rules]
Definition of Done:
- [ ] Code complete and peer reviewed
- [ ] Unit tests written and passing
- [ ] Integration tests passing
- [ ] Acceptance criteria met
- [ ] Documentation updated
Every user story should be:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
Story 1: Guest Checkout
Title: Guest Checkout Without Account Creation
As a first-time customer
I want to complete my purchase without creating an account
So that I can checkout quickly without friction
Acceptance Criteria:
- Given I have items in my cart
When I click "Checkout as Guest"
Then I can enter shipping and payment info without login
- Given I complete guest checkout
When I receive order confirmation
Then I see an option to create an account
- Given my order total is over $5000
When I try to checkout as guest
Then I am required to create an account for security
Business Rules:
- Guest checkout not available for orders > $5000
- Email required for order confirmation
- Guest orders linked to email for future reference
Story Points: 8
Priority: Must Have
Sprint: Sprint 3
Story 2: Real-time Shipping Calculation
Title: Real-time Shipping Cost Display
As a customer
I want to see shipping costs before entering payment information
So that I know the total cost upfront and avoid surprises
Acceptance Criteria:
- Given I enter a valid shipping address
When I proceed to shipping method selection
Then I see all available shipping options with costs
- Given I select a shipping method
When I view the order summary
Then the shipping cost is included in the total
- Given the shipping API is unavailable
When I try to calculate shipping
Then I see a fallback message with estimated costs
Technical Notes:
- Integrate with ShipStation API
- Cache shipping rates for 5 minutes
- Timeout after 5 seconds, show fallback
Story Points: 5
Priority: Must Have
Sprint: Sprint 3
Story 3: Automatic Lead Scoring
Title: Automatic Lead Scoring Based on Behavior
As a sales manager
I want leads to be automatically scored based on their activities
So that my team focuses on the most qualified prospects
Acceptance Criteria:
- Given a lead visits the pricing page
When the activity is tracked
Then 15 points are added to their score
- Given a lead's score reaches 60
When the score is updated
Then the lead is automatically marked as MQL
- Given a lead's score reaches 75
When the score is updated
Then the lead is assigned to a sales rep and rep is notified
- Given I view a lead record
When I look at the lead score
Then I can see the scoring breakdown (why this score)
Scoring Rules:
- Demographic: Job title (0-20), Company size (0-15), Industry (0-5)
- Behavioral: Pricing page (15), Whitepaper (10), Webinar (15), Demo request (25)
Story Points: 13
Priority: Must Have
Sprint: Sprint 5
Story 4: Offline Order Viewing
Title: View Orders Offline in Mobile App
As a mobile app user
I want to view my order history when offline
So that I can check order details without internet connection
Acceptance Criteria:
- Given I have previously viewed orders while online
When I open the app offline
Then I can see my cached order history
- Given I am offline
When I try to view order details
Then I see the last synced information with "offline" indicator
- Given I regain internet connection
When the app detects connectivity
Then order data is automatically refreshed in background
Technical Notes:
- Cache last 50 orders in local storage
- Use SQLite for offline storage
- Sync on app foreground if connected
Story Points: 8
Priority: Should Have
Sprint: Sprint 7
Story 5: Multi-level Purchase Approval
Title: Multi-level Purchase Order Approval Workflow
As a procurement manager
I want purchase orders to route through appropriate approval levels
So that spending is controlled according to company policy
Acceptance Criteria:
- Given a PO is created for $1K-$10K
When the PO is submitted
Then it routes to department manager for approval
- Given a PO is created for $10K-$50K
When the PO is submitted
Then it routes to department manager, then finance director
- Given a PO is created for >$50K
When the PO is submitted
Then it routes to department manager, finance director, then CFO
- Given an approver is out of office
When a PO requires their approval
Then it automatically routes to their designated backup
- Given an approver rejects a PO
When the rejection is submitted
Then the requester is notified with rejection reason
Approval Matrix:
- $0-$1K: Auto-approved
- $1K-$10K: Department Manager
- $10K-$50K: Department Manager → Finance Director
- >$50K: Department Manager → Finance Director → CFO
Story Points: 13
Priority: Must Have
Sprint: Sprint 4
Story 6: Customer Identity Resolution
Title: Unify Customer Profiles Across Channels
As a marketing analyst
I want customer data from web, mobile, and CRM to be unified
So that I have a complete view of each customer
Acceptance Criteria:
- Given a customer logs in on web and mobile with same email
When identity resolution runs
Then both profiles are merged into single customer record
- Given a customer has multiple emails
When I manually link the profiles
Then all activities are consolidated under primary profile
- Given profiles are merged
When I view the customer record
Then I see all touchpoints across channels in timeline
- Given a merge conflict occurs (different names, addresses)
When the system detects conflict
Then it flags for manual review
Matching Rules:
- Email (exact match) - High confidence
- Phone + Name (fuzzy match) - Medium confidence
- Cookie ID + Email domain - Low confidence
Story Points: 21
Priority: Must Have
Sprint: Sprint 2-3 (2 sprints)
Epic : Large body of work (multiple sprints)
Epic: Mobile App Customer Self-Service
Goal: Enable customers to manage accounts via mobile app
Timeline: Q1 2026
Stories: 25-30 stories
Feature : Group of related stories (1-3 sprints)
Feature: Order Management in Mobile App
Stories: View orders, Track shipments, Initiate returns
Sprint: Sprint 5-6
User Story : Single piece of functionality (1 sprint)
Story: View Order History
Tasks: API integration, UI development, Offline caching
Sprint: Sprint 5
Task : Technical implementation step (hours/days)
Task: Implement order list API endpoint
Estimate: 4 hours
Given [context/precondition]
When [action/event]
Then [expected outcome]
Example :
Given I am a logged-in customer
When I click "View Orders"
Then I see a list of my orders sorted by date (newest first)
- [ ] Criterion 1
- [ ] Criterion 2
- [ ] Criterion 3
Example :
- [ ] Order list displays order number, date, total, status
- [ ] Orders are paginated (20 per page)
- [ ] User can filter by status (All, Processing, Shipped, Delivered)
- [ ] User can search by order number
- [ ] Clicking an order opens order details
Scenario 1: [Happy path]
Scenario 2: [Alternative path]
Scenario 3: [Error case]
1. Workflow Steps
2. Business Rules
3. CRUD Operations
4. Data Variations
5. Platforms
6. Simple/Complex
Story is ready for sprint when:
Story is complete when:
✅ Do :
❌ Don't :
After writing user stories:
acceptance-criteria skill)Weekly Installs
–
Repository
First Seen
–
Security Audits
站立会议模板:敏捷开发每日站会指南与工具(含远程团队异步模板)
10,500 周安装
Python PDF处理教程:合并拆分、提取文本表格、创建PDF文件
59,800 周安装
browser-use CLI 浏览器自动化工具:快速持久会话,支持多步骤工作流
60,300 周安装
新闻内容提取工具 - 支持12个主流平台,自动输出JSON和Markdown格式
205 周安装
AI Elements:基于shadcn/ui的AI原生应用组件库,快速构建对话界面
62,200 周安装
专业SEO审计工具:全面网站诊断、技术SEO优化与页面分析指南
63,800 周安装
Azure GitHub Copilot SDK 部署指南:从零构建、集成到现有项目与模型配置
75,700 周安装