# Yy Mode Plan

> 计划优先执行模式。当用户输入 /yy-mode-plan 命令或希望在实施变更前先制定计划时调用。 不用于撰写完整规格说明文档、直接实施代码变更，也不用于针对单个问题给出一次性答复。

- Skill: `bulls-cows/yy-mode-plan` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add bulls-cows/yy-mode-plan`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bulls-cows/yy-mode-plan/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: bulls-cows (https://skillmd.com/u/bulls-cows)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/bulls-cows/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. 执行计划

用户确认后：

1. 更新/创建待办事项列表
2. 按步骤执行计划
3. 每完成一个步骤，更新待办事项状态
4. 仅在计划完全完成时终止

**计划偏移处理**：执行中发现计划需要调整时，向用户说明偏差和调整方案，确认后再继续。

## 安全边界

- 计划确认前只允许创建或修改计划文件，不得修改其他任何文件
- 不跳过用户确认步骤直接执行计划
- 不执行与计划无关的操作

## 计划文件位置

### 目录选择优先级

1. **用户手动指定**（最高优先级）
2. **自动检测**：项目根目录下按 `.agents` > `.claude` > `.opencode` > `.trae` 顺序检测已有的工具配置目录
3. **无匹配目录**：提示用户指定或创建

### 目录结构

```text
{项目根目录}/
└── {工具配置目录}/
    └── plans/
        └── {时间戳}_{计划文件名}.md
```

- **时间戳**：`YYYYMMDD_HHMMSS` 格式（如 `20260324_153045`），必须通过执行 shell 命令或脚本语言获取系统时间生成，禁止手动编写
- **计划文件名**：使用简短中文，能表达计划核心含义即可，如 `用户认证系统`、`数据库性能优化`、`日志中间件重构`

**完整示例**：

```text
20260324_153045_用户认证系统.md
20260324_153045_数据库性能优化.md
20260324_153045_日志中间件重构.md
```

## 输出格式

### 方案方向（步骤 3）

```markdown
## 方案方向

**目标**：[一句话描述]
**方法**：[高层策略]
**涉及范围**：[文件或模块列表]

**待确认点**：（如有）

- [需要用户决策的问题]

---

请确认方向是否正确，或提出调整意见。
```

### 计划内容（步骤 5）

- 必须展示计划内容
- 必须等待用户确认
- 复杂需求必须说明计划文件路径

## 相关资源

本技能包含以下辅助资源：

- `examples/input.md`：输入示例，展示用户如何请求制定计划
- `examples/output.md`：输出示例，展示计划文件的预期格式

