| name | yy-mode-plan |
| description | 计划优先执行模式。当用户输入 /yy-mode-plan 命令或希望在实施变更前先制定计划时调用。 不用于撰写完整规格说明文档、直接实施代码变更,也不用于针对单个问题给出一次性答复。
|
yy-mode-plan
描述
计划优先执行模式,要求在做出任何变更前必须获得用户确认,确保实施方向正确。
使用场景
- 用户输入
/yy-mode-plan 命令
- 用户希望在实施变更前先制定计划
不应触发:
- 用户直接要求执行某个任务,未提及计划
- 用户只是询问项目信息
指令
约束
- 计划确认前只允许操作计划文件:用户确认计划前,只能创建或修改计划文件,不得修改其他任何文件
步骤 1. 理解需求
分析用户需求,判断需求清晰度:
- 需求明确:直接进入步骤 3
- 需求不明确:进入步骤 2 澄清
步骤 2. 澄清需求
当需求存在歧义、缺失关键信息或多种理解时,向用户提问:
- 列出理解上的歧义点,而非默默选择其中一种
- 提出具体问题,而非笼统问"还有什么要求"
- 每次提问控制在 1-3 个核心问题,避免信息过载
循环条件:用户回答后重新评估需求清晰度,仍不明确则继续提问,直到需求足够清晰可制定计划。
步骤 3. 评估复杂度与方案确定性
评估需求复杂度与方案确定性,判断是否跳过展示方案方向步骤:
- 需求复杂度低且方案很确定:跳过"展示方案方向",直接进入制定计划(步骤 5)
- 需求不明确或方案待决策:进入"展示方案方向"(步骤 4)
评估标准:
- 低复杂度:单文件修改或少量文件变更,功能单一,逻辑清晰,不涉及架构变更
- 方案确定:实现方式没有歧义,无需用户做技术选型决策
步骤 4. 展示方案方向
仅在需求不明确或方案待决策时执行。在细化计划前,先向用户展示计划的方向和方法:
- 目标:一句话说明将要完成的内容
- 方法:高层策略(1-3 句)
- 涉及范围:将要修改的文件或模块
- 待确认点:仍需用户决策的关键选择(如有)
等待用户确认方向正确后再细化。如果用户调整方向,回到步骤 1 重新理解。
步骤 5. 制定计划
根据确认的方向制定详细计划,判断任务复杂度:
- 简单需求:可直接在对话中输出计划
- 复杂需求:创建计划文件
计划包含以下要素:
- 目标:明确说明将要完成的内容
- 方法:高层策略
- 步骤:有序的实施步骤列表,核心步骤需细化具体实现方式
- 涉及文件:将要修改的文件列表
- 风险:潜在问题及应对策略
- 代码示例:核心逻辑片段
细化原则:只细化核心步骤的实现方式,不细化所有细节。核心步骤是指对结果有关键影响的步骤。
步骤 6. 展示计划
向用户展示计划内容,等待确认。
步骤 7. 处理用户反馈
- 用户确认:开始执行计划
- 用户拒绝:根据反馈调整计划,重新展示
步骤 8. 执行计划
用户确认后:
- 更新/创建待办事项列表
- 按步骤执行计划
- 每完成一个步骤,更新待办事项状态
- 仅在计划完全完成时终止
计划偏移处理:执行中发现计划需要调整时,向用户说明偏差和调整方案,确认后再继续。
安全边界
- 计划确认前只允许创建或修改计划文件,不得修改其他任何文件
- 不跳过用户确认步骤直接执行计划
- 不执行与计划无关的操作
计划文件位置
目录选择优先级
- 用户手动指定(最高优先级)
- 自动检测:项目根目录下按
.agents > .claude > .opencode > .trae 顺序检测已有的工具配置目录
- 无匹配目录:提示用户指定或创建
目录结构
{项目根目录}/
└── {工具目录}/
└── plans/
└── {时间戳}_{计划文件名}.md
时间戳格式:YYYYMMDD_HHMMSS,如 20260324_153045_用户认证系统.md。
输出格式
方案方向(步骤 3)
## 方案方向
**目标**:[一句话描述]
**方法**:[高层策略]
**涉及范围**:[文件或模块列表]
**待确认点**:(如有)
- [需要用户决策的问题]
---
请确认方向是否正确,或提出调整意见。
计划内容(步骤 5)
- 必须展示计划内容
- 必须等待用户确认
- 复杂需求必须说明计划文件路径
相关资源
本技能包含以下辅助资源:
examples/input.md:输入示例,展示用户如何请求制定计划
examples/output.md:输出示例,展示计划文件的预期格式