| name | maintain-learnings |
| description | 维护 .learnings/ 经验库,把过多或反复出现的学习记录、错误日志、规则失效问题聚类诊断,追溯并修改对应 skill、模板、hook、校验脚本或项目规则;修复并验证后再归档或移除已解决记录;同时检查多个 agent skill 目录之间的共享功能同步。用户提到 learnings 太多、错误反复犯、清理经验库、维护自我学习、压缩错误日志、从错误中修技能、同步多 agent 技能时触发。 |
maintain-learnings(经验库维护)
让 .learnings/ 保持小而有用:它是发现流程缺陷的雷达,不是永久堆放错误的仓库。重复错误必须优先修源头,验证有效后再清理活跃记录。
Step 1: 审计经验库
先读取:
.learnings/RULES.md
.learnings/LEARNINGS.md
.learnings/ERRORS.md
然后运行审计脚本。通用示例:
python3 <skills-dir>/maintain-learnings/scripts/audit_learnings.py --root . --skills-dir <skills-dir> --rules-file <entry-file> --hooks-path <hooks-dir>
Codex 内置 profile 示例:
python3 .agents/skills/maintain-learnings/scripts/audit_learnings.py --root . --skills-dir .agents/skills --rules-file AGENTS.md --hooks-path .codex/hooks
Claude Code 内置 profile 示例:
python3 .claude/skills/maintain-learnings/scripts/audit_learnings.py --root . --skills-dir .claude/skills --rules-file CLAUDE.md --hooks-path .claude/hooks
Step 2: 选择修复目标
优先处理:
- 活跃记录中同一 skill 出现 2 次及以上。
- 历史归档和活跃记录合计出现 3 次及以上。
- 已写入
RULES.md 但仍在 ERRORS.md / LEARNINGS.md 中复发。
- 活跃文件超过 100 行且包含明显重复主题。
Step 3: 追溯源头
根据审计报告读取对应源文件:
- skill 问题:
<skills-dir>/<skill>/SKILL.md
- skill 模板问题:
<skills-dir>/<skill>/references/
- 项目规则问题:
AGENTS.md / CLAUDE.md / INSTRUCTIONS.md / 项目自定义规则文件
- hook 问题:
.codex/hooks/ / .claude/hooks/ / 项目自定义 hook
- 工具脚本问题:对应
scripts/
Step 4: 修改机制
修复必须落到可执行机制之一:
- 在对应
SKILL.md 中加入明确步骤、硬性约束或验证 checklist。
- 修改 reference 模板,使正确格式自然生成。
- 添加或修改校验脚本,让错误能被自动发现。
- 更新项目规则,但只提升跨 skill 的铁律。
不要只把“下次注意”追加到 .learnings/。如果没有源头修改,不能清理对应错误记录。
Step 5: 验证修复
至少验证两件事:
- skill 元数据存在:
python3 -c 'from pathlib import Path; p=Path("<skills-dir>/<skill>/SKILL.md"); t=p.read_text(encoding="utf-8"); assert t.startswith("---\n") and "\n---" in t[4:]; assert "name:" in t and "description:" in t; print("skill metadata ok")'
- 每条待归档记录都能对应到新的步骤、模板或校验逻辑。
Step 6: 多 Agent 同步守护
如果项目同时使用多个 agent profile,修改任何共享 skill 后都运行同步检查。默认会比较 agents 与 claude:
python3 .agents/skills/maintain-learnings/scripts/sync_platform_skills.py --root . --skill <skill>
自定义 profile 示例:
python3 .agents/skills/maintain-learnings/scripts/sync_platform_skills.py --root . --platform generic=.agent/skills --base-platform agents --compare-platform generic --skill <skill>
如果目标侧缺失,先 dry-run:
python3 .agents/skills/maintain-learnings/scripts/sync_platform_skills.py --root . --from-platform agents --to-platform claude --skill <skill>
确认后应用:
python3 .agents/skills/maintain-learnings/scripts/sync_platform_skills.py --root . --from-platform agents --to-platform claude --skill <skill> --apply
保留平台专属内容:
- Codex UI 元数据(如
agents/openai.yaml)只留在 .agents/。
- Claude Code 的 hooks / settings 只按 Claude Code 规则处理。
- 其他 agent 的入口文件、Hook、工具权限和运行限制也应保留在各自 profile 中。
- 不用一侧版本覆盖另一侧专属命令、Hook、工具说明和平台限制。
Step 7: 清理活跃 learnings
只处理已经验证修复的记录:
- 在
.learnings/archive/YYYY-MM-DD-maintenance.md 追加归档块,包含原记录摘要、修复路径、验证方式、处理结果。
- 从
.learnings/LEARNINGS.md 或 .learnings/ERRORS.md 移除对应详细记录。
- 保留或更新
.learnings/RULES.md 中的简短铁律。
- 未修复、未验证或仍需观察的记录继续留在活跃文件中。
禁止行为
- 不要为了“变短”直接清空
.learnings/。
- 不要归档未修复的问题。
- 不要把多个不同根因的错误合并成一条模糊规则。
- 不要把只适用于某个 skill 的细节提升到项目总规则。