关于 plan
这是一项任务规划技能,会在运行 `/orient` 并进行一轮 `/brainstorming` 后创建并提交计划文件。它适用于需要明确范围、威胁模型和测试步骤,并将仓库任务交给 `/review` 的场景。
主要功能
- 01检查 worktree 和 `/orient` 前置条件
- 02运行一轮 `/brainstorming`
- 03填写计划模板的全部字段
- 04从 reflog 判断目标分支
- 05在 `/review` 前提交计划
适用场景
- 01为评审准备实现任务
- 02记录具体的实现与测试步骤
- 03为仓库变更选择威胁模型
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ camacho/ ai-skills --skill plan安装后在 Claude Code 中输入/plan确认已加载。
详细介绍
/plan
为当前任务编写计划文件。要求已先运行 /orient。
流程
- 检查前置条件。 确认工作树存在,且 /orient 已识别任务。如果没有,则停止并告知用户。
- 头脑风暴(一轮)。 根据任务描述调用
/brainstorming。只进行一轮——确定方向,不要反复迭代。 - 读取模板。 从仓库根目录读取
ai-workspace/plans/TEMPLATE.md。 - 编写计划。 创建
ai-workspace/plans/<branch-slug>.md,并填写模板中的所有字段:
| 字段 | 填写方式 |
|---|---|
| 分支 | 当前分支名称 |
| 目标分支 | 要合并到的分支。默认值:通过 reflog 父分支检测(见下文),回退到 main。仅在有意更改目标时覆盖。/ship 会读取此字段。 |
| 创建日期 | 今天的日期(YYYY-MM-DD) |
| 状态 | In Progress |
| 威胁模型 | 参见下方的选择表 |
| 范围上限 | 保持模板默认值(软限制 400/6,硬限制 800/10) |
| 任务 | 用 1-3 句话说明做什么以及原因 |
| 步骤 | 具体实施步骤的复选框列表 |
| 置信度脚手架 | adversarial 必填。复杂的 advisory 建议填写。 |
| 结果与经验 | 留空——由 /archive 填写 |
-
提交计划。 在交接给
/review之前暂存并提交计划文件:git -C "$WORKTREE" add ai-workspace/plans/<name>.md git -C "$WORKTREE" commit -m "plan: <name>"这是必需步骤,因为
/review基于已提交的状态工作。如果写完计划后、运行/review前会话崩溃或执行/clear,头脑风暴的成果就会丢失。有关跳过此步骤时的恢复方法,请参阅 ADR-008(refs/wip/checkpoints/<branch>Stop-hook 后备机制)。
检测目标分支
默认目标分支是当前分支创建时所基于的分支,可从 reflog 中读取:
TARGET=$(
git reflog show HEAD --pretty=format:'%gs' \
| grep "^branch: Created from" \
| head -1 \
| sed 's/branch: Created from //' \
| sed 's|^origin/||'
)
TARGET=${TARGET:-main}
如果 reflog 为空(Web 会话、从分离的 HEAD 创建),则回退到 main。用户未明确指定目标分支时,始终使用此方法。纯 Git 操作——无需安装工具,可在任何环境中运行。
威胁模型选择
| 信号 | 模型 |
|---|---|
| 内部工具、重构、文档、测试、配置 | advisory |
| 身份验证、密钥、输入验证、CI、钩子、权限 | adversarial |
| 不确定 | adversarial |
防护规则
- 不要审查计划。这是
/review的工作(步骤 4)。 - 不要开始实施。交付内容就是计划。
- 不要跳过任何模板字段。
- 不要在提交计划文件之前进入
/review。 - 如果头脑风暴发现任务范围只有一句话能说明,请指出这一点并跳过。
- 范围上限数值固定——不要更改。
- 步骤必须是带复选框的具体操作,而不是模糊的阶段。
- 明确列出测试步骤。当测试需要由单独的作者编写(TDD 契约)时,应将测试任务与实施任务分开列出,以便
/build分别分派测试编写者和实施者。
输出
编写完成后,报告:
Plan written: ai-workspace/plans/<name>.md
Threat model: advisory|adversarial
Steps: <count>
Next step: /review
评论
支持 Markdown