fix: write plans before review and summarize in chat

This commit is contained in:
mujing
2026-09-10 10:58:13 +08:00
parent 4171713a9c
commit a406fd34e5
3 changed files with 9 additions and 9 deletions
+4 -4
View File
@@ -28,11 +28,11 @@ npx -y skills add ssh://git@gitea.fjy8018.top:8022/fjy8018/coding-skills.git --s
本次保留现有接口格式。讨论资产放到 /绝对路径/工程讨论。 本次保留现有接口格式。讨论资产放到 /绝对路径/工程讨论。
``` ```
Agent 先调查再提问,纠正有证据的错误判断,每轮维护精简的当前决策。范围明显变大时,会提出分阶段建议供用户选择。关键问题解决后,展示完整计划,由用户确认后保存 Agent 先调查再提问,纠正有证据的错误判断,每轮维护精简的当前决策。范围明显变大时,会提出分阶段建议供用户选择。关键问题解决后,先将完整计划写入文件并标为“待确认”,对话只给简短摘要和文件链接。用户自行读取文件审阅,确认后将该版本标为已批准
计划列出修改文件、目标、原因和验收要求,不预写详细实现代码。核心算法可附少量代码或伪代码帮助审查;具体实现由执行 agent 在已批准的行为和架构边界内自主决定。 计划列出修改文件、目标、原因和验收要求,不预写详细实现代码。核心算法可附少量代码或伪代码帮助审查;具体实现由执行 agent 在已批准的行为和架构边界内自主决定。
后自行开启新会话,指定保存的计划: 审阅确认后自行开启新会话,指定已批准的计划:
```text ```text
使用 execute-plan 执行 /绝对路径/工程讨论/2026-09-10-pagination-fix/plan-v1.md 使用 execute-plan 执行 /绝对路径/工程讨论/2026-09-10-pagination-fix/plan-v1.md
@@ -53,11 +53,11 @@ Agent 先调查再提问,纠正有证据的错误判断,每轮维护精简
CONTEXT.md 跨计划的业务与设计约束及原因 CONTEXT.md 跨计划的业务与设计约束及原因
日期-计划主题/ 日期-计划主题/
current.md 当前目标、确认决策、约束与未决问题 current.md 当前目标、确认决策、约束与未决问题
plan-v1.md 已确认、自包含计划 plan-v1.md 自包含计划,先待确认、审阅批准后冻结
execution-日期时间.md 实施与验证记录 execution-日期时间.md 实施与验证记录
``` ```
新的批准版本另存。当前决策随讨论更新,不累计聊天全文;执行记录不能覆盖已批准计划。目录失效或无法写入时会报告,不自行改存代码库。个人绝对路径不写入可分发的 skill。 待确认计划可按反馈修改,并提供变化摘要与链接重新审阅;已批准计划的实质修订另存新版本,确认后再执行。完整计划默认只在文件中提供,写入成功不代表已批准。当前决策随讨论更新,不累计聊天全文;执行记录不能覆盖已批准计划。目录失效或无法写入时会报告,不自行改存代码库。个人绝对路径不写入可分发的 skill。
两个 skill 在确定资产根目录后都先读取 `CONTEXT.md`,再针对本次目标核实相关代码;新会话或上下文恢复时同样读取,无需扫描历史计划。根目录默认对应一个系统;若文档属于其他系统,先澄清。用户只指定计划目录时,保留已知系统根目录,未知则询问,不推断父目录。 两个 skill 在确定资产根目录后都先读取 `CONTEXT.md`,再针对本次目标核实相关代码;新会话或上下文恢复时同样读取,无需扫描历史计划。根目录默认对应一个系统;若文档属于其他系统,先澄清。用户只指定计划目录时,保留已知系统根目录,未知则询问,不推断父目录。
+4 -4
View File
@@ -25,7 +25,7 @@ description: 通过代码调查和每轮 1–3 个问题对齐工程目标,纠
``` ```
写入前检查 MEMORY 是否被 Git 跟踪;已跟踪则说明与“不提交本地记忆”的冲突,先解决冲突,不自行取消跟踪。未跟踪时在 `git rev-parse --git-path info/exclude` 指向的本地排除文件中幂等加入 `/.agent/MEMORY.md`,不改共享 `.gitignore`。非 Git 项目仍保留本地记忆,并说明当前无法设置 Git 排除。 写入前检查 MEMORY 是否被 Git 跟踪;已跟踪则说明与“不提交本地记忆”的冲突,先解决冲突,不自行取消跟踪。未跟踪时在 `git rev-parse --git-path info/exclude` 指向的本地排除文件中幂等加入 `/.agent/MEMORY.md`,不改共享 `.gitignore`。非 Git 项目仍保留本地记忆,并说明当前无法设置 Git 排除。
5. 严格使用用户指定目录作为资产根目录,可直接在其中建立 `<日期-计划主题>/`,不再插入项目名、系统名等中间目录。若用户已指定本次计划目录,直接使用,不再次嵌套。恢复同一计划时复用已有目录;新计划名称冲突时只调整计划目录名,不覆盖其他计划。核心文件为 `current.md` 和确认后生成的 `plan-v1.md`;后续确认版本另存,不覆盖旧批准版本。 5. 严格使用用户指定目录作为资产根目录,可直接在其中建立 `<日期-计划主题>/`,不再插入项目名、系统名等中间目录。若用户已指定本次计划目录,直接使用,不再次嵌套。恢复同一计划时复用已有目录;新计划名称冲突时只调整计划目录名,不覆盖其他计划。核心文件为 `current.md` 和先写入待确认内容的 `plan-v1.md`用户审阅确认后冻结该版本,后续版本另存,不覆盖旧批准版本。
每份生成资产(当前决策、计划、实施记录及其他讨论文档,包括 MEMORY)顶部使用下方模板中的 YAML frontmatter,按顺序包含 `系统`、`时间`、`目标`,不使用 HTML 注释。系统填写项目或系统名称,目标用一句话概括该资产对应的目标;无法确定的字段留空,不编造。时间采用用户当地的 `YYYY-MM-DD` 日期,表示该资产所依据决策的日期;尚无确认决策的草稿先记创建日期,正文仍标记待确认。确认或新决策改变当前资产内容时更新日期;纯排版、补证据或执行进度更新不改变决策日期。已批准计划保留原日期,新版本记录新确认日期;实施记录使用其所依据的计划决策日期。字段值包含 YAML 特殊字符时使用引号,保证元数据可解析。 每份生成资产(当前决策、计划、实施记录及其他讨论文档,包括 MEMORY)顶部使用下方模板中的 YAML frontmatter,按顺序包含 `系统`、`时间`、`目标`,不使用 HTML 注释。系统填写项目或系统名称,目标用一句话概括该资产对应的目标;无法确定的字段留空,不编造。时间采用用户当地的 `YYYY-MM-DD` 日期,表示该资产所依据决策的日期;尚无确认决策的草稿先记创建日期,正文仍标记待确认。确认或新决策改变当前资产内容时更新日期;纯排版、补证据或执行进度更新不改变决策日期。已批准计划保留原日期,新版本记录新确认日期;实施记录使用其所依据的计划决策日期。字段值包含 YAML 特殊字符时使用引号,保证元数据可解析。
@@ -66,7 +66,7 @@ description: 通过代码调查和每轮 1–3 个问题对齐工程目标,纠
当目标、边界、关键实现选择和验收都明确,且没有影响实施的未决问题时停止提问。不为凑问题继续访谈。 当目标、边界、关键实现选择和验收都明确,且没有影响实施的未决问题时停止提问。不为凑问题继续访谈。
展示完整候选计划,一次让用户确认。计划以文件的修改目标、原因和验收要求为主,不写完整函数、逐行补丁或详细实现代码。仅当核心算法需要代码帮助用户审查时,保留少量代码或伪代码片段,并说明其表达的算法约束;片段不是必须照抄的实现。具体编码、内部组织等细节交给执行 agent 在已批准边界内决策,不把缺少详细代码当作计划未完成。 先将完整候选计划写入计划文件,状态标为“待确认”,供用户自行打开审阅;不等确认后才落盘,也不在对话中粘贴全文。计划以文件的修改目标、原因和验收要求为主,不写完整函数、逐行补丁或详细实现代码。仅当核心算法需要代码帮助用户审查时,保留少量代码或伪代码片段,并说明其表达的算法约束;片段不是必须照抄的实现。具体编码、内部组织等细节交给执行 agent 在已批准边界内决策,不把缺少详细代码当作计划未完成。
计划至少包含以下信息,简单任务可合并段落,不填充无意义章节: 计划至少包含以下信息,简单任务可合并段落,不填充无意义章节:
@@ -104,8 +104,8 @@ description: 通过代码调查和每轮 1–3 个问题对齐工程目标,纠
必要环境和依赖;无法验证的部分不能伪装为通过。 必要环境和依赖;无法验证的部分不能伪装为通过。
``` ```
确认前自查:新会话是否还需要聊天历史才能理解,是否有占位符、互相矛盾的决定、漏写的文件目的或隐含的业务变化。修复事实遗漏;涉及新决策则回到提问。 写入后重新读取文件自查:新会话是否还需要聊天历史才能理解,是否有占位符、互相矛盾的决定、漏写的文件目的或隐含的业务变化。修复事实遗漏;涉及新决策则回到提问。确认保存成功后,对话只提供简短摘要(目标、主要改动范围、重要影响与验证方式)、计划文件的绝对路径链接和待确认状态,提示用户阅读文件后确认。除非用户明确要求,不重复展示完整计划。文件不可写或宿主禁止落盘时如实说明,不宣称已保存或以全文刷屏代替文件。
用户确认完整候选计划后,保存对应内容并记录真实确认依据,不能把未展示的新内容夹入已批准版本。实质变化另行展示、确认并保存新版本。最终计划必须自包含,不要求执行者继续读取访谈记录。 用户确认所链接文件的当前版本后,更新该文件的状态、确认日期及真实确认依据,冻结已审阅的内容;摘要或写入成功不等于批准。用户要求修改时,先修改待确认文件,再给变化摘要与链接供审阅;已批准计划的实质变化必须另存待确认的新版本,不覆盖旧版本或夹入未审阅的新内容。最终计划必须自包含,不要求执行者继续读取访谈记录。
提供已保存计划的绝对路径,以及新会话提示词:`使用 execute-plan 执行 /绝对路径/plan-v1.md`。结束本次规划,不自动调用执行 skill。新会话是使用约定,不能声称已替用户清空上下文。 提供已保存计划的绝对路径,以及新会话提示词:`使用 execute-plan 执行 /绝对路径/plan-v1.md`。结束本次规划,不自动调用执行 skill。新会话是使用约定,不能声称已替用户清空上下文。
+1 -1
View File
@@ -42,7 +42,7 @@ description: 在新会话中读取用户指定的已确认工程计划,按范
- 根据计划中的文件修改目标、原因和验收要求,自主决定具体实现代码、内部组织和局部实现方式;计划不需要包含详细代码,不因缺少代码而要求用户补齐。核心算法片段用于理解已批准算法约束,可采用满足同一约束的实现,不要求逐字照抄。 - 根据计划中的文件修改目标、原因和验收要求,自主决定具体实现代码、内部组织和局部实现方式;计划不需要包含详细代码,不因缺少代码而要求用户补齐。核心算法片段用于理解已批准算法约束,可采用满足同一约束的实现,不要求逐字照抄。
- 在批准范围内自主解决实现细节、修复本任务引入的问题,不每一步都索要许可;实现自由度不改变已批准的业务、接口、架构与范围约束。 - 在批准范围内自主解决实现细节、修复本任务引入的问题,不每一步都索要许可;实现自由度不改变已批准的业务、接口、架构与范围约束。
- 可补充达成已批准目标所必需的测试或配置文件,在实施记录中说明文件、原因及对应验收条件。文件扩展不能成为更改业务行为、公共接口、架构、升级依赖或扩大验收范围的借口。 - 可补充达成已批准目标所必需的测试或配置文件,在实施记录中说明文件、原因及对应验收条件。文件扩展不能成为更改业务行为、公共接口、架构、升级依赖或扩大验收范围的借口。
- 其他未计划的文件改动或实质范围变化,先展示所需变化与原因,取得确认后保存补充计划或新版本,再继续受影响工作。保留原批准版本,不为解释已发生的越界改动而重写计划。 - 其他未计划的文件改动或实质范围变化,先将补充计划或新版本写入文件并标为待确认,对话只给变化摘要、原因和文件绝对路径链接,不粘贴全文。用户审阅确认该版本后记录批准,再继续受影响工作。保留原批准版本,不为解释已发生的越界改动而重写计划。
- 发现无关问题时只在记录中注明“本次未处理”;不要顺手重构、清理、格式化整个仓库或修复旁支问题。 - 发现无关问题时只在记录中注明“本次未处理”;不要顺手重构、清理、格式化整个仓库或修复旁支问题。
- 记录任务进度、必要配套文件、验证命令和结果。恢复会话或上下文压缩后重新读取 CONTEXT、原计划与实施记录,不从聊天印象续做。 - 记录任务进度、必要配套文件、验证命令和结果。恢复会话或上下文压缩后重新读取 CONTEXT、原计划与实施记录,不从聊天印象续做。