name: erk-planning description: > 这个技能记录了 Erk 中计划问题的管理。在创建、更新或处理 erk-plan GitHub 问题时使用。涵盖计划问题结构、规划工作流以及何时更新与创建新问题。
Erk 规划技能
何时加载
当用户提到以下内容时加载此技能:
- “更新计划”、“更新该计划”、“更新问题”
- “修改计划”、“更改计划”
- “编辑问题”、“更新问题”
当这些触发器触发且本会话中保存了计划时:
- 在会话暂存中检查
plan-saved-issue.marker:erk exec marker read --session-id <session-id> plan-saved-issue - 如果找到(退出代码 0),使用标记内容调用
/local:plan-update <issue-number> - 如果未找到(退出代码 1),询问用户问题编号
概述
Erk 计划是跟踪实施计划的 GitHub 问题。它们具有两部分结构:
- 问题正文:机器可读的元数据(时间戳、评论 ID、分发信息)
- 第一条评论:人类可读的计划内容,位于
plan-body元数据块中
这种分离保持了元数据的可解析性,同时计划内容保持可读性。
计划问题结构
问题 #123: "添加功能 X [erk-plan]"
├── 正文(仅元数据):
│ <!-- erk:metadata-block:plan-header -->
│ created_at: 2025-01-05T12:00:00Z
│ created_by: username
│ plan_comment_id: 456789
│ <!-- /erk:metadata-block:plan-header -->
│
│ ## 命令
│ - `erk implement 123`
│ - `erk plan submit 123`
│
└── 评论 #456789(第一条评论,计划内容):
<!-- erk:metadata-block:plan-body -->
<details open><summary>计划</summary>
# 添加功能 X
## 实施步骤
1. 步骤一
2. 步骤二
</details>
<!-- /erk:metadata-block:plan-body -->
快速参考
创建计划问题
在计划模式中编写计划后:
# 通过斜杠命令(推荐)
/erk:plan-save
# 通过 CLI
erk exec plan-save --format display --session-id="<session-id>"
更新现有计划问题
当需要修改已保存到 GitHub 的计划时:
# 通过斜杠命令
/local:plan-update 123
# 通过 CLI
erk exec plan-update-issue --issue-number 123 --session-id="<session-id>"
何时更新 vs 创建新问题:
| 场景 | 操作 |
|---|---|
| 小修正(拼写错误、澄清) | 更新现有 |
| 添加在探索过程中发现的细节 | 更新现有 |
| 计划根本上错误/过时 | 通过 /erk:replan 创建新 |
| 重大范围变更 | 创建新,关闭旧 |
更新工作流
-
获取现有计划(如果不在本地文件中):
gh issue view 123 --comments --json comments从第一条评论中的
plan-body块提取内容。 -
进入计划模式并进行修改
-
更新问题:
/local:plan-update 123 -
可选添加评论解释更改:
gh issue comment 123 --body "更新计划:添加了步骤 3 以处理边缘情况"
计划模式集成
当退出计划模式时,如果存在链接问题(例如从 .impl/issue.json),考虑:
- 更新现有:如果迭代同一计划
- 保存为新:如果这是与链接问题无关的新计划
- 直接实施:如果更改已准备好编码
plan-update-issue 命令从以下位置查找计划内容:
--plan-path标志(明确文件路径)- 会话暂存存储(通过
--session-id) ~/.claude/plans/目录(最新计划文件)
相关命令
| 命令 | 目的 |
|---|---|
/erk:plan-save |
从当前计划创建新计划问题 |
/local:plan-update |
更新现有计划问题 |
/erk:plan-implement |
保存计划并立即实施 |
/erk:replan |
分析并重新创建过时计划 |
erk implement <issue> |
实施保存的计划 |
资源
参考资料/
workflow.md- 带有示例的完整更新工作流