这是我之前常用的:文件用于减少 AI 在本项目中的常见执行失误。规则应与任务规模相称:简单任务直接完成,复杂或长期任务再启用正式规划与恢复机制。

[](https://linux.do#p-23034532-h-1-1)1. 先理解,再行动


先确认用户要解决的问题、范围和成功标准。
会实质改变结果的假设要明确说明;低风险细节可采用合理默认值继续推进。
存在多个重要解释且无法从本地上下文判断时,再向用户确认。
如果有更简单且同样满足要求的方案,应直接指出。

[](https://linux.do#p-23034532-h-2-2)2. 简单优先


只实现用户要求的功能,不添加预设性扩展。
不为一次性需求设计通用框架或额外配置层。
不修改无关代码、注释、格式或目录结构。
不重构没有阻碍当前任务的代码。
每一处改动都应能追溯到当前请求。

[](https://linux.do#p-23034532-h-3-3)3. 尊重现有状态


先检查相关文件、现有约定和未提交改动,再开始修改。
用户已有改动不属于清理对象;只有当前改动造成的无用导入、变量或文件才随手清理。
发现无关问题时可以报告,但不要擅自修复。
不执行提交、推送、发布、部署或外部消息发送,除非用户明确授权。

[](https://linux.do#p-23034532-h-4-4)4. 以可验证目标驱动


把任务转换为可检查的结果,例如:

“增加校验” → 明确非法输入的预期行为,并验证结果。
“修复 Bug” → 先复现问题,再修复并验证原始症状。
“重构” → 确认关键行为在重构前后保持一致。

多步骤任务可先给出简短计划,并为每一步注明验证方式。不要为简单的一次性修改创建正式计划文件。

[](https://linux.do#p-23034532-h-5-5)5. 项目上下文与唯一来源


只有长期、多阶段或需要跨窗口恢复的任务才需要把状态固定到磁盘。使用时,每类信息只能有一个权威来源:

.planning/PROJECT.md:项目目标、边界和核心背景。
.planning/REQUIREMENTS.md:稳定需求及其标识。
.planning/ROADMAP.md:阶段划分和需求映射。
.planning/STATE.md:当前阶段、当前权威计划路径和下一安全动作。
.planning/phases/<phase>/*-PLAN.md:对应阶段唯一的可执行计划。
HANDOFF.json:可选的窗口恢复提示,只记录立即下一步和关键约束,不拥有需求或计划。
.codex/runs/...:可选的执行证据、调查发现和失败记录,不拥有需求或计划。
代码、测试和构建结果:当前实际行为的最终依据。

不要创建 task_plan.md、todo.md 或其他与当前 GSD 计划竞争的计划文件。历史日志和知识文件只能作为参考,不能覆盖当前用户指令、权威计划或实际代码行为。

更新时机:

当前执行 slice 改变时,更新 .planning/STATE.md
暂停或切换任务前,更新 HANDOFF.json
出现新的长期方向变化时,更新 PROJECT.md 或 ROADMAP.md

[](https://linux.do#p-23034532-h-6-gsd-6)6. GSD 的使用边界


以下情况才使用 GSD:

用户明确要求使用 GSD。
项目已有激活的 GSD 阶段计划,需要继续执行。
任务跨越多个阶段,且正式需求、路线图和验证循环能明显降低风险。

简单修复、一次性编辑、只读分析或小范围配置修改不强制初始化 GSD。

启用 GSD 时:

.planning/STATE.md 必须指向当前 .planning/phases/<phase>/*-PLAN.md。
同一时间只维护一个当前阶段和一份权威执行计划。
阶段或下一安全动作发生实质变化时再更新 STATE.md,不要在每个工具调用后写状态。
缺少必要的 GSD 上下文时,补齐或请求所需信息,不要另建一套计划体系。

[](https://linux.do#p-23034532-h-7-7)7. 恢复顺序


仅在上下文丢失、窗口重开或用户要求继续长期任务时,按存在情况读取:

AGENTS.md
HANDOFF.json
.planning/STATE.md
STATE.md 指向的当前 *-PLAN.md
与当前步骤直接相关的代码、测试和构建结果
明确被前述文件引用的 .codex/runs/...、.claude/knowledge/... 或 docs/daily_log/...

不要无差别读取全部历史日志、会话记录或知识库。若恢复文件互相矛盾,先以当前用户指令和实际代码为准,再整理状态文件。

[](https://linux.do#p-23034532-h-8-8)8. 验证与交接


验证强度与变更风险相匹配,不全局强制 TDD、固定覆盖率或所有测试类型。
声称完成、修复或通过前,运行能够直接证明该结论的检查。
小任务完成后直接汇报结果,不自动创建日志、知识条目或交接文件。
长任务暂停、切换窗口或需要他人续接时,才更新 HANDOFF.json;当前阶段变化时再同步更新 .planning/STATE.md。
最终交接应说明完成内容、验证结果、剩余限制和下一步,而不是复制整段执行历史。