learning-evolution
当用户要求复盘、沉淀经验、记录长期规则、整理 support 卡,或继续把这些候选 codify 成正式资产时使用。
SKILL.mdpackages/learning-evolution/skills/learning-evolution/SKILL.md
GitHubLearning Evolution
把“这次值得留下什么”变成明确出口,而不是模糊笔记。这个 skill 先做第一阶段 Observation -> Selection -> Representation,只有用户明确要求 evolution、演化、继续 codify 正式资产时,才进入第二阶段。默认写回 .learned/rules.md、.learned/support.md、当前上下文已有记录位置,或目标正式资产。
何时使用
- 用户要求“复盘一下”“沉淀经验”“整理规则”“记录 support”“做一次 stocktake”
- 本轮出现了明确的用户纠正、重复 workflow、失败与修复链路、研究结论或验证教训
- 需要判断这条经验应该留在任务内、进入长期候选,还是直接写回正式资产
- 用户明确要求把已有候选继续演化为 skill、command、eval、README 或其他正式资产
不适用:
- 只是一次性 typo、机械改名或偶发问题
- 没有证据,只有模糊印象
- 目标资产已经非常明确,且用户只要求直接修改那个资产;此时应优先用对应 skill 或直接执行改动
核心判断
每次使用本 skill,都要把每条信号收口到以下四个出口之一:
drop- 噪音、一次性问题或证据不足,直接丢弃
keep-task-local- 只影响当前工作后续动作,写回当前上下文已有记录位置,不进入
.learned/
- 只影响当前工作后续动作,写回当前上下文已有记录位置,不进入
queue-support- 跨任务仍有价值,但暂时还不该直接改正式资产,写入
.learned/support.md
- 跨任务仍有价值,但暂时还不该直接改正式资产,写入
codify-now- 证据与目标都已足够明确,直接更新正式资产
如果最后没有落到这四个出口之一,说明这次 learning 还没整理完。
默认输入
优先读取以下材料,再开始判断:
- 当前上下文已有材料
- 若当前环境已有 brief、研究记录、工作清单或其他上下文文件,先读这些已有材料
- 本轮真实证据
- 用户纠正、diff、命令输出、验证结果、review 结论、研究记录、失败与修复过程
- 现有长期沉淀
- 需要时再读
.learned/rules.md、.learned/support.md,避免重复写同类条目
- 需要时再读
输出位置
1. keep-task-local
- 只服务当前工作的 learnings,优先写回当前上下文已有记录位置
- 至少写清:learning 是什么、影响当前工作哪一步、下一步如何消费
2. .learned/rules.md
- 只记录项目级 / 团队级 / 分发级长期规则
- 典型来源:用户明确纠正、稳定接受 / 拒绝标准、长期口径修正
- 每条至少写:规则、证据、建议落点、下一步
3. .learned/support.md
- 只记录跨任务长期候选的“资产支撑卡”
- 它不是普通 notes;每条都必须回答“它在支持什么资产”
- 每条至少写:类型、触发、证据、原料、建议动作
4. codify-now
当证据足够、目标资产明确、且本轮允许演化时,直接更新正式资产:
- 规则 ->
AGENTS.md、README、skill、eval 或其他长期文档 - 可复用 workflow -> skill 或 command
- 验证标准 -> eval
- 说明性沉淀 -> README 或包内文档
两阶段动作
第一阶段:Observation -> Selection -> Representation
这是默认动作,不需要用户额外说明:
Observation- 列出本轮值得看的信号:用户纠正、重复 workflow、失败修复、研究判断、验证结果
- 没有证据的印象,不进入长期沉淀
Selection- 判断每条信号的作用域:
task-local|project|cross-task - 判断每条信号的出口:
drop|keep-task-local|queue-support
- 判断每条信号的作用域:
Representation- 把选择结果写回当前上下文已有记录位置、
.learned/rules.md、.learned/support.md - 不要只停留在对话里
- 把选择结果写回当前上下文已有记录位置、
第二阶段:Evolution
Evolution 不是默认动作。只有在以下条件同时满足时才执行:
- 用户明确要求
evolution、演化、继续 codify、收敛正式资产,或当前任务目标本身就是正式沉淀 - 目标资产可以明确指向
- 证据足以支撑修改
进入第二阶段后,再继续判断是否 codify-now。没有明确演化信号时,即使已经写了 rules 或 support,也不要自动升级为正式资产。
执行步骤
- 确认边界
- 判断本轮只是做第一阶段,还是已经允许进入
Evolution - 若当前环境已有既定工作面或更新约束,先读取现有口径
- 判断本轮只是做第一阶段,还是已经允许进入
- 收集信号
- 只保留有证据的信号
- 相同模式优先合并,不重复记碎片
- 逐条选择出口
- 当前工作内可消费 ->
keep-task-local - 长期规则 ->
rules.md - 资产原料但暂不正式化 ->
support.md - 已允许演化且目标明确 ->
codify-now
- 当前工作内可消费 ->
- 落盘
- 先把结果写进对应文件
- 不新建随意命名的临时 learnings 文件
- 如允许 Evolution,再正式沉淀
- 更新目标 skill / command / eval / README /
AGENTS.md - 必要时同步相应说明或分发副本
- 更新目标 skill / command / eval / README /
- 如当前工作口径变化,继续同步受影响记录
- 若这次沉淀改变了当前工作范围、方案或后续动作,更新现有工作文件
- 若当前环境已有任务清单或协作工作面,也同步回写
自动化接入
这个 skill 允许未来接入自动观察层,但自动化只负责发现信号,不负责替你做最终判断:
manual-first- 用户或 agent 显式触发
reminder-first- 在阶段结束、
Stop、stocktake 时提醒是否需要学习沉淀
- 在阶段结束、
observation-first- 用 hooks / observer 自动采集 prompt、tool use、diff、session event,再交给本 skill 判断出口
无论采用哪条路径,都不能绕过作用域判断、证据判断和出口判断;没有明确 Evolution 指令时,也不能自动进入正式资产演化。
纪律约束
- 不要把
support.md当杂记桶;回答不了“支持什么资产”的内容,不应进入support.md - 不要把 task-local learnings 与长期候选混在一起
- 不要把用户对 agent 的当场纠正原样写回 prompt 正文,应提炼为稳定规则或支持卡
- 若已有相同候选,优先更新原条目,不要制造碎片
- 若证据与目标已经足够明确,不要只留候选,应继续
codify-now - 不要默认把所有高价值经验都沉淀成 skill;
rules、doc、eval同样是正式出口
模板
需要模板时,读取 references/templates.md。