File contents Plan - 主线程规划 + Subagents 辅助调研
$ARGUMENTS
核心协议
语言协议 :与工具交互用英语 ,与用户交互用中文
规划主权 :最终方案选择、计划内容整合、.claude/plan/*.md 写入都由 Claude 主线程完成
按需使用 subagents :仅在任务跨模块、检索范围不清、可拆为多个独立调研子任务时,使用 Agent 工具启动 subagents 辅助调研或方案分析
只读协作 :subagents 仅做检索、阅读、分析,不修改产品代码,不写计划文件
止损机制 :当前阶段输出通过校验前,不进入下一阶段
仅规划 :本命令允许读取上下文与写入 .claude/plan/* 计划文件,但禁止修改产品代码
规划约束
工作目录 :
{{WORKDIR}}:使用当前工作目录的绝对路径作为检索与计划输出根目录
如果用户通过 /add-dir 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区
如果无法确定,用 AskUserQuestion 询问用户选择目标工作区
subagents 使用条件 :
适用:开放式代码库搜索、跨目录/跨模块摸排、需要并行比较多个实现路径
优先:Explore 用于只读检索与结构摸排,Plan 用于方案拆解与实施路线分析
不适用:已知文件路径、单文件小改动、上下文非常明确的简单任务
重要 :
只允许生成和更新 .claude/plan/*.md 计划文件
不允许描述或执行任何第三方工具调用语法
不调用外部模型、后台任务、会话复用或额外 Bash 编排
已委托给 subagents 的检索或分析内容,主线程不要重复执行
最终计划必须由主线程统一收口,禁止直接转发子任务原始输出给用户
执行工作流
规划任务 :$ARGUMENTS
🔍 Phase 1:需求增强与范围收敛
[模式:准备]
分析 $ARGUMENTS 的意图、缺失信息、隐含假设
补全为结构化需求:目标、技术约束、范围边界、验收标准
用增强后的需求替代原始 $ARGUMENTS,作为后续阶段输入
若需求仍有模糊空间,必须向用户提问澄清后再继续
🔎 Phase 2:上下文检索
[模式:研究]
2.1 直接检索(简单场景)
已知关键文件、符号或入口时,主线程直接读取相关文件
优先输出:入口文件 + 行号 + 关键符号名
2.2 subagents 并行调研(复杂场景按需启用)
当任务跨多个模块、搜索范围不明确或预计需要多轮检索时:
使用 Agent 工具在同一轮并行启动多个 subagents
典型拆分方式:
代码路径调研 :定位入口、核心调用链、关键文件
依赖与影响面调研 :识别上下游模块、配置、类型、接口边界
方案分析 :评估 2-3 种可行实现路径及其取舍
subagents 仅返回结论、证据和定位信息
主线程收集结果后再进入下一阶段
2.3 完整性检查
必须获取相关类、函数、变量的必要定义与签名
若上下文不足,继续补充检索直到边界清晰
禁止基于假设直接输出计划
💡 Phase 3:主线程分析与生成计划
[模式:分析]
合并主线程与 subagents 的检索结果
优先选择最简单、改动最小、依赖最少 的可行方案
明确:实施步骤、关键文件、风险点、验证方式
生成并写入 .claude/plan/<功能名>.md 实施计划 :
## 📋 实施计划:<任务名称>
### 任务类型
- [ ] 前端
- [ ] 后端
- [ ] 全栈
### 技术方案
<主线程最终选定的方案>
### 实施步骤
1. <步骤 1> - 预期产物
2. <步骤 2> - 预期产物
...
### 关键文件
| 文件 | 操作 | 说明 |
|------|------|------|
| path/to/file.ts:L10-L50 | 修改 | 描述 |
### 风险与缓解
| 风险 | 缓解措施 |
|------|----------|
⛔ Phase 3 结束:计划交付(非执行)
/ac-plan 的职责到此结束,必须执行以下动作 :
创建并写入 .claude/plan/<功能名>.md
向用户展示完整实施计划
以加粗文本 输出提示(必须使用实际保存的文件路径):
📋 计划已生成并保存至 .claude/plan/实际功能名.md
请审查上述计划,您可以:
🔧 修改计划 :告诉我需要调整的部分,我会更新计划
▶️ 执行计划 :复制以下命令到新会话执行
/ac-execute .claude/plan/实际功能名.md
⚠️ 注意 :上面的 实际功能名.md 必须替换为你实际保存的文件名!**
立即终止当前回复 (Stop here. No more tool calls.)
⚠️ 绝对禁止 :
❌ 问用户 "Y/N" 然后自动执行(执行是 /ac-execute 的职责)
❌ 对产品代码进行任何写操作
❌ 自动调用 /ac-execute 或任何实施动作
❌ 在用户未明确要求修改时继续触发实施类动作
计划保存
规划完成后,将计划保存至:
首次规划 :.claude/plan/<功能名>.md
迭代版本 :.claude/plan/<功能名>-v2.md、.claude/plan/<功能名>-v3.md...
计划文件写入应在向用户展示计划前完成。
计划修改流程
如果用户要求修改计划:
根据用户反馈调整计划内容
更新 .claude/plan/<功能名>.md 文件
重新展示修改后的计划
再次提示用户审查或执行
后续步骤
用户审查满意后,手动 执行:
/ac-execute .claude/plan/<功能名>.md
关键规则
仅规划不实施 – 本命令不执行任何代码变更
主线程写计划 – 产物仅限主线程生成的 .claude/plan/*.md 计划文件
subagents 只做辅助调研 – 按需使用,不默认开启,不直接输出最终计划
不问 Y/N – 只展示计划,让用户决定下一步
禁止会话交接 – 计划中不得包含任何外部会话标识或要求会话交接的内容
1 --- 2 name: ac-plan 3 description: 检索上下文并生成可执行实施计划。 4 --- 5 6 # Plan - 主线程规划 + Subagents 辅助调研 7 8 $ARGUMENTS 9 10 --- 11 12 ## 核心协议 13 14 - **语言协议**:与工具交互用**英语**,与用户交互用**中文** 15 - **规划主权**:最终方案选择、计划内容整合、`.claude/plan/*.md` 写入都由 Claude 主线程完成 16 - **按需使用 subagents**:仅在任务跨模块、检索范围不清、可拆为多个独立调研子任务时,使用 `Agent` 工具启动 subagents 辅助调研或方案分析 17 - **只读协作**:subagents 仅做检索、阅读、分析,不修改产品代码,不写计划文件 18 - **止损机制**:当前阶段输出通过校验前,不进入下一阶段 19 - **仅规划**:本命令允许读取上下文与写入 `.claude/plan/*` 计划文件,但**禁止修改产品代码** 20 21 --- 22 23 ## 规划约束 24 25 **工作目录**: 26 - `{{WORKDIR}}`:使用当前工作目录的绝对路径作为检索与计划输出根目录 27 - 如果用户通过 `/add-dir` 添加了多个工作区,先用 Glob/Grep 确定任务相关的工作区 28 - 如果无法确定,用 `AskUserQuestion` 询问用户选择目标工作区 29 30 **subagents 使用条件**: 31 - 适用:开放式代码库搜索、跨目录/跨模块摸排、需要并行比较多个实现路径 32 - 优先:`Explore` 用于只读检索与结构摸排,`Plan` 用于方案拆解与实施路线分析 33 - 不适用:已知文件路径、单文件小改动、上下文非常明确的简单任务 34 35 **重要**: 36 - 只允许生成和更新 `.claude/plan/*.md` 计划文件 37 - 不允许描述或执行任何第三方工具调用语法 38 - 不调用外部模型、后台任务、会话复用或额外 Bash 编排 39 - 已委托给 subagents 的检索或分析内容,主线程不要重复执行 40 - 最终计划必须由主线程统一收口,禁止直接转发子任务原始输出给用户 41 42 --- 43 44 ## 执行工作流 45 46 **规划任务**:$ARGUMENTS 47 48 ### 🔍 Phase 1:需求增强与范围收敛 49 50 `[模式:准备]` 51 52 1. 分析 $ARGUMENTS 的意图、缺失信息、隐含假设 53 2. 补全为结构化需求:目标、技术约束、范围边界、验收标准 54 3. 用增强后的需求替代原始 $ARGUMENTS,作为后续阶段输入 55 4. 若需求仍有模糊空间,必须向用户提问澄清后再继续 56 57 ### 🔎 Phase 2:上下文检索 58 59 `[模式:研究]` 60 61 #### 2.1 直接检索(简单场景) 62 63 - 已知关键文件、符号或入口时,主线程直接读取相关文件 64 - 优先输出:入口文件 + 行号 + 关键符号名 65 66 #### 2.2 subagents 并行调研(复杂场景按需启用) 67 68 当任务跨多个模块、搜索范围不明确或预计需要多轮检索时: 69 70 1. 使用 `Agent` 工具在同一轮并行启动多个 subagents 71 2. 典型拆分方式: 72 - **代码路径调研**:定位入口、核心调用链、关键文件 73 - **依赖与影响面调研**:识别上下游模块、配置、类型、接口边界 74 - **方案分析**:评估 2-3 种可行实现路径及其取舍 75 3. subagents 仅返回结论、证据和定位信息 76 4. 主线程收集结果后再进入下一阶段 77 78 #### 2.3 完整性检查 79 80 - 必须获取相关类、函数、变量的必要定义与签名 81 - 若上下文不足,继续补充检索直到边界清晰 82 - 禁止基于假设直接输出计划 83 84 ### 💡 Phase 3:主线程分析与生成计划 85 86 `[模式:分析]` 87 88 1. 合并主线程与 subagents 的检索结果 89 2. 优先选择**最简单、改动最小、依赖最少**的可行方案 90 3. 明确:实施步骤、关键文件、风险点、验证方式 91 4. 生成并写入 **`.claude/plan/<功能名>.md` 实施计划**: 92 93 ```markdown 94 ## 📋 实施计划:<任务名称> 95 96 ### 任务类型 97 - [ ] 前端 98 - [ ] 后端 99 - [ ] 全栈 100 101 ### 技术方案 102 <主线程最终选定的方案> 103 104 ### 实施步骤 105 1. <步骤 1> - 预期产物 106 2. <步骤 2> - 预期产物 107 ... 108 109 ### 关键文件 110 | 文件 | 操作 | 说明 | 111 |------|------|------| 112 | path/to/file.ts:L10-L50 | 修改 | 描述 | 113 114 ### 风险与缓解 115 | 风险 | 缓解措施 | 116 |------|----------| 117 ``` 118 119 ### ⛔ Phase 3 结束:计划交付(非执行) 120 121 **`/ac-plan` 的职责到此结束,必须执行以下动作**: 122 123 1. 创建并写入 `.claude/plan/<功能名>.md` 124 2. 向用户展示完整实施计划 125 3. 以**加粗文本**输出提示(必须使用实际保存的文件路径): 126 127 --- 128 **📋 计划已生成并保存至 `.claude/plan/实际功能名.md`** 129 130 **请审查上述计划,您可以:** 131 - 🔧 **修改计划**:告诉我需要调整的部分,我会更新计划 132 - ▶️ **执行计划**:复制以下命令到新会话执行 133 134 ``` 135 /ac-execute .claude/plan/实际功能名.md 136 ``` 137 --- 138 139 **⚠️ 注意**:上面的 `实际功能名.md` 必须替换为你实际保存的文件名!** 140 141 4. **立即终止当前回复**(Stop here. No more tool calls.) 142 143 **⚠️ 绝对禁止**: 144 - ❌ 问用户 "Y/N" 然后自动执行(执行是 `/ac-execute` 的职责) 145 - ❌ 对产品代码进行任何写操作 146 - ❌ 自动调用 `/ac-execute` 或任何实施动作 147 - ❌ 在用户未明确要求修改时继续触发实施类动作 148 149 --- 150 151 ## 计划保存 152 153 规划完成后,将计划保存至: 154 155 - **首次规划**:`.claude/plan/<功能名>.md` 156 - **迭代版本**:`.claude/plan/<功能名>-v2.md`、`.claude/plan/<功能名>-v3.md`... 157 158 计划文件写入应在向用户展示计划前完成。 159 160 --- 161 162 ## 计划修改流程 163 164 如果用户要求修改计划: 165 166 1. 根据用户反馈调整计划内容 167 2. 更新 `.claude/plan/<功能名>.md` 文件 168 3. 重新展示修改后的计划 169 4. 再次提示用户审查或执行 170 171 --- 172 173 ## 后续步骤 174 175 用户审查满意后,**手动**执行: 176 177 ```bash 178 /ac-execute .claude/plan/<功能名>.md 179 ``` 180 181 --- 182 183 ## 关键规则 184 185 1. **仅规划不实施** – 本命令不执行任何代码变更 186 2. **主线程写计划** – 产物仅限主线程生成的 `.claude/plan/*.md` 计划文件 187 3. **subagents 只做辅助调研** – 按需使用,不默认开启,不直接输出最终计划 188 4. **不问 Y/N** – 只展示计划,让用户决定下一步 189 5. **禁止会话交接** – 计划中不得包含任何外部会话标识或要求会话交接的内容
yz0812/ai-dev-toolkit/tree/main/skills/ac-plan commit 31ae579131
Frequently asked questions How do I install the Ac Plan skill? Run npx skillmds@latest add yz0812/ac-plan in your terminal (requires Node.js), paste this page's agent-chat prompt into Claude, Cursor, or any MCP-connected agent, or download the SKILL.md file and copy it into your agent's skills directory.
What does the Ac Plan skill do? 检索上下文并生成可执行实施计划。 It is listed under Coding & Dev Tools on SkillMD.
Is Ac Plan safe to use? This skill has not completed SkillMD's automated safety review yet. SkillMD never runs a skill's scripts for you; review the SKILL.md before installing.
Which AI agents work with Ac Plan? This skill is tagged as working with Claude Code, Claude.ai, OpenAI Codex. SKILL.md is an open format, so most agents that read a skills directory can load it too.
Is Ac Plan free to use? Yes. Installing skills from SkillMD is free, and the skill stays under its author's original license.
Who published Ac Plan? yz0812 (@yz0812) published this skill. Their other Agent Skills are listed on their SkillMD profile.