项目交接
创建一份当前快照,让新代理无需对话即可继续工作。请勿自行清除对话。
1. 确定目标目录
在编写之前确定交接目标:
- 优先使用调用时明确提供的目录。将其标准化并验证其存在。
- 否则,根据此会话中实际讨论、读取、创建或编辑的目录和文件来推断候选目录。
- 仅将当前工作目录、Codex 工作区根目录、版本控制根目录以及
README.md、AGENTS.md、package.json或pyproject.toml等项目标记作为参考信号。没有任何一个信号本身具有权威性,且项目不必使用 Git。 - 仅当会话证据明确支持一个候选目录时,才直接进行而不提问。
- 如果目标目录缺失或不明确,则展示可能的候选目录并问一个简洁的问题:
HANDOFF.md 要写到哪个目录?不要猜测。
如果多个独立项目被修改,则优先为每个项目分别创建 HANDOFF.md,并在编写前确认它们的目标目录。
2. 检查实际状态
在确定每个目标目录后:
- 审查相关的会话工作,并检查目标目录的结构、说明、关键文档、实现文件和输出。
- 如果存在版本控制,则检查其状态和相关更改。如果没有,则继续进行,不将其视为错误。
- 使用已有的测试或验证证据。只在有用时运行轻量级的安全检查;不要安装依赖或对项目进行不相关的更改。
- 在更新现有的
HANDOFF.md之前,先阅读它。保留仍然有效的信息,替换过时的状态,并将已完成的工作移出剩余工作部分。
当文件系统证据可用时,不要仅依赖对话记忆。
3. 编写 HANDOFF.md
在 <已确认的目标目录>/HANDOFF.md 中创建或更新一份简洁的当前状态文档,包含以下部分:
# 项目交接
> 更新日期:YYYY-MM-DD
> 目标:/absolute/confirmed/path
## 当前状态与结构
## 已完成案例
## 决策与约定
## 剩余工作与下一步确切操作
## 陷阱与死胡同
## 验证、风险与未解决问题
应用以下规则:
- 针对已完成案例,给出具体的成果以及相对于项目的文件或目录路径。
- 记录决策、技术选择、样式或命名约定及其原因。在有用时包含证据位置。
- 使剩余工作可操作:包括优先级、确切的起始文件或命令、障碍以及完成条件。
- 记录失败的方法及其失败原因,以便下一个代理不会重复。
- 说明已经运行的测试或检查及其结果。明确指出哪些内容尚未验证。
- 区分观察到的事实与会话中的说法和推断。将不确定性标记为
待确认;切勿捏造完成情况、决策或测试结果。 - 使用绝对日期、简洁的散文和路径,而不是转录风格的叙述。
- 切勿包含凭据、令牌、私人个人信息、环境文件内容或大量原始日志。
- 保持文件为最新的交接快照,而不是仅追加的历史记录。
除非用户明确要求其他更改,否则仅修改预期的 HANDOFF.md。
4. 验证并汇报
重新阅读完成的文件,确认:
- 它位于已确认的目录中;
- 每个必需的部分都已存在;
- 下一步操作足够具体,新代理可以立即开始;
- 声明、路径、日期和验证状态与可用证据一致;
- 没有敏感信息被复制到文档中。
报告写入的路径、简要摘要以及任何未解决的不确定性。在此处停止,以便用户可以在手动运行 /clear 之前审查交接文档。