# Planning With Files

> 将工作流转换为使用 Evan 风格的持久化 markdown 文件进行规划、进度跟踪和知识存储。适用于开始复杂任务、多步骤项目、研究任务，或者当用户提到规划、组织工作、跟踪进度或需要结构化输出时使用。

- Skill: `majiayu000/planning-with-files-3` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/planning-with-files-3`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/planning-with-files-3/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/planning-with-files-3

---


# 使用文件进行规划

像 Evan 一样工作：使用持久化的 markdown 文件作为你的"磁盘工作记忆"。

## 快速开始

在任何复杂任务之前：

1. **使用 AskUser 明确需求** - 达到 95% 确定性再继续
2. **在工作目录中创建 `task_plan.md`**
3. **定义阶段**，使用复选框
4. **每个阶段后更新** - 标记 [x] 并更改状态
5. **决策前读取** - 刷新注意力窗口中的目标

## 三文件模式

对于每个非平凡任务，创建三个文件：

| 文件 | 用途 | 更新时机 |
|------|---------|----------------|
| `task_plan.md` | 跟踪阶段和进度 | 每个阶段后 |
| `notes.md` | 存储发现和研究 | 研究过程中 |
| `[deliverable].md` | 最终输出 | 完成时 |

## 核心工作流

```
循环 0：使用 AskUser 明确需求细节（达到 95% 确定性）
循环 1：创建包含目标和阶段的 task_plan.md
循环 2：研究 → 保存到 notes.md → 更新 task_plan.md
循环 3：读取 notes.md → 创建交付物 → 更新 task_plan.md
循环 4：交付最终输出
```

### 详细循环说明

**循环 0：明确需求（开始任何任务前）**

```bash
AskUser  # 明确需求细节，直到达到 95% 确定性
```

提问重点：
- 具体要交付什么？
- 有什么约束条件（技术栈、时间、资源）？
- 有什么参考或示例？
- 优先级和取舍是什么？
- 验收标准是什么？

**判断标准：** 只有当你认为有 95% 的把握可以完成任务时，才进入循环 1。

**每次主要操作前：**
```bash
Read task_plan.md  # 刷新注意力窗口中的目标
```

**每个阶段后：**
```bash
Edit task_plan.md  # 标记 [x]，更新状态
```

**存储信息时：**
```bash
Write notes.md     # 不要塞满上下文，存储到文件中
```

## task_plan.md 模板

对于任何复杂任务，首先创建此文件：

```markdown
# 任务计划：[简要描述]

## 目标
[一句话描述最终状态]

## 阶段
- [ ] 阶段 1：规划和设置
- [ ] 阶段 2：研究/收集信息
- [ ] 阶段 3：执行/构建
- [ ] 阶段 4：审查和交付

## 关键问题
1. [需要回答的问题]
2. [需要回答的问题]

## 已做出的决策
- [决策]：[理由]

## 遇到的错误
- [错误]：[解决方案]

## 状态
**当前处于阶段 X** - [我现在正在做的事情]
```

## notes.md 模板

用于研究和发现：

```markdown
# 笔记：[主题]

## 来源

### 来源 1：[名称]
- URL：[链接]
- 关键点：
  - [发现]
  - [发现]

## 综合发现

### [类别]
- [发现]
- [发现]
```

## 关键规则

### 0. 先明确，再动手
在开始任何任务前，使用 AskUser 工具明确需求细节。只有达到 95% 确定性后才能进入计划阶段。

### 1. 始终先创建计划
在没有 `task_plan.md` 的情况下永远不要开始复杂任务。这是不可协商的。

### 2. 决策前先读取
在任何重大决策之前，读取计划文件。这可以将目标保持在你的注意力窗口中。

### 3. 行动后更新
完成任何阶段后，立即更新计划文件：
- 用 [x] 标记已完成的阶段
- 更新状态部分
- 记录遇到的任何错误

### 4. 存储，不要塞满
大型输出放入文件，而不是上下文。在工作记忆中只保留路径。

### 5. 记录所有错误
每个错误都进入"遇到的错误"部分。这为未来的任务积累知识。

## 何时使用此模式

**对以下情况使用三文件模式：**
- 多步骤任务（3+ 步骤）
- 研究任务
- 构建/创建某物
- 跨多个工具调用的任务
- 任何需要组织的事情

**以下情况跳过：**
- 简单问题
- 单文件编辑
- 快速查找

## 避免的反模式

| 不要做 | 而是做 |
|-------|------------|
| 猜测需求或假设理解 | 使用 AskUser 明确需求到 95% 确定性 |
| 使用 TodoWrite 进行持久化 | 创建 `task_plan.md` 文件 |
| 陈述一次目标就忘记 | 每次决策前重新读取计划 |
| 隐藏错误并重试 | 将错误记录到计划文件 |
| 将所有内容塞入上下文 | 将大型内容存储到文件中 |
| 立即开始执行 | 首先明确需求，然后创建计划文件 |

## 高级模式

参见 [reference.md](reference.md) 了解：
- 注意力操作技巧
- 错误恢复模式
- 来自 Evan 的上下文优化

参见 [examples.md](examples.md) 了解：
- 真实任务示例
- 复杂工作流模式

