Files
coding-skills/skills/align-plan/SKILL.md
T

5.1 KiB

name, description
name description
align-plan 通过调查和多轮问答对齐工程目标,生成待审阅计划。用于实施前明确需求、约束与范围;不实施代码。

对齐目标并生成计划

先调查、再决策;产出新会话仅凭计划和代码库即可执行的文件。

定位与资产

  • 读取项目约束、Git 状态和 .agent/MEMORY.md。资产根目录优先用用户本次明确指定位置,否则复用已有定位;没有则在首轮询问,期间可只读调查。
  • 根目录默认在代码库外,一目录对应一系统。计划可存于根目录下的 <日期-计划主题>/,不插入项目层;已指定计划目录则直接使用。根目录未知时询问,不推断父目录;系统不符或位置冲突先澄清。复用同一计划目录,新计划避免覆盖同名目录。
  • MEMORY 仅记录 讨论资产目录:<绝对根目录> 等定位,保留其他内容。写入前检查是否已被 Git 跟踪:已跟踪则先解决冲突,不自行取消跟踪;否则在 git rev-parse --git-path info/exclude 中幂等加入 /.agent/MEMORY.md,不改共享忽略规则。非 Git 项目说明无法排除。
  • 规划只写讨论资产及必要定位信息。目录不可用或宿主禁止写入时报告,不回退代码目录、不宣称已保存。

所有生成资产(含 MEMORY)以此 YAML 开头,未知字段留空,特殊值加引号:

---
系统: 系统名称
时间: YYYY-MM-DD
目标: 资产对应目标
---

时间使用用户当地决策日期;草稿先记创建日期、确认后更新,进度与排版不改日期。

系统约束与讨论状态

先读根目录 CONTEXT.md,再调查相关代码;不扫描历史计划。首次无 CONTEXT 时,从首条已确认长期约束开始创建。

  • CONTEXT.md:只按业务约束、技术约束记录当前有效规则,可注明适用模块及必要原因。确认且无需实施的约束直接更新;尚未生效的改造只留在当前讨论和计划中。冲突先确认,替换时删除废弃内容,不保留决策过程、历史计划路径、任务、代码、日志或局部实现偏好。目标为“保存系统当前业务与技术约束”,时间为最近确认决策日期。
  • <计划目录>/current.md:每轮更新目标、验收、确认决策与原因、事实来源、约束、不做事项、未确认假设和问题;删除失效内容,不累计讨论历史。
  • 新会话、压缩恢复或出现矛盾时重读 CONTEXT、当前状态和相关代码;其余时候复用无变化内容。确认状态以真实回答为准,沉默和推荐都不算批准。

调查与提问

  • 先查相关代码、调用链和测试。仅为当前决策查证开源实现或官方资料,保留来源和必要版本;无法查证的事实标为待验证。
  • 每轮共 1–3 个影响目标、验收或取舍的问题,不能用子问题变相扩充。可查事实不问用户,依赖未决答案的问题后置;有提问工具则使用,否则直接问。
  • 简述证据与推荐理由,不用装饰性 emoji。纠正错误事实,区分假设与偏好;用户提出想法不等于确认方案。
  • 优先复用现有能力,选择满足目标的最小方案。出现独立子目标或明显扩大的改造时,说明扩大点、建议分阶段,由用户选择;未确认前保持原范围。
  • 目标、边界、关键取舍和验收明确后停止提问。

写入、审阅与交接

只维护 <计划目录>/plan.md,先写入并标为“待确认”;修订覆盖同一文件,只描述最新方案,不保留版本副本、旧方案或变更历史。正文自包含,可合并章节,但须有:

  1. 定位:项目及必要仓库标识、资产根目录与 CONTEXT 绝对路径、Git 基线(无提交则注明)、相关工作区变化、确认状态/依据。
  2. 目标与决策:原始目标、当前/目标行为、保留行为、不做事项;决策理由、业务/接口/架构变化或不变;相关系统约束快照及状态、已确认假设。
  3. 修改范围:新增/修改/删除的文件、各自目标和原因、必要依赖顺序及对应验收。允许必要测试/配置配套文件并记录,其他范围变化重新确认。
  4. 验证:验收条件、对应测试、运行目录/命令/预期结果与必要环境。

不预写详细实现代码;仅核心算法可附少量审查片段,执行 agent 可自主选择满足已批准约束的实现。

写完重读,检查遗漏、矛盾及隐含决策;缺关键决定则继续提问。确认文件可读后,对话只给目标、范围、重要影响与验证摘要,以及文件绝对路径链接,供用户阅读确认;除非用户要求,不贴全文。

用户确认当前文件内容后记录批准依据与日期。实质修订直接更新 plan.md,清除旧批准依据并重置为待确认,再给摘要与链接;重新确认前不执行变化。写入或摘要不代表批准。

确认后给出新会话提示:使用 execute-plan 执行 /绝对路径/plan.md,结束规划。不要自动实施或声称已清空上下文。