名称: discover 描述: 用于完整需求获取工作流的主要协调器。协调访谈、文档提取、模拟、研究和合成。 参数提示: <domain> [–sources <source-types>] [–autonomy <level>] [–output <format>] 允许工具: Read, Glob, Grep, Write, Task, Skill, AskUserQuestion
Discover 命令
用于全面需求获取的主要协调器。
用法
/requirements-elicitation:discover "checkout"
/requirements-elicitation:discover "authentication" --sources interview,document
/requirements-elicitation:discover "reporting" --autonomy semi-auto
/requirements-elicitation:discover "inventory" --output canonical
参数
| 参数 | 必需 | 描述 |
|---|---|---|
| domain | 是 | 要发现需求的领域/功能区域 |
| –sources | 否 | 逗号分隔的源类型:interview, document, simulation, research, all(默认:all) |
| –autonomy | 否 | 自主级别:guided, semi-auto, full-auto(默认:semi-auto) |
| –output | 否 | 输出格式:yaml, canonical, markdown(默认:yaml) |
工作流
阶段 1: 初始化
initialization:
- 创建领域文件夹:.requirements/{domain}/
- 检查现有需求
- 加载需求获取方法技能
- 确定可用源
阶段 2: 特定源获取
基于 --sources 参数,执行适当的技术:
如果包含 interview
interview_phase:
- 识别要访谈的利益相关者
- 对于每个利益相关者:
- 生成需求访谈代理
- 进行结构化访谈
- 保存转录和需求
如果包含 document
document_phase:
- 扫描可用文档
- 对于每个文档:
- 生成文档挖掘代理
- 提取需求
- 保存提取结果
如果包含 simulation
simulation_phase:
- 选择适当的角色
- 对于每个角色:
- 生成角色代理
- 模拟利益相关者视角
- 捕获模拟需求
如果包含 research
research_phase:
- 识别研究主题
- 查询 MCP 服务器:
- perplexity 用于最佳实践
- context7 用于库文档
- firecrawl 用于竞争分析
- 保存研究发现
阶段 3: 差距分析
gap_analysis:
- 加载差距分析技能
- 生成差距检测代理
- 识别缺失的需求区域
- 推荐额外的获取
阶段 4: 合成
synthesis:
- 生成需求合成代理
- 整合所有源
- 解决冲突
- 生成统一的需求集
阶段 5: 输出生成
output:
- 以请求的格式生成输出
- 保存到 .requirements/{domain}/
- 向用户显示摘要
自主级别
引导模式
在每个阶段:
- 向用户呈现选项
- 在继续前请求批准
- 允许用户修改方法
- 在保存输出前确认
半自主模式
- 自动执行阶段
- 在关键决策点暂停
- 呈现摘要供审查
- 允许用户干预
全自主模式
- 执行整个工作流
- 自动做出合理决策
- 仅呈现最终结果
- 标记需要人工注意的项目
示例
基本发现
/requirements-elicitation:discover "user-authentication"
输出:
需求获取发现:用户认证
自主:半自主
源:全部
阶段 1: 初始化
创建:.requirements/user-authentication/
未找到现有需求
阶段 2: 获取
准备从所有源开始获取。
可用源:
1. 访谈 - 尚未识别利益相关者
2. 文档 - 尚未提供文档
3. 模拟 - 5个角色可用
4. 研究 - MCP 服务器可用
您想如何继续?
[A] 从利益相关者模拟开始(推荐单独工作)
[B] 提供要分析的文档
[C] 进行利益相关者访谈
[D] 研究领域最佳实践
[E] 自定义方法
文档聚焦发现
/requirements-elicitation:discover "payment-processing" --sources document,research
输出:
需求获取发现:支付处理
自主:半自主
源:文档, 研究
阶段 1: 初始化
创建:.requirements/payment-processing/
阶段 2a: 文档提取
尚未提供文档。
请通过以下方式提供文档:
- 直接粘贴内容
- 提供文件路径
- 提供 URL
等待文档输入...
全自主发现
/requirements-elicitation:discover "inventory-management" --autonomy full-auto --sources simulation,research
输出:
需求获取发现:库存管理
自主:全自主
源:模拟, 研究
执行全自主发现...
阶段 1: 初始化 ✓
创建:.requirements/inventory-management/
阶段 2a: 利益相关者模拟 ✓
利益相关者角色 最终用户:8个需求
利益相关者角色 技术:12个需求
利益相关者角色 业务:10个需求
利益相关者角色 运营:7个需求
利益相关者角色 合规:5个需求
阶段 2b: 领域研究 ✓
最佳实践:6个需求派生
技术约束:4个需求派生
阶段 3: 差距分析 ✓
覆盖率:75%
识别差距:3(安全、可访问性、灾难恢复)
阶段 4: 合成 ✓
总独特需求:38
解决冲突:2
标记冲突:1
阶段 5: 输出 ✓
保存到:.requirements/inventory-management/synthesis/SYN-20251225-160000.yaml
摘要:
功能需求:24
非功能需求:10
约束:3
假设:1
准备规范:是(1个次要冲突待处理)
后续步骤:
- 审查合成输出
- 解决标记冲突(竞争性能目标)
- 准备时导出到规范格式
输出结构
发现后,领域文件夹包含:
.requirements/{domain}/
├── interviews/
│ └── INT-{timestamp}.yaml
├── documents/
│ └── DOC-{timestamp}.yaml
├── simulations/
│ └── SIM-{timestamp}.yaml
├── research/
│ └── RES-{timestamp}.yaml
├── analysis/
│ └── GAP-{timestamp}.yaml
└── synthesis/
└── SYN-{timestamp}.yaml
集成
后续命令
# 检查差距
/requirements-elicitation:gaps --domain "{domain}"
# 额外研究
/requirements-elicitation:research "{topic}" --domain "{domain}"
# 额外访谈
/requirements-elicitation:interview "{stakeholder}" --domain "{domain}"
# 导出到规范格式
/requirements-elicitation:export --domain "{domain}" --to canonical
最佳实践
- 单独工作时从模拟开始 - 角色代理提供多样视角
- 有文档时添加 - 现有文档是丰富的需求源
- 对不熟悉的领域使用研究 - MCP 服务器提供行业知识
- 合成前运行差距分析 - 早期识别缺失区域
- 仔细审查合成 - 冲突和差距需要人工判断
错误处理
error_handling:
no_sources_available:
message: "无可用获取源"
action: "引导用户提供至少一个源"
synthesis_failed:
message: "无法合成需求"
action: "显示部分结果,建议手动审查"
mcp_unavailable:
message: "MCP 服务器无响应"
action: "跳过研究阶段,继续其他源"