关于 business-requirements-interview
面向项目发起者和开发团队的需求访谈技能,先分析项目想法,再提出贴合上下文的问题,并逐步完善需求。最终按指定结构生成并验证业务需求 YAML 文档。
主要功能
- 01分析项目目标与信息缺口
- 02生成上下文相关的访谈问题
- 03根据回答调整后续问题
- 04整理功能与非功能需求
- 05生成并验证业务需求 YAML
适用场景
- 01将初步项目构想转为明确需求
- 02为 CLI 或 Web 项目厘清范围与约束
- 03为产品开发准备可验证的需求文档
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ validkeys/ sherpy --skill business-requirements-interview安装后在 Claude Code 中输入/business-requirements-interview确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/example.yamlinterview-jsonl-spec.mdoutput-spec.mdstructure-template.yaml详细介绍
业务需求访谈
分析你的项目构想,找出其中的缺漏,并提出针对具体情境的问题。
流程
1. 了解构想
请用户描述项目:
“描述一下你的项目:要解决的问题、目标用户,以及你想实现的目标。”
分析用户的回答:
- 领域(CLI、Web 应用、API 等)
- 已明确与未明确的内容
- 缺少的信息(用户、范围、限制)
- 需要提出的问题
2. 提出针对具体情境的问题
根据用户的项目生成问题,而不是使用通用表单。
示例 - CLI 验证器:
用户:“构建用于 CI/CD 的 YAML 验证器”
问题:
- “使用什么架构格式?JSON Schema、自定义 DSL,还是基于代码?”
- “谁会使用它?仅用于 CI/CD,还是也用于本地开发?”
- “错误输出格式是什么?JSON、自然语言,还是两者都要?”
- “性能要求如何?需要处理数千个文件还是几十个?”
示例 - Web 仪表板:
用户:“用于指标分析的仪表板”
问题:
- “谁会查看它?高管、项目经理、分析师,还是以上人群?”
- “需要哪些指标?收入、使用情况、参与度?”
- “需要实时数据还是批量处理?数据要有多新?”
- “数据来源有哪些?数据库、API、数据仓库?”
3. 根据回答调整
每个回答都会影响下一个问题:
- CI/CD → 退出代码、自动化
- 本地开发 → 用户体验、错误消息
- 多个用户 → 访问控制
问题类型
澄清:“你说的‘验证’是指架构、业务规则,还是两者都包括?”
范围:“以下哪些属于 v1:[具体列表],还是要留到 v2?”
优先级:“速度、详细的错误信息,还是可扩展性——哪项最重要?”
限制:“技术、时间安排或团队方面是否有任何限制?”
成功标准:“如何判断它是否正常工作?哪些指标很重要?”
结构模板
生成前请先查看:references/structure-template.yaml
其中展示了所需的 YAML 结构。请将其用作模板。
关键结构规则:
overview.scope→ 对象,包含in_scope和out_of_scope数组(不能是使用|的字符串)timeline→ 对象,包含phase、duration、milestones(不能是字符串)functional_requirements[].id→ 按顺序编号:FR-1、FR-2、FR-3(不能跳号,也不能使用 FR-001)use_cases[].actor→ 必须与某个personas[].name完全一致,或为 "System"
必须涵盖的内容
收集以下信息:
- 问题:是什么问题、涉及哪些人、为什么重要
- 价值:可衡量的影响
- 范围:v1 中包含和不包含的内容
- 用户:用户是谁、目标和痛点
- 用例:排名前 3-5 的场景
- 需求:5-10 项具体且可测试的需求
- 成功标准:可量化的目标
- 限制:技术、业务、时间安排
- 风险:可能出现的问题
避免
❌ 通用问题:“你要解决什么问题?” ✅ 具体问题:“错误应该采用 JSON(供机器读取)、自然语言(供人阅读),还是两者都要?”
❌ 宽泛分类:“1. 开发者 2. 团队 3. 企业” ✅ 结合情境:“1. 验证配置的开发者 2. 执行标准的平台 3. 两者都包括”
进度跟踪
保存到 {base_directory}/artifacts/business-interview.jsonl:
{"category":"analysis","question":"initial_idea","answer":"CLI YAML validator","timestamp":"2024-05-14T10:30:00Z"}
{"category":"schema","question":"Schema format?","answer":"JSON Schema","rationale":"Industry standard","timestamp":"2024-05-14T10:32:15Z"}
输出
完成后,在 {base_directory}/requirements/business-requirements.yaml 中生成文件。
重要: 严格遵循 references/structure-template.yaml 中的 YAML 结构。
详细的架构文档请参阅 references/output-spec.md。
输出必须包含:
project、version、generated(根字段)overview(problem、value_proposition、scope)personas(name、description、goals、pain_points)use_cases(name、actor、description、outcome)functional_requirements(id:FR-1、FR-2……,category、description、priority、rationale)non_functional_requirementssuccess_criteriaconstraintsdependenciestimelineassumptionsrisks
ID 格式: FR-1、FR-2、FR-3(按顺序编号,不得跳号)
完整示例请参阅 references/example.yaml。
生成前请确认:
“准备好起草需求文档,其中包含:
- 问题和价值主张
- 3 个角色及其用例
- 8 条功能需求
- 成功标准和约束
继续吗?”
验证
sherpy validate -t business-requirements -f {base_directory}/requirements/business-requirements.yaml --strict
立即修复错误。
差距分析
检查以下方面:
- ✅ 具体、可测试的需求
- ✅ 目标各异且定义清晰的角色
- ✅ 可衡量的成功标准
- ✅ 明确的范围边界
- ✅ 已识别并制定缓解措施的风险
如有差距:“注意到 [gap]。现在处理还是继续?”
后续步骤
- 使用
sherpy validate进行验证 - 检查差距
/technical-requirements-interview/implementation-planner
主要区别
旧版: 固定问题、通用选项,适用于所有项目
新版: 先分析,再提出结合上下文的问题,进行自适应且智能的对话