name: goal-progress-anchor description: 当复杂任务会跨多轮推进、容易偏航、容易遗忘原始目标或在讨论中逐步滑向新问题时使用。通过一个极短的 goal-progress 文件和回复计数器,强制周期性重新对齐目标、边界与下一步。
Goal Progress Anchor
概述
这个 skill 用来防止长链路任务中的目标漂移。
核心机制只有两样:
- 一个极短的
goal-progress.md - 一个回复计数器
目标不是多记笔记,而是定期强制回到“原始目标、明确边界、当前下一步”。
何时使用
满足任一条件就应使用:
- 任务跨多轮或多阶段
- 已经出现目标漂移或范围漂移风险
- 用户明确要求“不要忘记原始目标”
- 已开始讨论新的抽象、新概念或新方向
- 复杂任务预计会经历上下文压缩、交接或长时间推进
落点
默认写到当前活跃迭代目录下:
docs/logs/<iteration>/work/goal-progress.md
若当前不应创建迭代目录,则不要为了这个 skill 单独新建迭代。
文件约束
- 强制单文件,不拆分
- 强制短小,默认不超过
50行 - 无论如何不得超过
100行
推荐只保留这几块:
- 当前目标
- 明确非目标
- 冻结边界 / 不变量
- 已完成进展
- 当前下一步
- 锚点计数器
计数器机制
- 每次有效工作回复后,计数器
+1 - 用户可见回复中在前缀后追加:
[锚点 n/20] - 当计数器达到
20时,必须先重新读取goal-progress.md - 读取后先用极短文字重述一次:
- 当前目标
- 当前禁止偏离的边界
- 当前下一步
- 然后把计数器重置为
0
偏航强制触发
即使未到 20,只要出现以下任一信号,也必须立即重新读取 goal-progress.md 并重述目标:
- 用户指出“偏了”“不是这个目标”“别造轮子”
- 开始讨论新的抽象层或新的核心概念
- 开始重写现有机制而不是整理/迁移既有逻辑
- 连续多轮在讨论方案,但没有推进原目标
维护原则
goal-progress.md只保留当前真相,不写历史流水账- 过期结论直接替换,不堆版本噪音
- 若文件超过
50行,默认先删减和压缩 - 若接近
100行仍收不住,说明写法已经失败,必须重写整份文件
完成标准
只有同时满足以下条件,才算这个 skill 真正生效:
- 任何时候都能在几十行内看懂“现在到底要做什么”
- 达到阈值或偏航时会强制回看目标,而不是继续顺势跑偏
- 回复中的计数器与文件中的当前状态保持一致