关于 vague
vague 是用于澄清含糊需求的技能,通过假设选项逐步提问,将需求整理为可执行规格。它要求使用 AskUserQuestion,并在澄清后展示前后对照。
主要功能
- 01识别需求中的歧义
- 02以假设选项组织问题
- 03每次最多批量提出 4 个问题
- 04总结澄清前后的需求
- 05询问是否保存结果
适用场景
- 01细化含糊的功能请求
- 02补全不完整的错误报告
- 03明确未充分定义的任务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ team-attention/ plugins-for-claude-natives --skill vague安装后在 Claude Code 中输入/vague确认已加载。
详细介绍
Vague:需求澄清
通过基于假设的问题,将模糊或含义不明的需求转化为精确、可执行的规格。始终使用 AskUserQuestion 工具——绝不要用纯文本提问以澄清问题。
适用场景
- 含义模糊的功能请求(“添加登录功能”)
- 不完整的错误报告(“导出功能坏了”)
- 规格不明确的任务(“让应用更快”)
对于策略/规划中的盲点分析,请使用 unknown 技能。对于内容与形式的重构,请使用 metamedium 技能。
核心原则:将假设作为选项
将合理的解释作为选项呈现,而不是提出开放式问题。每个选项都是一个可验证的假设,用于判断用户的实际意图。
BAD: "What kind of login do you want?" ← open question, high cognitive load
GOOD: "OAuth / Email+Password / SSO / Magic link" ← pick one, lower load
流程
阶段 1:记录并诊断
逐字记录原始需求。找出其中的歧义:
- 哪些内容不清楚或规格不足?
- 需要做出哪些假设?
- 哪些决定留待解释?
阶段 2:迭代澄清
使用 AskUserQuestion 解决歧义。**每次调用最多批量提出 4 个相关问题。**每个选项都是关于用户意图的假设。
**上限:总计 5–8 个问题。**当所有关键歧义都已解决,或用户表示“差不多就行”,或达到上限时,停止提问。
AskUserQuestion 调用示例:
questions:
- question: "Which authentication method should the login use?"
header: "Auth method"
options:
- label: "Email + Password"
description: "Traditional signup with email verification"
- label: "OAuth (Google/GitHub)"
description: "Delegated auth, no password management needed"
- label: "Magic link"
description: "Passwordless email-based login"
multiSelect: false
- question: "What should happen after registration?"
header: "Post-signup"
options:
- label: "Immediate access"
description: "User can use the app right away"
- label: "Email verification first"
description: "Must confirm email before access"
multiSelect: false
阶段 3:前后对比摘要
展示需求的转换过程:
## Requirement Clarification Summary
### Before (Original)
"{original request verbatim}"
### After (Clarified)
**Goal**: [precise description]
**Scope**: [included and excluded]
**Constraints**: [limitations, preferences]
**Success Criteria**: [how to know when done]
**Decisions Made**:
| Question | Decision |
|----------|----------|
| [ambiguity 1] | [chosen option] |
阶段 4:保存选项
询问是否要将澄清后的需求保存到文件。默认位置:requirements/ 或适合该项目的目录。
歧义类别
| 类别 | 假设示例 |
|---|---|
| 范围 | 所有用户 / 仅管理员 / 特定角色 |
| 行为 | 静默失败 / 显示错误 / 自动重试 |
| 接口 | REST API / GraphQL / CLI |
| 数据 | JSON / CSV / 两者 |
| 约束 | <100ms / <1s / 无要求 |
| 优先级 | 必须实现 / 有则更好 / 未来实现 |
规则
- 提出假设,而非开放式问题:每个选项都应是合理的解释
- 不做假设:先提问,不要自行假定
- 保留意图:细化需求,而非改变方向
- 最多 5–8 个问题:再多就会让人疲惫
- 批量提出相关问题:每次 AskUserQuestion 调用最多 4 个
- 追踪变更:始终展示前后对比
评论
支持 Markdown