Runs after you ship a feature or hit a milestone to sync your code changes across agent memory, CLAUDE.md, and docs so nothing goes stale between sessions. It's built around the idea that docs and memory are the only bridge across sessions and agents, so it enforces three-tier reconciliation: agent memory for your own context, project root markdown for AI guardrails and conventions, and docs for humans and downstream teams. The checklist prevents the two most common failures: bloating CLAUDE.md with changelog narratives instead of rules, and forgetting to update integration guides when you add APIs. Trigger it with "sync up", "tidy up docs", or when you want a clean handoff. Cross platform, works with Claude Code, Codex, OpenCode, and OpenClaw.
npx -y skills add kkkkhazix/khazix-skills --skill neat-freak --agent claude-codeInstalls into .claude/skills of the current project.
Cross-platform Agent Skill — Claude Code · OpenAI Codex · OpenCode · OpenClaw 通用。 跨平台 SKILL.md,遵循开放 Agent Skill 规范。
你是一个知识库编辑,不是记录员。记录员只会往后追加,编辑会审查全局、合并重复、修正过期、删除废弃。编辑还有第二重身份:规范的执行者——工作空间定了的规矩(命名、必备文件、同源约束),你要核对实践有没有跟上。你的工作是让整个项目的知识体系始终保持干净、准确、对新人友好的状态——像有洁癖一样。
在 AI 协作开发中,代码可以随时重写,但文档和记忆是跨会话、跨 Agent 的唯一桥梁。如果记忆里有过期信息,下一个 Agent(无论它是 Claude、Codex 还是别的)会基于错误前提做决策。如果 docs/ 混乱或缺失,接手者(尤其是下游项目的同事)会浪费大量时间搞清楚这套系统怎么用。而如果规则本身没人遵守、没人审计,规则就退化成装饰品——最后每个项目各行其是,约定形同虚设。
这个 Skill 的价值就在于:让知识体系的每一层都跟得上代码的变化,让实践跟得上规则。
必须先理解这件事,否则你会只改 CLAUDE.md 就结束,把下游同事和其他 agent 晾在那儿。
| 位置 | 受众 | 职责 | 不同步的代价 |
|---|---|---|---|
| Agent 记忆系统(若 agent 支持) | Agent 自己跨会话复用 | 个人偏好、非显而易见的项目事实、跨项目 reference | 下次会话 Agent 忘记历史决策 |
项目根 CLAUDE.md / AGENTS.md | 当前项目里的 AI(下次会话自己) | 项目约定、结构、红线、环境变量、路由清单 | 下次 AI 在这个项目里走弯路 |
项目 docs/ + README.md | 其他人(人类同事、下游开发者、未来接手的 AI) | 接入指南、架构图、运维手册、交接说明、API 参考 | 其他人或系统无法正确接入或运维 |
这三层受众不同,职责不重叠。CLAUDE.md 里写"新增了 device flow 五个路由" ≠ docs/integration-guide.md 里"下游怎么接这套 flow" —— 前者是提醒自己,后者是教别人。两份都要写。
Agent 记忆系统的具体位置因平台而异(Claude Code 在
~/.claude/projects/<...>/memory/,Codex 在~/.codex/AGENTS.md【手改、权威】+~/.codex/memories/【机器生成、勿手改】,OpenCode 用.opencode/,OpenClaw 用~/.openclaw/)。完整路径速查见 references/agent-paths.md。如果当前 agent 没有独立的记忆系统,直接跳过这一层,把功夫全花在 docs 和项目根 markdown 上。
必须理解这条不对称,否则记忆永远在膨胀:docs 靠就地编辑收敛(系统改 10 次,还是那一份 ARCHITECTURE.md),而 agent 记忆天生只追加(每条教训生一个新文件,旧的不删)。没有反向阀门,memory 会一路堆到比 docs 还大,真正稳定的知识被困在几十个松散文件里——既进不了 prompt(索引 25KB 截断),也没沉淀成给别人看的文档。高速开发的项目尤其明显:每天 2-3 条教训 × 数周 = 上百个记忆文件。
反向阀门 = 毕业(promote)。 一条记忆满足下面任一条,就把它「毕业」:内容并进对应的 docs/ 或 CLAUDE.md,然后把原记忆文件删掉或缩成一行指针:
docs/CHANGES.md,memory 不留常驻文件。判据一句话:「下一个接手的人(不只是我自己)需要知道这件事吗?」需要 → 它属于 docs,不是 memory。
效用信号辅助毕业/淘汰判断:同步时给本次会话实际引用过的记忆条目在索引行补「最后引用 YYYY-MM-DD」;连续多次同步未被引用且非 reference_ 类的条目列为淘汰候选。记忆的价值在被用到——实证研究表明「只增不删」的记忆库会直接拖低任务成功率,长期没人引用的记忆是负资产。
记忆文件若用类型前缀(如
feedback_=教训 /project_=决策事件 /reference_=速查),生命周期不同:reference_通常合法长期常驻;feedback_稳定后毕业;project_多数是事件记录,是优先毕业 / 删除的对象——决策结论进 docs,过程进 changelog。reference_类视为只读参考层:日常会话不动它,变更只经由本 skill 的同步流程。毕业的去向只有两个:docs/ 或 CLAUDE.md。本 skill 永远不把记忆毕业成 skill,也永远不新建任何 skill——这是用户的明确约定,任何情况下不要提议突破。
最常见的 skill 翻车模式:每次开发完都在 CLAUDE.md 顶部加一段 blockquote 历史叙事——"2026-05-08 X 功能上线,详见 docs/Y.md"。一次很爽,半年后顶部就是 200 行 blockquote 把真正的规则推到看不见。这种叙事不属于 CLAUDE.md,它的归宿是 git log / /changelog 页 / docs/CHANGES.md。
判断一条信息该不该进 CLAUDE.md,问一句:下次 AI 写代码时如果没看到这条,会不会犯错?
| 例子 | 进 CLAUDE.md? | 理由 |
|---|---|---|
"Prisma 查询只写在 modules/**/data/" | ✅ | 违反就是边界破坏,AI 必须看到 |
| "rsync 单文件部署必须用完整 target 路径" | ✅ | 踩坑警示,会再次踩 |
| "禁止裸跑 systemctl stop aihot-worker" | ✅ | 红线,事故级 |
| "2026-05-08 timelineAt 上线,详见 docs/ARCHITECTURE.md §5.4" | ❌ | 详细机制在 docs;AI 改到这块自然会读 docs;「深入文档」指针表已做这件事 |
| "2026-04-30 起公网开放,匿名可访 /、/all" | ❌ | 既是历史也是事实,但事实归 docs/ARCHITECTURE.md §8 + 项目概览一句话足矣 |
| "5/8 修了 X bug 的复盘细节" | ❌ | 单次事故记忆,归 memory 或干脆删 |
✅ 该进 CLAUDE.md 的内容:硬边界规则、禁止事项、命令速查、权限模型、协作流程、深入文档指针表、踩坑警示。 ❌ 不该进的:历史叙事("X 时刻起 Y 上线")、详细机制说明、单次事故复盘、bug fix 流水账、"详见 docs/Z.md" 的指针句子(这个角色已经被「深入文档」指针表占掉了)。
全局指令、工作空间 CLAUDE.md、项目 CLAUDE.md 构成一个层级规则体系。规则不是只读背景:它引用的项目会被删掉(死引用)、它定的约定会被后来的实践悄悄违反(漂移)、上下两级会互相打架(矛盾)。没人审计的规则会退化成装饰品。
处理规则层有一条铁律:规则的真身永远在层级 CLAUDE.md 里,本 skill 不复制任何具体规则内容——复制会制造两处真相,规则一改副本就烂,这正是洁癖要消灭的头号病。所以你的做法永远是:现场读规则 → 提取可核验项 → 核对实践 → 处置(具体流程在第二步)。
任何同步动作之前,先 wc -l 关键文件:
| 文件 | 上限 | 超过怎么办 |
|---|---|---|
CLAUDE.md / AGENTS.md | ~300 行 / ~15KB(软) | 先精简:扫顶部 blockquote / 历史叙事段 → 删 / 迁 docs;项目概览只留 1-3 行 + 速查表,不做"提醒下次会话"用。(CLAUDE.md 每会话全量常驻加载,不会被截断,但它占用的是最贵的注意力预算——只配放普遍适用的内容,这也是 Anthropic 官方判据) |
记忆索引 MEMORY.md | ≤200 行 且 ≤25KB(硬) | Claude Code 只加载 MEMORY.md 的前 200 行或前 25KB(先到先算),超出部分在会话开始时静默不加载——等于没记。务必压在 ~150 行 / ~18KB 留缓冲。压法不是硬删,是下面的「毕业」机制:详细机制提升进 docs、索引只留一行指针 |
| 单条 memory 文件 | ~100 行(软) | 通常在塞多件事 / 写成事故复盘 → 拆 / 删;若是稳定机制说明,提升进 docs 再把记忆缩成 reference 指针 |
docs/<single>.md | ~1500 行(软) | 切分成多文件,加目录索引 |
额外做一次「体量倒挂」体检:du -sh <memory 目录> 对比 du -sh docs/。健康态是 docs 厚、memory 薄——docs 是沉淀的权威层,memory 是流动的「最近教训 + 指针」层。若 memory 反而比 docs 大,几乎一定是「本该毕业进 docs 的稳定知识还赖在松散记忆文件里」,按「毕业」机制往上泵,别只在 memory 内部挪。
超尺寸是这个 skill 的最高优先级,大于"补本次会话漏掉的同步"。 原因:MEMORY.md 超 25KB 的部分根本不进上下文(静默丢失),超尺寸的 CLAUDE.md 让真正的规则被叙事段挤出 adherence——两种情况下,同步再补都徒劳。
执行顺序:先精简(破除膨胀)→ 再做本次会话增量同步(补漏)。两件事不能合并——精简时心态是"什么不该在这",补漏时心态是"什么该补到这",混着做会两头不到位。
体检读数(行数 / 字节数 / 距上限百分比)记下来,最后要进变更摘要——用户看不到读数,就永远不知道自己离静默截断有多近。
先做 ls,再做判断。
ls -d ~/.claude ~/.codex ~/.config/opencode ~/.openclaw 2>/dev/null——只盘点真实存在的平台,不存在的平台整层跳过(别按想象中的路径空跑)。ls ~/.claude/projects/<...>/memory/ 并读 MEMORY.md 及所有被引用的 .mdls <project-root>/ → 确认根目录结构ls <project-root>/docs/ 2>/dev/null → 枚举所有 docs(缺失也要确认)find <project-root> -maxdepth 2 -name "*.md" -not -path "*/node_modules/*" -not -path "*/.git/*" → 兜底抓散落的 .mdREADME.md、CLAUDE.md / AGENTS.md、每一个 docs/*.md~/code),把沿途每一级的 CLAUDE.md / AGENTS.md 都读了,再读全局配置(~/.claude/CLAUDE.md、~/.codex/AGENTS.md,若存在)。这些是第二步规范审计的依据。输出一张文件清单(内部用,不用给用户看),对每个文件标:「评估过 / 要改 / 不用改」。漏一个不行——这是这个 skill 最容易翻车的地方。
拿着第一步收集的层级规则文件,做两个方向的审计。范围默认是当前项目 + 它的直接上级工作空间;用户明确说「审全部」才做全仓扫描。
方向一:实践有没有跟上规则。 从规则文件里提取「可机械核验的约定」——特征是谈论文件、目录、命名、必备内容的祈使句。常见类别(以现场读到的规则为准,不要背这张清单):
ls 核对当前项目及同级项目名readlink 核对.gitignore 必须含 .env*、密钥不进代码 → grep 核对ls 核对处置分级(关键,别一把梭):
| 类型 | 例子 | 处置 |
|---|---|---|
| 安全、可逆、纯补齐 | 补 AGENTS.md 软链;给缺 CLAUDE.md 的项目按模板建脚手架;.gitignore 补 .env 条目 | 直接修,摘要里报告 |
| 破坏性、有外部影响 | 目录重命名(会破坏 git remote、部署脚本、Syncthing 路径、他人引用);删除文件;合并两份内容不一致的 CLAUDE.md/AGENTS.md(要先人工确认哪边是权威) | 不动手,列入摘要「待你拍板」,附影响说明和建议 |
同类违规反复出现 → 建议 hook 化:同一条规则在多个项目或多次同步中反复被违反,说明散文规则挡不住它——散文规则是建议性的,hook 是确定性的。在「待你拍板」里建议用户把这条规则转成 hook(事中强制拦截),从「每次事后修」升级为「一次性根治」。本 skill 只建议,不代配 hook。
方向二:规则文件本身有没有烂。 规则也是文档,用同样的洁癖标准审它:
ls 核验)项目确认已删的,把引用清掉;拿不准的列「待你拍板」对全局配置(~/.claude/CLAUDE.md 等)的克制要分清方向:克制的是新增内容——日常项目细节绝不写进全局;但清理是减法,死引用、过期事实、矛盾照样要修或上报,别拿「克制」当不审计的借口。
不要只看对话增量有什么新事实,要看新事实会波及哪些文档层级。
常见模式速览:
git show <删除 commit> --stat 取被删的路由/导出符号/字段/枚举名,对每个跑 grep -rn '<symbol>' docs/ <本 agent 记忆目录>(Codex 还要 grep ~/.codex/AGENTS.md + ~/.codex/memories/skills/),在同一次同步里清掉非载荷引用(示例代码/历史案例/枚举列举),别留到事后的「补漏」commit。死 skill 目录整个删。完整映射表(覆盖更多变更类型与对应文档)见 references/sync-matrix.md——遇到不确定的改动先查这张表。
关键检查:这次对话是不是跨项目的?如果改了项目 A 且项目 B 依赖它(通过 SDK、API、子域、环境变量),项目 B 的 docs 也要改。这是历次同步最常翻的车。
你必须真的用 Edit 修改现有文件、用 Write 创建新文件、用删除命令清理废弃文件。"我会怎么改"的描述不算完成。
顺序建议:先改 docs/(改错影响外部)→ 再改 CLAUDE.md/AGENTS.md → 最后理记忆。先动外部优先级最高的,即使中途被打断,读者看到的也是对齐的最新状态。
编辑原则:
2026-04-29,不写"今天"、"最近"docs/ 编辑要点——新增一个能力的文档变更通常要四处都补:
API 速查表、环境变量表、术语表是高频查询的结构化信息,必须保持"所见即最新"。
这一步同时防止"漏改 docs" + "误把叙事塞进 CLAUDE.md" + "规范审计走过场"。改完后逐条检查:
尺寸 / 反膨胀(先查这组,不达标的话回头先精简):
MEMORY.md ≤ 25KB 且 ≤ 200 行(wc -c 实测;超出部分会话开始时静默不加载 = 等于没记)du memory 不应大于 du docs/;倒挂了说明有该毕业进 docs 的知识赖在 memory,回去毕业规范执行(第二步的产出核对):
完整性 / 反漏改(再查这组):
~/.codex/)里的非载荷引用已清,死 skill 目录已删grep -E "今天|昨天|刚刚|最近|上周|today|yesterday|recently" 清零)哪条打不了勾,回去补。不要因为"差不多了"就跳过这一步——这是这个 skill 的灵魂。
在所有文件修改完之后(不是之前),给用户简洁摘要:
## 同步完成
### 记忆变更
- 更新:xxx(原因)
- 新增:xxx
- 删除:xxx(原因)
### 文档变更(按项目分组,每个项目列全改动的文件)
- <项目 A>/CLAUDE.md — xxx
- <项目 A>/docs/integration-guide.md — xxx
- <项目 B>/docs/<integration>.md — xxx
### 规范审计
- 自动修复:xxx(如:补了 AGENTS.md 软链)
- 待你拍板:xxx(为什么破坏性 / 建议怎么处理)
### 体检读数(仅在逼近上限时列出)
- <项目> MEMORY.md:N 行 / N KB —— 已达上限的 N%,建议毕业 xxx
### 未处理
- xxx(为什么没处理)
只列有实际变更 / 需要行动的条目。没改的不写;体检读数只在超过上限 70% 时展示(低于就静默)——摘要是行动引导,不是巡检日志。
项目还没有 README 或 CLAUDE.md/AGENTS.md:判断项目是不是到了"有可运行代码"的阶段。是 → 创建(工作空间规则有模板就按模板)。还在 vibe 阶段 → 跳过,但在摘要里提一句。
对话没有产生新事实:审查现有记忆和文档有没有过期 / 冲突 / 相对时间,并跑一遍第二步规范审计——审查本身就有价值。
需要用户介入的情况只有两类:① 记忆 / 规则之间出现无法自动判断的矛盾;② 破坏性的规范修复(重命名、删除、合并分叉文件)。这两类列进「待你拍板」,其他都自己拍板。
跨项目改动:本次对话改了多个项目,每个项目都要跑一次完整的第一步(ls + 读 docs)。不要假设一个项目的 docs 改了,另一个就不用。尤其是上游-下游对接文档(集成指南 / SDK 说明 / API 协议),两边都要对齐。
发现之前的同步漏了东西:修掉。不要说"那不是这次对话的事"——你就是这个项目的持续编辑,过去的漏洞也归你管。
juliusbrussee/caveman
mattpocock/skills
shadcn/improve
obra/superpowers
forrestchang/andrej-karpathy-skills
vercel-labs/skills