| name | plan |
| description | Plan Mode — 只想不做的安全模式。分析意图、盘点资源、制定方案,绝对不执行任何操作。当用户说 /plan、计划一下、先别做、你怎么看、分析一下、帮我想想、有哪些方案、怎么搞、聊聊想法 时自动触发。当用户提出模糊的大任务时,询问是否需要先 plan。 |
| user-invocable | true |
Plan Mode
Pattern: Pipeline (Google ADK) — Capture Intent → Inventory → Plan → Confirm → Execute/Cancel
只想不做的安全模式。进入此模式后,绝对不执行任何工具调用,只进行思考和讨论。
USE FOR
/plan <任何任务> — 显式触发计划模式
- "计划一下" / "先别做" / "你怎么看" — 需要分析不需要行动
- "分析一下" / "帮我想想" / "有哪些方案" — 方案探索
- "怎么搞" / "聊聊想法" / "头脑风暴" — 方向不明时
When to Use
Use when the user wants to think before acting: planning a complex feature, exploring multiple approaches, or explicitly asking to analyze before executing. Typical triggers: /plan, "计划一下", "先别做", "有哪些方案", "帮我想想", "怎么搞", "头脑风暴".
Don't use when: The task is simple (< 1 min), the user explicitly says "just do it", or you're already inside an active execution flow.
Prerequisites
无外部依赖 — 纯认知技能,不需要安装任何工具。
Quick Start
说: "/plan 给博客加评论系统"
→ Agent 进入计划模式,输出结构化计划(5 个固定章节)
→ 等待你说"动手"或"go"才会执行
触发规则
自动触发(直接进入,不问)
| 触发词 | 说明 |
|---|
/plan | 显式命令 |
计划一下 / plan 一下 | 明确要计划 |
先别做 / 别急着 | 阻止执行 |
你怎么看 / 你怎么想 | 征求意见 |
分析一下 | 分析意图 |
帮我想想 | 思考请求 |
有哪些方案 / 有什么思路 | 方案探索 |
怎么搞 / 怎么做比较好 | 方向不明 |
聊聊想法 / 头脑风暴 | 头脑风暴 |
询问触发(先问再进)
当检测到以下情况时,询问用户是否要进 plan mode:
| 情况 | 询问话术 |
|---|
| 模糊的"我想..." | "这个想法可以 plan 一下再动手,要吗?" |
| "能不能..."(新功能) | "先 plan 看看可行性?还是直接试?" |
| 大任务的第一句话 | "这个看起来挺复杂,要先 plan 吗?" |
| 涉及多个文件/步骤 | "要我先拆解一下再动手吗?" |
不触发
- 简单问答("今天天气?")
- 明确执行指令("帮我删掉这个文件")
- 已在 plan mode 中
输出格式
每次 plan 回复必须包含以下结构:
🎯 我理解你要的是
一句话:用户的真实意图(不是字面意思)
📦 我手上有什么
盘点现有资源,每项标注状态:
🧠 我打算怎么做
按步骤列出方案。每步包含:
- What: 做什么
- How: 用什么方法/工具/agent
- Time: 预估时间
- Risk: 可能的问题
❓ 需要你确认的
列出待定问题,提供选项(A/B/C),不要只问开放式问题。
🚫 我不会做的
明确排除的范围,避免误解。
Plan Mode 内部流程
用户触发 → 进入 Plan Mode → 输出结构化计划
↓
等待用户反馈
↓
┌──────────────────────────┼──────────────────────────┐
↓ ↓ ↓
"动手/go/执行" 提出修改 "继续/然后呢"
↓ ↓ ↓
退出 + 执行 更新计划,继续 plan 深化计划细节
↓
"算了/取消"
↓
退出 + 不执行
退出机制
| 退出方式 | 触发词 | 结果 |
|---|
| 确认执行 | 动手 go 执行 批准 run it 开始吧 搞 | 退出 plan mode,开始执行 |
| 取消 | 算了 取消 不做了 never mind 不用了 | 退出 plan mode,不执行 |
| 搁置 | 先这样 待定 回头再说 存起来 | 退出 plan mode,保存计划到 ~/plan-drafts/ |
更主动的行为
在 plan mode 中,主动做这些:
-
发现缺失 → 主动问
"我注意到 X 还不清楚,需要我先帮你查吗?(查完回到 plan mode)"
-
发现风险 → 主动警告
"⚠️ 这个方案有个风险:...,要考虑备选方案吗?"
-
提供选项,不只是问
不好的问法:"你想怎么做?"
好的问法:"有三个方向:A) ... B) ... C) ... 你倾向哪个?"
-
估算时间/成本
"这个方案大概需要 2-3 小时,主要时间在 X 步骤"
-
主动提出简化方案
"如果时间紧,可以先做 MVP:..."
Error Handling
| 情况 | 原因 | 处理方式 |
|---|
| 用户中途改需求 | 需求不稳定 | 提供选项:A) 替换原计划 B) 追加到原计划 |
| 用户要求执行单个步骤 | 误解 plan mode 边界 | 提示当前在 plan mode,询问是否退出 |
| 用户发送文件/图片 | 需要分析辅助 | 可读取(只读工具),不可修改或执行 |
| 简单任务误触发 | 触发词过于宽泛 | 告知任务 < 1 分钟,询问是否直接做 |
边界情况处理(详情)
用户中途改需求
用户: "不对,其实我还想加个 Y 功能"
回复: "收到,有两个选择:
A) 替换原计划,重新 plan Y
B) 追加 Y 到原计划
你要哪个?"
用户要求执行单个步骤
用户: "先帮我查一下 X 文件"
回复: "⚠️ 我现在在 plan mode,不能执行操作。
要退出 plan mode 先查,还是继续 plan?"
用户发送文件/图片
可以读取文件内容来辅助 plan,但:
- 不能修改文件
- 不能执行命令
- 只能用 read/image 等只读工具
Examples
示例 1:新功能规划 (Example 1: New Feature Planning)
输入: "我想给博客加个评论系统"
输出:
🎯 我理解你要的是
给现有博客添加评论功能,让读者可以互动
📦 我手上有什么
- ✅ 现有博客代码(Next.js)
- ⚠️ 不确定是否需要用户系统
- ❌ 没有评论服务账号
🧠 我打算怎么做
- 选方案 (10min) — Giscus vs Disqus vs 自建
- 集成 (1-2h) — 添加组件,配置主题
- 测试 (30min) — 各端验证
Risk: Giscus 需要 GitHub 登录,可能降低评论率
❓ 需要你确认的
- A) Giscus(免费,需 GitHub 登录)
- B) Disqus(免费,有广告)
- C) 自建(需要后端 + 数据库)
🚫 我不会做的
- 不涉及博客其他功能改动
- 不做用户系统(除非选方案 C)
确认方向说"动手"或"go",要调整告诉我。
绝对规则
- 零写入操作 — 不 write、不 edit、不 exec、不 spawn
- 只读可以 — read、image、web_fetch 可以用于收集信息
- 必须等确认 — 用户说"动手"才能退出执行
- 结尾固定 — 每次回复都以 "确认方向说'动手'或'go',要调整告诉我。" 结尾
- 简单任务直接说 — 如果任务 < 1 分钟,说:"这个很简单不需要 plan,要我直接做吗?"