| name | common-grill-me |
| description | Grill Me 技能,向用户进行深度询问,验证需求的合理性、必要性和受益,直到达成共识 |
| trigger | 用户需要压力测试计划、验证设计方案、或明确提到'grill me'时 |
| disable-when | 需求已清晰且无需进一步验证时 |
| category | common |
| tags | ["grill","interview","validation","requirements","design"] |
| requires | ["common-requirement-clarification","common-spec-driven"] |
common-grill-me
功能描述
Grill Me 技能用于对用户的计划、设计或需求进行深度质询,确保每个决策都经过充分验证。通过逐步询问,遍历设计树的每个分支,逐一解决决策之间的依赖关系,最终达成共识。
触发条件
- 用户明确提到 "grill me" 时
- 用户需要压力测试某个计划或设计时
- 用户希望验证需求的合理性和必要性时
- 需求或方案需要深度审查时
何时使用
- 需求提出后需要验证其必要性时
- 技术方案设计完成后需要审查时
- 项目计划制定后需要压力测试时
- 设计决策需要多方共识时
何时不使用
- 需求已清晰且经过充分验证时
- 简单的代码修改或小功能调整时
- 用户明确表示不需要进一步讨论时
核心功能
1. 需求合理性验证
- 验证需求是否解决了实际问题
- 确认需求的业务价值和必要性
- 检查需求是否与整体目标一致
2. 设计决策质询
- 对每个设计决策进行深度询问
- 验证技术选型的合理性
- 检查决策之间的依赖关系
3. 受益分析
- 量化需求或方案的受益
- 评估投入产出比
- 验证优先级排序
4. 风险识别
- 识别潜在风险和问题
- 验证风险缓解措施的有效性
- 评估最坏情况的影响
质询流程
需求/方案提出 → 合理性验证 → 设计决策质询 → 受益分析 → 风险识别 → 达成共识
详细步骤
- 开场确认:明确用户想要质询的内容和目标
- 逐一质询:一次只问一个问题,深入探讨
- 代码探索:如果问题可以通过探索代码库回答,则先探索代码库
- 提供建议:对每个问题提供推荐答案和理由
- 记录决策:记录每个决策点和结论
- 达成共识:直到所有问题解决,达成共识
质询问题清单
第一阶段:需求合理性
| 问题 | 目的 | 推荐答案 |
|---|
| 这个需求要解决什么具体问题? | 验证需求的必要性 | 需要明确具体的痛点和场景 |
| 不做这个需求会有什么后果? | 评估必要性 | 明确不做的影响和风险 |
| 这个需求的核心用户是谁? | 确认用户价值 | 明确目标用户和使用场景 |
| 这个需求与整体业务目标的关系是什么? | 验证一致性 | 需要与战略目标对齐 |
第二阶段:设计决策
| 问题 | 目的 | 推荐答案 |
|---|
| 为什么选择这个技术方案? | 验证技术选型 | 需要对比其他方案并说明取舍 |
| 是否考虑过其他方案? | 检查完整性 | 需要列举至少一个替代方案 |
| 这个方案的核心优势是什么? | 评估价值 | 需要明确优势和适用场景 |
| 这个方案的复杂度如何? | 评估可行性 | 需要权衡复杂度和收益 |
第三阶段:受益分析
| 问题 | 目的 | 推荐答案 |
|---|
| 这个需求/方案的预期受益是什么? | 量化价值 | 需要具体的指标和目标 |
| 投入产出比是多少? | 评估性价比 | 需要明确投入和预期回报 |
| 如何衡量成功? | 建立度量标准 | 需要可量化的成功指标 |
| 这个需求的优先级是否合理? | 验证优先级 | 需要与其他需求对比 |
第四阶段:风险识别
| 问题 | 目的 | 推荐答案 |
|---|
| 这个方案最大的风险是什么? | 识别关键风险 | 需要明确风险和概率 |
| 如果出现问题,如何回滚? | 验证回滚方案 | 需要可执行的回滚计划 |
| 是否有依赖其他团队或系统? | 评估依赖风险 | 需要明确依赖和风险 |
| 最坏情况是什么? | 评估风险承受能力 | 需要准备应对措施 |
输入参数
| 参数名 | 类型 | 必填 | 说明 |
|---|
| subject | String | 是 | 需要质询的主题(需求/方案/计划) |
| type | String | 否 | 质询类型:requirement/design/plan,默认 requirement |
| depth | String | 否 | 质询深度:light/medium/deep,默认 medium |
| focusAreas | List<String> | 否 | 重点质询领域,如 ["business", "technical", "risk"] |
输出格式
{
"grillId": "GRILL-001",
"subject": "需求/方案标题",
"type": "requirement",
"depth": "medium",
"questions": [
{
"id": "Q001",
"question": "问题内容",
"purpose": "问题目的",
"userAnswer": "用户回答",
"recommendedAnswer": "推荐答案",
"status": "resolved/pending",
"notes": "备注"
}
],
"consensus": {
"status": "达成共识/需要进一步讨论",
"summary": "共识摘要",
"actionItems": ["行动项1", "行动项2"]
},
"createdAt": "2024-01-15T10:00:00Z"
}
使用流程
标准流程
- 用户请求:用户提出需求、方案或计划,请求 grill me
- 确认主题:确认要质询的主题和目标
- 逐一提问:按照质询问题清单,一次问一个问题
- 深入探讨:对每个问题进行深入讨论,提供推荐答案
- 记录结论:记录每个问题的结论和决策
- 达成共识:完成所有问题,输出共识摘要和行动项
代码探索优先
如果某个问题可以通过探索代码库来回答,则先探索代码库,再基于代码事实进行质询。
质询技巧
开放式提问
使用开放式问题引导用户深入思考,避免简单的是/否回答。
追问技巧
当用户回答不够深入时,通过追问获取更多信息:
- "能具体说明一下吗?"
- "为什么会这样?"
- "有没有例外情况?"
- "如果...会怎样?"
提供建议
对每个问题提供推荐答案,帮助用户思考和决策。
最佳实践
- 一次一问:一次只问一个问题,确保深入讨论
- 代码优先:如果问题可以通过代码回答,先探索代码
- 记录决策:每个决策点都要记录,便于后续追溯
- 达成共识:确保所有参与者都理解并同意结论
- 行动导向:输出明确的行动项和下一步计划
配置要求
无需额外配置,基于问题清单和代码探索进行质询。
扩展指南
添加自定义问题
- 根据业务需求添加新的问题类别
- 定义问题的目的和推荐答案
- 更新质询问题清单
集成其他技能
可与以下技能集成:
- common-requirement-clarification:需求澄清
- common-spec-driven:Spec 文档生成
- common-code-review:代码审查
参考来源:https://github.com/mattpocock/skills/blob/main/skills/productivity/grill-me/SKILL.md