<workflow>
<step n="1" goal="Gather context and define design challenge">
Ask the user about their design challenge:
- What problem or opportunity are you exploring?
- Who are the primary users or stakeholders?
- What constraints exist (time, budget, technology)?
- What does success look like for this project?
- What existing research or context should we consider?
Load any context data provided via the data attribute.
Create a clear design challenge statement.
<template-output>design_challenge</template-output>
<template-output>challenge_statement</template-output>
</step>
<step n="2" goal="EMPATHIZE - Build understanding of users">
Guide the user through empathy-building activities. Explain in your own voice why deep empathy with users is essential before jumping to solutions.
Review empathy methods from
for the
phase and select 3-5 methods that fit the design challenge context. Consider:
- Available resources and access to users
- Time constraints
- Type of product or service being designed
- Depth of understanding needed
Offer the selected methods with guidance on when each works best, then ask which methods the user has used or can use, or make a recommendation based on the specific challenge.
Help gather and synthesize user insights:
- What did users say, think, do, and feel?
- What pain points emerged?
- What surprised you?
- What patterns do you see?
<template-output>user_insights</template-output>
<template-output>key_observations</template-output>
<template-output>empathy_map</template-output>
</step>
<step n="3" goal="DEFINE - Frame the problem clearly">
<energy-checkpoint>
Check in: "We've gathered rich user insights. How are you feeling? Ready to synthesize them into problem statements?"
</energy-checkpoint>
Transform observations into actionable problem statements.
Guide the user through problem framing:
- Create a Point of View statement: "[User type] needs [need] because [insight]"
- Generate "How Might We" questions that open solution space
- Identify key insights and opportunity areas
Ask probing questions:
- What's the real problem we're solving?
- Why does this matter to users?
- What would success look like for them?
- What assumptions are we making?
<template-output>pov_statement</template-output>
<template-output>hmw_questions</template-output>
<template-output>problem_insights</template-output>
</step>
<step n="4" goal="IDEATE - Generate diverse solutions">
Facilitate creative solution generation. Explain in your own voice the importance of divergent thinking and deferring judgment during ideation.
Review ideation methods from
for the
phase and select 3-5 methods that fit the context. Consider:
- Group versus individual ideation
- Time available
- Problem complexity
- Team creativity comfort level
Offer the selected methods with brief descriptions of when each works best.
Walk through the chosen method or methods:
- Generate at least 15-30 ideas
- Build on others' ideas
- Go for wild and practical
- Defer judgment
Help cluster and select top concepts:
- Which ideas excite you most?
- Which ideas address the core user need?
- Which ideas are feasible given the constraints?
- Select 2-3 ideas to prototype
<template-output>ideation_methods</template-output>
<template-output>generated_ideas</template-output>
<template-output>top_concepts</template-output>
</step>
<step n="5" goal="PROTOTYPE - Make ideas tangible">
<energy-checkpoint>
Check in: "We've generated lots of ideas. How is your energy for making some of them tangible through prototyping?"
</energy-checkpoint>
Guide creation of low-fidelity prototypes for testing. Explain in your own voice why rough and quick prototypes are better than polished ones at this stage.
Review prototyping methods from
for the
phase and select 2-4 methods that fit the solution type. Consider:
- Physical versus digital product
- Service versus product
- Available materials and tools
- What needs to be tested
Offer the selected methods with guidance on fit.
Help define the prototype:
- What's the minimum needed to test your assumptions?
- What are you trying to learn?
- What should users be able to do?
- What can you fake versus build?
<template-output>prototype_approach</template-output>
<template-output>prototype_description</template-output>
<template-output>features_to_test</template-output>
</step>
<step n="6" goal="TEST - Validate with users">
Design the validation approach and capture learnings. Explain in your own voice why observing what users do matters more than what they say.
Help plan testing:
- Who will you test with? Aim for 5-7 users.
- What tasks will they attempt?
- What questions will you ask?
- How will you capture feedback?
Guide feedback collection:
- What worked well?
- Where did they struggle?
- What surprised them, and you?
- What questions arose?
- What would they change?
Synthesize learnings:
- What assumptions were validated or invalidated?
- What needs to change?
- What should stay?
- What new insights emerged?
<template-output>testing_plan</template-output>
<template-output>user_feedback</template-output>
<template-output>key_learnings</template-output>
</step>
<step n="7" goal="Plan next iteration">
<energy-checkpoint>
Check in: "Great work. How is your energy for final planning and defining next steps?"
</energy-checkpoint>
Define clear next steps and success criteria.
Based on testing insights:
- What refinements are needed?
- What's the priority action?
- Who needs to be involved?
- What sequence makes sense?
- How will you measure success?
Determine the next cycle:
- Do you need more empathy work?
- Should you reframe the problem?
- Are you ready to refine the prototype?
- Is it time to pilot with real users?
<template-output>refinements</template-output>
<template-output>action_items</template-output>
<template-output>success_metrics</template-output>
<action>Run:
python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow.on_complete
— if the resolved value is non-empty, follow it as the final terminal instruction before exiting.</action>
</step>
</workflow>
<workflow>
<step n="1" goal="收集上下文并定义设计挑战">
询问用户关于其设计挑战的问题:
- 你正在探索的问题或机遇是什么?
- 主要用户或利益相关者是谁?
- 存在哪些约束(时间、预算、技术)?
- 该项目的成功标准是什么?
- 我们需要考虑哪些现有研究或上下文?
加载通过data属性提供的任何上下文数据。
创建清晰的设计挑战陈述。
<template-output>design_challenge</template-output>
<template-output>challenge_statement</template-output>
</step>
<step n="2" goal="共情 - 建立对用户的理解">
引导用户完成共情构建活动。用你自己的语言解释为何在寻找解决方案前,与用户建立深度共情至关重要。
从
中查看共情阶段的方法,选择3-5个适合当前设计挑战上下文的方法。考虑以下因素:
- 可用资源和用户访问权限
- 时间约束
- 设计的产品或服务类型
- 所需的理解深度
提供选定的方法并说明每种方法的适用场景,然后询问用户使用过或能够使用哪些方法,或根据具体挑战给出建议。
帮助收集和整合用户洞察:
- 用户说了什么、想了什么、做了什么、感受到了什么?
- 出现了哪些痛点?
- 哪些内容让你感到意外?
- 你发现了哪些模式?
<template-output>user_insights</template-output>
<template-output>key_observations</template-output>
<template-output>empathy_map</template-output>
</step>
<step n="3" goal="定义 - 清晰界定问题">
<energy-checkpoint>
询问:“我们已经收集了丰富的用户洞察。你感觉如何?准备好将它们整合为问题陈述了吗?”
</energy-checkpoint>
将观察结果转化为可执行的问题陈述。
引导用户完成问题界定:
- 创建视角陈述:“[用户类型]需要[需求],因为[洞察]”
- 生成“我们如何才能”问题,打开解决方案空间
- 识别关键洞察和机遇领域
提出探索性问题:
- 我们真正要解决的问题是什么?
- 这对用户来说为什么重要?
- 对他们而言成功是什么样的?
- 我们正在做出哪些假设?
<template-output>pov_statement</template-output>
<template-output>hmw_questions</template-output>
<template-output>problem_insights</template-output>
</step>
<step n="4" goal="构思 - 生成多样化解决方案">
引导创意解决方案的生成。用你自己的语言解释发散思维和构思阶段延迟评判的重要性。
从
中查看构思阶段的方法,选择3-5个适合当前上下文的方法。考虑以下因素:
- 团队构思 vs 个人构思
- 可用时间
- 问题复杂度
- 团队的创意适应度
提供选定的方法并简要说明每种方法的适用场景。
逐步讲解所选方法:
- 生成至少15-30个想法
- 在他人想法的基础上拓展
- 兼顾大胆与实用的想法
- 延迟评判
帮助归类并筛选顶级概念:
- 哪些想法最让你兴奋?
- 哪些想法能满足核心用户需求?
- 考虑约束条件,哪些想法可行?
- 选择2-3个想法进行原型制作
<template-output>ideation_methods</template-output>
<template-output>generated_ideas</template-output>
<template-output>top_concepts</template-output>
</step>
<step n="5" goal="原型制作 - 将想法具象化">
<energy-checkpoint>
询问:“我们已经生成了很多想法。你是否有精力通过原型制作将其中一些想法具象化?”
</energy-checkpoint>
引导创建用于测试的低保真原型。用你自己的语言解释为何在此阶段粗糙快速的原型优于精美的原型。
从
中查看原型制作阶段的方法,选择2-4个适合解决方案类型的方法。考虑以下因素:
- 实体产品 vs 数字产品
- 服务 vs 产品
- 可用材料和工具
- 需要测试的内容
提供选定的方法并说明适配性。
帮助定义原型:
- 验证你的假设最少需要哪些内容?
- 你想学到什么?
- 用户应该能够完成哪些操作?
- 哪些内容可以模拟而非实际构建?
<template-output>prototype_approach</template-output>
<template-output>prototype_description</template-output>
<template-output>features_to_test</template-output>
</step>
<step n="6" goal="测试 - 与用户验证">
设计验证方法并收集学习成果。用你自己的语言解释为何观察用户的行为比听他们的表述更重要。
帮助规划测试:
- 你将与哪些用户进行测试?目标为5-7名用户。
- 他们将尝试完成哪些任务?
- 你会问哪些问题?
- 你将如何收集反馈?
引导反馈收集:
- 哪些部分运作良好?
- 他们在哪些地方遇到困难?
- 哪些内容让他们和你感到意外?
- 出现了哪些问题?
- 他们会做出哪些改变?
整合学习成果:
- 哪些假设得到了验证或被推翻?
- 需要做出哪些更改?
- 哪些内容应保留?
- 出现了哪些新洞察?
<template-output>testing_plan</template-output>
<template-output>user_feedback</template-output>
<template-output>key_learnings</template-output>
</step>
<step n="7" goal="规划下一轮迭代">
<energy-checkpoint>
询问:“做得很棒。你是否有精力进行最终规划并明确下一步行动?”
</energy-checkpoint>
明确后续步骤和成功标准。
基于测试洞察:
- 需要哪些改进?
- 优先行动是什么?
- 需要哪些人员参与?
- 合理的行动顺序是什么?
- 你将如何衡量成功?
确定下一轮循环方向:
- 是否需要更多共情工作?
- 是否需要重新界定问题?
- 是否准备好优化原型?
- 是否可以开始与真实用户试点?
<template-output>refinements</template-output>
<template-output>action_items</template-output>
<template-output>success_metrics</template-output>
<action>运行:
python3 {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow.on_complete
— 如果解析结果非空,则在退出前遵循该结果作为最终终端指令。</action>
</step>
</workflow>