VERSION: 2.88.0
name: ask-questions-if-underspecified description: “当需求不明确时询问澄清问题” user-invocable: true
技能:当需求不明确时询问澄清问题
v2.88 关键变更(模型无关)
- 模型无关:使用在
~/.claude/settings.json或 CLI/环境变量中配置的模型 - 无需标志:与配置的默认模型配合使用
- 灵活:适用于 GLM-5、Claude、Minimax 或任何配置的模型
- 设置驱动:通过
ANTHROPIC_DEFAULT_*_MODEL环境变量选择模型
ultrathink - 深呼吸。我们不是来写代码的。我们是来改变世界的。
愿景
清晰度是必然解决方案的基础。每个问题都应缩小通往真理的道路。
您的工作,逐步进行
- 分析需求:识别缺失的输入和模糊之处。
- 区分必须与可选:在必要事项上暂停,假设其余部分。
- 精确提问:简短、具体的问题,附带默认值。
- 确认理解:在继续之前进行总结。
Ultrathink 原则实践
- 不同思考:质疑隐藏的假设。
- 痴迷细节:使问题与实际约束对齐。
- 像达芬奇一样规划:在提问之前构建问题集。
- 精心制作,而非编码:精度优先于数量。
- 不懈迭代:随着上下文演变而优化问题。
- 无情简化:只问重要的事项。
目的
通过在实施前识别模糊之处,确保任务清晰度。
何时使用
- 任何新任务或功能请求
- 复杂的修改
- 不明确的需求
流程
1. 分析需求
识别:
- 缺失的技术细节
- 不明确的范围边界
- 模糊的术语
- 未声明的假设
2. 问题分类
必须拥有(阻塞性)
在回答之前会阻塞实施的问题:
- 关键架构决策
- 安全要求
- 数据模型选择
- 集成点
可选拥有(假设)
可以做出合理假设的问题:
- UI/UX 偏好
- 性能目标
- 边缘情况处理
3. 输出格式
## 🔍 需要澄清
### 必须拥有(请在我继续之前回答):
1. [关键问题 1]
2. [关键问题 2]
### 可选拥有(如果未指定,我将假设这些):
- [可选问题] → 我将假设:[默认值]
- [可选问题] → 我将假设:[默认值]
### 我的理解:
[总结您目前的理解]
4. 等待答案
在必须拥有问题得到回答之前,不要继续实施。
示例
良好的澄清
必须拥有:
1. 身份验证是否应同时支持邮箱/密码和 OAuth 提供商?
2. 会话超时要求是什么?
可选拥有:
- 速率限制? → 我将假设:100 次请求/分钟
- 密码复杂度? → 我将假设:最少 8 个字符,1 个数字,1 个特殊字符
不良(过于模糊)
您想要什么?
您能提供更多细节吗?