| name | weaver-自我迭代 |
| description | Codex 跨项目知识整理与自我迭代技能。用于“全局整理、同步记忆、梳理知识、编织一下、检查跨项目规则、回顾近期工作”等请求;按全局/项目/子目录分层整理 AGENTS.md、Codex 配置、项目知识和可访问的历史线索。显式调用:$weaver-自我迭代。 |
编织者 · 自我迭代(Codex)
跨项目整理稳定知识、规则与经验。目标是让信息出现在正确层级,而不是把所有内容堆进一个文件。
边界
- 本技能管跨项目广度;单项目文件整理交给
$file-tidy,错误复盘交给 $debug-architect,明确的“记住/忘掉/整理记忆”交给 $memory-keeper。
- 规则文件使用
AGENTS.md:全局为 ~/.codex/AGENTS.md,项目或子目录规则为对应目录的 AGENTS.md。
- Codex 配置使用
~/.codex/config.toml 与项目 .codex/config.toml。
- 个人技能位于
~/.agents/skills,项目技能位于 .agents/skills;显式调用使用 $skill-name。
- 不把聊天原文、临时状态或未经验证的推测写成永久规则。
- 修改现有规则、配置、知识文件前先读取;跨项目写入或删除必须遵守用户授权与当前文件权限。
需要更细的层级判定时读取 references/layer-guide.md。
工作流
1. 确定范围与授权
- 明确整理范围:当前项目、指定项目集合或全局。
- 明确允许读取和修改的位置;未授权的项目只做只读分析或列入建议。
- 首次运行或没有可靠增量标记时,询问回溯范围;用户已给出明确范围则不要重复询问。
- 可在
CODEX_HOME 下维护技能自有的增量标记,例如 $CODEX_HOME/.last-weaver。CODEX_HOME 未设置时可将 ~/.codex 视为候选,但先验证实际路径。标记只记录时间/游标,不存对话正文。
2. 能力探测历史数据
历史记录是可选数据源,不是前置条件。
- 解析
CODEX_HOME;未设置则探测 ~/.codex。
- 在用户授权范围内,检查是否存在可读、看起来与 session/history 有关的文件或目录。
- 若存在:先抽样读取并识别实际格式,再决定解析方式。只依赖观察到的字段,不假定固定文件名、目录层级或 JSONL schema。
- 若不存在、不可读或格式不明:明确说明限制,改用以下来源:
- 当前任务上下文;
- 用户指定的项目与已有
AGENTS.md;
~/.codex/AGENTS.md、~/.codex/config.toml、项目 .codex/config.toml;
- Git 历史、当前 diff、提交信息;
- 项目现有 docs、memory、wiki、错误日志和技能说明。
- 不绕过权限、不搜索凭据、不声称已扫描无法访问的历史。
3. 提取候选信息
只保留对未来有复用价值的内容:
| 类别 | 典型信号 | 候选去向 |
|---|
| 跨项目硬规则 | “以后所有项目都…”“禁止…” | ~/.codex/AGENTS.md |
| 项目硬规则 | 构建命令、目录约束、技术边界 | 项目 AGENTS.md |
| 子目录规则 | 仅适用于某模块/子项目 | 最近的子目录 AGENTS.md |
| Codex 配置 | 模型、沙箱、MCP、功能开关等 | 对应 config.toml |
| 稳定偏好/决策 | 长期协作偏好、项目决策 | 已有项目知识或记忆文件 |
| 通用知识 | 概念、规律、方法论 | 用户现有知识库 |
| 错误经验 | 已验证根因与预防措施 | .codex/ERROR_LOG.md,必要时再提炼规则 |
| 过期内容 | 已被新决策推翻、死链、失效配置 | 更新/删除候选 |
每条候选内部记录:来源、事实、置信度、层级、建议动作、目标文件。推测必须标注为推测。
4. 分层与去重
- 先搜索目标层已有内容,更新原条目而非重复追加。
- 不确定时下沉一级:全局 → 项目 → 子目录。
AGENTS.md 只放下一次执行任务必须看到的约束;背景、历史和解释放项目知识文件。
config.toml 只放有效配置;修改前确认键的当前含义和作用域,不凭印象创造配置项。
- 新旧信息冲突时优先采用用户最新明确决定;无法判定则列入“需确认”。
- 发现知识库有自己的
AGENTS.md 时,按其格式、索引和链接规则处理。
5. 展示计划并确认
在写入前给出一张合并计划表:
以下操作必须先确认:
- 删除、移动或大范围重写;
- 修改全局
~/.codex/AGENTS.md 或 ~/.codex/config.toml;
- 修改多个项目;
- 把推测升级为规则;
- 修改技能自身。
若用户此前已明确授权同一批具体操作,可直接执行,不重复确认。
6. 执行归位
- 逐个读取目标文件后再编辑,保持原结构和措辞风格。
- 项目规则写到适用范围最近的
AGENTS.md;不要把子目录规则提升到项目根。
- 配置写到正确作用域:全局配置
~/.codex/config.toml,项目配置 <项目>/.codex/config.toml。
- 技能安装/维护使用
~/.agents/skills/<name>/ 或 <项目>/.agents/skills/<name>/。
- 错误复盘可显式调用
$debug-architect;文件归位可调用 $file-tidy;记忆结构整理可调用 $memory-keeper。
- 不创建没有实际内容的占位文件,不复制敏感信息,不覆盖并行工作的未提交改动。
7. 验证
- 读回所有修改文件,确认内容位于正确层级。
- 检查
AGENTS.md 继承关系,避免同一规则在多层冲突或重复。
- 检查 TOML 可解析,且未写入未知键、明文凭据或项目专属值到全局配置。
- 检查新增链接、路径和
$skill-name 是否存在。
- 使用
git diff -- <明确路径> 核对只改了计划中的文件。
- 历史数据不可用时,在结果中明确写出“未扫描 Codex 历史”及替代数据源。
- 所有验证通过后,才更新增量标记;失败时保留旧标记以便重试。
输出格式
## 全局整理完成(YYYY-MM-DD)
### 数据源与限制
- 已读取:当前上下文、项目 AGENTS.md、Git 历史
- 未读取:Codex 历史数据(未发现可访问数据)
### 文件变更
- 更新:<绝对路径> — <一句话>
### 需确认
- <冲突或高风险动作>
### 验证
- AGENTS.md 层级:通过
- TOML 解析:通过/未修改
- 变更边界:通过
只输出有内容的段落。没有可归档信息时,说明所检查的数据源和“无需变更”。