| name | speckit-clarify |
| description | 通过最多 5 个高价值、强约束的澄清问题,系统性消除功能规格说明中的关键歧义,并将确认结果安全、可追溯地回写到规格说明中,为技术规划提供稳定输入。 |
Speckit_Clarify
🧠 Skill 简介
Speckit_Clarify 是一个规格澄清与需求定型(Spec Finalization)Skill。
它用于在功能规格说明(Feature Spec)已经存在的前提下,识别高风险不确定点,并通过有限、精准、可控的交互式提问,将这些不确定性转化为明确、可验证的规格内容。
该 Skill 的目标不是“问清楚一切”,而是:
只解决那些如果不澄清,就会在设计、实现、测试或上线阶段造成返工的问题。
🎯 适用场景(When to Use This Skill)
在以下场景中,应使用本 Skill:
- 已完成 "speckit-specify" skill,但规格仍存在模糊点
- 准备进入技术方案设计(speckit-plan)skill之前
- 需要将“模糊需求”收敛为“可设计、可拆解、可测试”的状态
- 希望减少后期架构调整、任务重拆、验收标准反复修改的风险
- 项目中存在跨角色(产品 / 技术 / 合规 / 运维)理解偏差风险
注意:
本 Skill 设计为 在 speckit-plan 之前完成。
如用户明确跳过澄清(例如探索性原型),必须提示返工风险。
📥 输入(Input)
- 上下文输入:
当前 Feature 分支中已存在的功能规格说明(Spec)
- 用户补充输入(可选):
用于澄清优先级判断的背景说明($ARGUMENTS)
前提条件:
- Feature 分支已存在
- Spec 文件可被正确定位与加载
🧩 Skill 核心能力
1️⃣ 规格覆盖与歧义扫描(Spec Coverage Scan)
Skill 会对当前规格说明执行一次结构化覆盖检查,从以下维度识别“清晰 / 部分缺失 / 缺失”状态:
- 功能范围与行为边界
- 数据模型与生命周期
- 用户角色与交互流程
- 非功能性质量属性(性能、安全、可用性等)
- 外部集成与依赖
- 边界情况与失败场景
- 约束、权衡与术语一致性
- 完成标准与可验收性
- 遗留 TODO、模糊形容词等风险信号
该扫描结果用于内部优先级计算,而非直接暴露给用户。
2️⃣ 澄清问题筛选与优先级控制
从所有潜在澄清点中,Skill 会:
- 基于 影响度 × 不确定性 进行排序
- 只选择 最多 5 个最关键问题
- 排除:
- 不影响架构或验收的细节
- 明显应留到 Plan 阶段的问题
- 已在规格中隐含解决的问题
全会话限制:
- 单次运行最多 5 个问题
- 多轮澄清累计不超过 10 个问题
3️⃣ 强约束交互式提问(One-by-One)
澄清过程采用顺序式单问题交互:
- 一次只问一个问题
- 每个问题必须满足:
- 可用 2–5 个互斥选项回答,或
- 可用 ≤5 个词的短答案回答
问题类型支持
- 多选题(推荐)
- Skill 会基于最佳实践给出 推荐选项
- 清晰说明推荐理由(风险、通用性、可维护性)
- 短答案题
- Skill 提供 建议答案
- 用户可直接确认或自行修改
用户可通过:
- 选择选项字母
- 直接回复 “yes / recommended / suggested”
- 或给出自定义短答案
📤 输出(Output)
Skill 执行完成后,将返回:
- 当前 Feature 是否已具备进入下一阶段的条件:
🔗 Skill 之间的协作(Handoffs)
本 Skill 通常作为 Feature 生命周期的第二步,并可自动衔接:
- Build Technical Plan → "speckit-plan" Skill
4️⃣ 澄清结果即时集成(Incremental Integration)
每当一个问题被确认:
- 立即在内存中更新 Spec 表示
- 同步写回 Spec 文件(原子写入,避免上下文丢失)
- 在 Spec 中维护一个独立的澄清记录区:
## Clarifications
### Session YYYY-MM-DD
- Q: <问题> → A: <确认答案>