Loading...
Loading...
Compare original and translation side by side
.feature/state/design/adr/task_plan.md.feature/state/design/adr/task_plan.md| Domain | Typical Gray Areas |
|---|---|
| Visual features | Layout density, responsive breakpoints, animation behavior, color scheme interpretation |
| APIs | Contract shape, error response format, versioning strategy, auth mechanism |
| CLIs | Flag design, output format (human vs. machine), exit codes, stdin/stdout conventions |
| Data pipelines | Batch vs. streaming, idempotency guarantees, failure semantics, retry policy |
| Config/infrastructure | File format, environment variable naming, secret management, deployment strategy |
| Content/documentation | Audience level, tone, structure, depth, cross-reference strategy |
undefined| 领域 | 典型模糊领域 |
|---|---|
| 视觉功能 | 布局密度、响应式断点、动画行为、配色方案解读 |
| APIs | 契约结构、错误响应格式、版本策略、认证机制 |
| CLIs | 标志设计、输出格式(人类可读 vs 机器可读)、退出码、stdin/stdout约定 |
| 数据管道 | 批处理 vs 流处理、幂等性保证、失败语义、重试策略 |
| 配置/基础设施 | 文件格式、环境变量命名、密钥管理、部署策略 |
| 内容/文档 | 受众层级、语气、结构、深度、交叉引用策略 |
undefined
Present all gray areas at once (not one at a time) so the user can batch their decisions. If a gray area has an obvious best choice, state the recommendation — the user can accept or override.
**Step 3: Capture Decisions**
For each gray area the user responds to, record:
- The decision made
- The rationale (user's reasoning or acceptance of recommendation)
- Which options were rejected and why
If the user defers a decision ("I don't care" or "whatever you think"), accept your recommendation and record it as "defaulted to recommendation."
一次性呈现所有模糊领域(而非逐个呈现),以便用户批量做出决策。如果某个模糊领域有明显的最佳选择,说明推荐理由——用户可接受或覆盖。
**步骤3:记录决策**
针对用户回应的每个模糊领域,记录:
- 做出的决策
- 理由(用户的推理或对推荐的接受)
- 被拒绝的选项及原因
如果用户推迟决策(「无所谓」或「你看着办」),则接受你的推荐,并记录为「默认采用推荐方案」。undefinedundefinedpath/to/file.ext:L42
Confidence calibration:
- **Confident**: Multiple files confirm the pattern, or explicit configuration states it
- **Likely**: One file shows the pattern, or it's consistent with the overall codebase style
- **Unclear**: Conflicting signals, insufficient data, or the codebase doesn't address this
**Step 3: Present Assumptions**
Present all assumptions organized by confidence level (Confident first, Unclear last). Tell the user:
> Here's what I believe about this codebase based on reading [N] files. Please correct anything that's wrong. You only need to respond to items that are incorrect — silence means agreement.
**Step 4: Process Corrections**
For each correction the user provides:
- Update the assumption to reflect the correct information
- Note the original (wrong) assumption and why it was wrong
- Adjust confidence on related assumptions if the correction reveals a patternpath/to/file.ext:L42
置信度校准:
- **确信**:多个文件确认了该模式,或有明确的配置说明
- **可能**:单个文件显示了该模式,或与代码库整体风格一致
- **不明确**:信号冲突、数据不足,或代码库未涉及此方面
**步骤3:呈现假设**
按置信度顺序呈现所有假设(先确信,最后是不明确)。告知用户:
> 这是我基于读取[N]个文件对代码库的判断。请纠正任何错误内容。你只需回应不正确的条目——无回应即表示同意。
**步骤4:处理纠正**
针对用户提供的每一项纠正:
- 更新假设以反映正确信息
- 记录原(错误)假设及其错误原因
- 如果纠正揭示了新模式,调整相关假设的置信度undefinedundefinedpath/to/file.extpath/to/file.ext
Save this document:
- If in a feature lifecycle: save to `.feature/state/design/pre-planning-context-FEATURE.md`
- If standalone: save to `task_plan_context.md` alongside `task_plan.md`
**GATE**: Context document produced with all required sections. All decisions recorded with rationale. Scope boundary defined. Canonical references listed.
保存此文档:
- 如果处于功能生命周期中:保存至`.feature/state/design/pre-planning-context-FEATURE.md`
- 如果是独立使用:保存至`task_plan_context.md`,与`task_plan.md`放在同一目录
**关卡**:生成包含所有必填部分的上下文文档。所有决策均记录了理由。已定义范围边界。已列出权威参考。/feature-planWarning: [N] assumptions remain unclear. These may need revisiting during planning if they affect task decomposition.
/feature-plan警告:尚有[N]个假设不明确。在规划过程中,如果这些假设影响任务分解,可能需要重新审视。
| Error | Cause | Solution |
|---|---|---|
| No gray areas found | Task is unambiguous or too vague to analyze | If unambiguous, skip this skill and go to planning. If too vague, return to feature-design |
| User defers all decisions | User wants the agent to decide everything | Accept all recommendations, record as "defaulted." Proceed. |
| Scope expansion detected | A gray area implies new capabilities | Classify as OUT in scope boundary. Do not resolve it. |
| Too many gray areas (>10) | Task scope is too broad | Group related gray areas or suggest breaking the task into smaller pieces |
| Codebase too small for Assumptions mode | <5 relevant files | Switch to Discussion mode |
| Conflicting prior decisions | Design doc and ADR disagree | Flag the conflict to the user. Do not resolve silently |
| 错误 | 原因 | 解决方案 |
|---|---|---|
| 未找到模糊领域 | 任务无歧义或过于模糊无法分析 | 如果无歧义,跳过本Skill直接进入规划。如果过于模糊,返回feature-design |
| 用户推迟所有决策 | 用户希望Agent全权决定 | 接受所有推荐方案,记录为「默认采用」。继续下一步。 |
| 检测到范围扩展 | 某个歧义意味着需要添加新功能 | 在范围边界中标记为OUT。不解决该歧义。 |
| 模糊领域过多(>10个) | 任务范围过宽 | 对相关模糊领域进行分组,或建议将任务拆分为更小的部分 |
| 代码库过小无法使用假设模式 | 相关文件不足5个 | 切换为讨论模式 |
| 前期决策冲突 | 设计文档与ADR不一致 | 向用户标记冲突。绝不静默解决 |
| Anti-Pattern | Why Wrong | Do Instead |
|---|---|---|
| Asking 15-20 individual questions | Exhausts user patience, most answers are predictable | Use Assumptions mode: form opinions, ask for corrections |
| Open-ended questions ("How should we handle errors?") | Forces user to design the solution | Present 2-3 concrete options with tradeoffs |
| Re-asking settled decisions | Wastes interaction budget, erodes trust | Check prior context first; carry forward existing decisions |
| Expanding scope during discussion | Defeats the purpose of scoped ambiguity resolution | Apply scope guardrail: clarify HOW, never WHETHER |
| Presenting one option as a question | "Should we use JSON?" is not a gray area if there's only one option | Only present genuine gray areas with multiple valid approaches |
| Skipping evidence in Assumptions mode | Assumptions without evidence can't be evaluated | Every assumption MUST cite a file path and specific pattern |
| 反模式 | 错误原因 | 正确做法 |
|---|---|---|
| 询问15-20个独立问题 | 耗尽用户耐心,大多数答案可预测 | 使用假设模式:形成判断,仅请求纠正 |
| 开放式问题(「我们应该如何处理错误?」) | 迫使用户设计解决方案 | 提供2-3个带有权衡的具体选项 |
| 重复询问已解决的决策 | 浪费交互成本,损害信任 | 先检查前期上下文;沿用已有决策 |
| 讨论过程中扩展范围 | 违背了限定范围歧义解决的初衷 | 遵守范围护栏:仅澄清如何做,绝不质疑是否做 |
| 将单个选项作为问题提出(「我们应该使用JSON吗?」) | 如果只有一个选项,这并非模糊领域 | 仅呈现存在多种有效方案的真实模糊领域 |
| 假设模式下跳过证据 | 无证据的假设无法被评估 | 每个假设都必须引用文件路径和具体模式 |
| Rationalization | Why Wrong | Action |
|---|---|---|
| "The requirements are clear, no ambiguities" | Almost every task has ambiguities; you're not looking hard enough | Spend 2 minutes actively looking for gray areas before declaring none exist |
| "I'll figure it out during implementation" | That's exactly what this skill prevents — silent wrong assumptions | Surface the ambiguity now; it's cheaper to resolve |
| "This expands scope but it's important" | Scope guardrail is non-negotiable | Mark as OUT, note it for future work |
| "User will correct me if I'm wrong" | Users don't know what you assumed silently | Make assumptions explicit so they CAN correct you |
| "Confident enough, no need to show evidence" | Assumptions without evidence are untestable claims | Always cite file path and pattern |
| 合理化 | 错误原因 | 行动 |
|---|---|---|
| 「需求明确,无歧义」 | 几乎每个任务都存在歧义,只是你没有仔细寻找 | 在宣布无歧义前,花2分钟主动寻找模糊领域 |
| 「我会在实现过程中解决」 | 这正是本Skill要避免的——隐性错误假设 | 现在就明确歧义;解决成本更低 |
| 「这会扩展范围但很重要」 | 范围护栏是不可协商的 | 标记为OUT,记录为未来工作 |
| 「如果我错了用户会纠正我」 | 用户不知道你做出了哪些隐性假设 | 明确假设以便用户纠正 |
| 「足够确信,无需展示证据」 | 无证据的假设是无法验证的断言 | 始终引用文件路径和模式 |