| name | spec-interview |
| description | 进行深入访谈以收集需求并编写详细的规格说明书 (spec) |
概述
使用 AskUserQuestion 进行深入的访谈,在编写规格说明书之前深入理解一个功能、系统或想法。
核心原则
-
运用你的判断力 - 根据主题调整问题的深度和重点。一个小的 UI 更改需要的问题与一个新的认证系统不同。
-
问非显而易见的问题 - 跳过表面问题。探究:
- 用户尚未表达的隐藏假设
- 他们尚未考虑的边缘情况
- 他们隐式做出的权衡
- 他们忘记提及的约束条件
- 故障模式和恢复路径
-
跟随有趣的线索 - 当答案揭示了复杂性或不确定性时,在继续之前深入挖掘。
-
温和地挑战 - 问“如果 X 失败了怎么办?”或“为什么不改用 Y?”来对设计进行压力测试。
-
知道何时停止 - 当你有足够的清晰度来编写有用的规格说明书时结束访谈。并非每个主题都需要详尽的覆盖。
问题领域(根据需要使用,而不是作为清单)
- 问题与动机:为什么是现在?不这样做的代价是什么?
- 技术设计:数据模型、状态、API、性能、数据迁移
- 用户体验:错误状态、加载、边缘情况、无障碍访问
- 集成:这还会影响什么?安全性?可观测性?
- 权衡:你不构建什么?你接受了什么技术债务?
- 风险:哪些假设可能是错的?什么会导致这个项目失败?
访谈流程
- 每轮通过
AskUserQuestion 开始 2-4 个问题。
- 综合答案并跟进空白或模糊之处。
- 定期总结以确认理解。
- 当足够完整时,与用户确认并编写规格说明书。
输出
将规格说明书写入 docs/specs/<feature-name>.md(或询问用户首选路径)。包含任何相关的部分——不要强求死板的模板。
调用
/spec-interview [主题]